View
296
Download
4
Category
Preview:
DESCRIPTION
Циклические коды. Проверочный и порождающий многочлены, критерий существования кода с заданным порождающим многочленом. Вид порождающей и проверочной матриц. Систематическое кодирование. Граница Боуза—Чоудхури—Хоквингема.
Citation preview
Теория кодированияМФТИ, осень 2013
Александр Дайняк
www.dainiak.com
Циклический код
Циклический код — это линейный код, такой, что для любого кодового слова 𝑎0, 𝑎1 … , 𝑎𝑛−1слово 𝑎𝑛−1, 𝑎0 … , 𝑎𝑛−2 также является кодовым.
Т.е. циклический сдвиг кодового слова также является кодовым словом.
Циклический код
Например, 7,4,3 -код Хемминга эквивалентен циклическому коду с проверочной матрицей
1 1 1 0 1 0 00 1 1 1 0 1 00 0 1 1 1 0 1
Алгебраическое определение циклических кодовСопоставим слову
𝑎0, … , 𝑎𝑛−1 ∈ 𝔽𝑞𝑛
многочлен𝑓 ≔ 𝑎0 + 𝑎1𝑥 + 𝑎2𝑥2 + ⋯ + 𝑎𝑛−1𝑥𝑛−1 ∈ 𝔽𝑞 𝑥
Тогда слову 𝑎𝑛−1, 𝑎0 … , 𝑎𝑛−2 отвечает многочлен𝑎𝑛−1 + 𝑎0𝑥 + 𝑎1𝑥2 + ⋯ + 𝑎𝑛−2𝑥𝑛−1 = 𝑥 ⋅ 𝑓 − 𝑎𝑛−1 𝑥𝑛 − 1
Алгебраическое определение циклических кодовПерейдём в кольцо 𝔽𝑞 𝑥 𝑥𝑛 − 1 .
Слову 𝑎0, … , 𝑎𝑛−1 отвечает элемент кольца𝑓 = 𝑎0 + 𝑎1𝑥 + 𝑎2𝑥2 + ⋯ + 𝑎𝑛−1𝑥𝑛−1,
а слову 𝑎𝑛−1, 𝑎0 … , 𝑎𝑛−2 отвечает элемент𝑥 ⋅ 𝑓 − 𝑎𝑛−1 𝑥𝑛 − 1 =
в кольце𝑥 ⋅ 𝑓
Вывод: циклический сдвиг слова эквивалентен умножению соответствующего многочлена на 𝑥 в кольце 𝔽𝑞 𝑥 𝑥𝑛 − 1 .
Алгебраическое определение циклических кодовЦиклический код — это подмножество 𝐶 кольца 𝔽𝑞 𝑥 𝑥𝑛 − 1 , такое, что
• 𝑓1, 𝑓2 ∈ 𝐶 ⇒ ∀𝛼, 𝛽 ∈ 𝔽𝑞 𝛼𝑓1 + 𝛽𝑓2 ∈ 𝐶
• 𝑓 ∈ 𝐶 ⇒ 𝑥 ⋅ 𝑓 ∈ 𝐶
Циклический код — идеал кольца
Утверждение.Для любого ц.к. 𝐶 ⊆ 𝔽 𝑥 𝑥𝑛 − 1 выполнено
𝑓 ∈ 𝐶 ⇒ ∀𝑔 ∈ 𝔽 𝑥 𝑥𝑛 − 1 𝑓 ⋅ 𝑔 ∈ 𝐶
Доказательство: утверждение непосредственно следует из алгебраического определения ц.к.
Циклический код — идеал кольца
Утверждение.Любой циклический код 𝐶 ⊆ 𝔽 𝑥 𝑥𝑛 − 1 может быть представлен в виде
𝑓 ⋅ 𝑔 ∣ 𝑓 ∈ 𝔽 𝑥 𝑥𝑛 − 1для некоторого фиксированного многочлена 𝑔.
Циклический код — идеал кольца
Доказательство:
Пусть 𝐶 — ц.к. Рассмотрим 𝑔0 ∈ 𝐶, такой, чтоdeg 𝑔0 = min
𝑔∈𝐶
𝑔≢0
deg 𝑔
Тогда любой многочлен 𝑓 ∈ 𝐶 кратен 𝑔0. Действительно, поделим 𝑓 на 𝑔0 c остатком:
𝑓 𝑥 = 𝑔0 𝑥 ⋅ 𝑓 𝑥 + 𝑟 𝑥
где deg 𝑟 < deg 𝑔0.
Но 𝑟 = 𝑓 − 𝑓 ⋅ 𝑔0 ∈ 𝐶, а значит 𝑟 ≡ 0.
Единственность порождающего многочленаНормированный многочлен — это многочлен с коэффициентом 1при мономе старшей степени.
Утверждение.В любом ц.к. ненулевой нормированный многочлен минимальной степени единственен.
Этот многочлен называется порождающим многочленомциклического кода.
Единственность порождающего многочлена
Доказательство:
Допустим, что в коде 𝐶 нашлись два разных нормногочленаминимальной степени:
𝑔1 𝑥 = 𝑥𝑙 + ⋯𝑔2 𝑥 = 𝑥𝑙 + ⋯
Но тогда 𝑔1 − 𝑔2 ∈ 𝐶 и deg 𝑔1 − 𝑔2 < 𝑙 — это противоречит минимальности 𝑙.
Критерий существования циклического кода
Теорема.Нормногочлен 𝑔 ∈ 𝔽 𝑥 𝑥𝑛 − 1 может быть порождающим многочленом циклического кода т. и т.т., когда он является делителем многочлена 𝑥𝑛 − 1 в кольце 𝔽 𝑥 .
Критерий существования циклического кода: достаточность
Доказательство 𝑔| 𝑥𝑛 − 1 ⇒ ∃ц. к.
Пусть 𝑔 𝑥 ∣ 𝑥𝑛 − 1 .
Положим𝐶 ≔ 𝑓𝑔, где 𝑓 ∈ 𝔽 𝑥 𝑥𝑛 − 1
Очевидно, 𝐶 — циклический код.
Осталось доказать, что 𝑔 — порождающий многочлен кода 𝐶, то есть что в 𝐶 любой ненулевой многочлен имеет степень > deg 𝑔, либо равен const ⋅ 𝑔.
Критерий существования циклического кода: достаточностьРассмотрим произвольный многочлен 𝑔 ∈ 𝐶.
Имеем 𝑔 = 𝑓𝑔 для некоторого 𝔽 𝑥 𝑥𝑛 − 1 .
Тогда в кольце 𝔽 𝑥 для тех же самых 𝑓 и 𝑔 и некоторого 𝑠выполнено равенство
𝑔 = 𝑓 ⋅ 𝑔 + 𝑠 ⋅ 𝑥𝑛 − 1
По условию, 𝑥𝑛 − 1 = 𝑟 ⋅ 𝑔 для некоторого 𝑟 ∈ 𝔽 𝑥 , следовательно
𝑔 = 𝑓 ⋅ 𝑔 + 𝑠𝑟 ⋅ 𝑔 = 𝑓 + 𝑠𝑟 ⋅ 𝑔
Критерий существования циклического кода: достаточностьИтак, в кольце 𝔽 𝑥 для некоторых 𝑓, 𝑟, 𝑠 имеем
𝑔 = 𝑓 + 𝑠𝑟 ⋅ 𝑔
Возможны случаи:
• 𝑓 + 𝑠𝑟 ≡ 0 — тогда 𝑔 ≡ 0
• 𝑓 + 𝑠𝑟 ≡ const ≠ 0 — тогда 𝑔 = const ⋅ 𝑔
• deg 𝑓 + 𝑠𝑟 ≥ 1 — тогда deg 𝑔 > deg 𝑔
Критерий существования циклического кода: необходимостьДоказательство ∃ц. к. ⇒ 𝑔| 𝑥𝑛 − 1
Пусть 𝐶 — циклический код в 𝔽 𝑥 𝑥𝑛 − 1 с порождающим многочленом 𝑔.
Поделим в кольце 𝔽 𝑥 с остатком 𝑥𝑛 − 1 на 𝑔:𝑥𝑛 − 1 = 𝑓 ⋅ 𝑔 + 𝑟
где deg 𝑟 < deg 𝑔.
Тогда в кольце 𝔽 𝑥 𝑥𝑛 − 1 имеем𝑟 = −𝑓 ⋅ 𝑔 ∈ 𝐶
Отсюда 𝑟 ≡ 0, то есть 𝑔| 𝑥𝑛 − 1 .
Размерность и порождающая матрица циклического кода
Утверждение.Пусть порождающий многочлен циклического кода 𝐶 ⊆ 𝔽𝑞 𝑥 𝑥𝑛 − 1 имеет вид
𝑐0 + 𝑐1𝑥 + ⋯ + 𝑐𝛼−1𝑥𝛼−1 + 𝑥𝛼
Тогда, если рассматривать 𝐶 как подпространство 𝔽𝑞𝑛, то dim 𝐶 =
𝑛 − 𝛼 и порождающая матрица кода имеет вид𝑐0 𝑐1 … 𝑐𝛼−1 1 0 … … 00 𝑐0 𝑐1 … 𝑐𝛼−1 1 0 … 0⋮ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋮0 … … 0 𝑐0 𝑐1 … 𝑐𝛼−1 1
Размерность и порождающая матрица циклического кода
Доказательство:
Очевидно, что строки матрицы𝑐0 𝑐1 … 𝑐𝛼−1 1 0 … … 00 𝑐0 𝑐1 … 𝑐𝛼−1 1 0 … 0⋮ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋮0 … … 0 𝑐0 𝑐1 … 𝑐𝛼−1 1
линейно независимы и её ранг равен 𝑛 − 𝛼 .
Остаётся доказать равенство dim 𝐶 = 𝑛 − 𝛼.
Размерность и порождающая матрица циклического кода
Для произвольного 𝑓 ∈ 𝔽𝑞 𝑥 𝑥𝑛 − 1 положим
𝐶𝑓 ≔ 𝑓 + ℎ ∣ ℎ ∈ 𝐶 .
Докажем, что если 𝑓1 ≠ 𝑓2 и deg 𝑓𝑖 < 𝛼, то𝐶𝑓1
∩ 𝐶𝑓2= ∅
Допустим, что 𝐶𝑓1∩ 𝐶𝑓2
≠ ∅. Это означает, что 𝑓1 + ℎ1 = 𝑓2 + ℎ2
для некоторых ℎ1, ℎ2 ∈ 𝐶.
Тогда 𝑓1 − 𝑓2 = ℎ2 − ℎ1 ∈ 𝐶.
Но тогда из условия deg 𝑓1 − 𝑓2 < 𝛼 вытекает, что 𝑓1 − 𝑓2 ≡ 0 —противоречие.
Размерность и порождающая матрица циклического кодаПусть
𝑓1, … , 𝑓𝑞𝛼 ∈ 𝔽𝑞 𝑥 𝑥𝑛 − 1— всевозможные многочлены степени < 𝛼.
Так как 𝐶𝑓𝑖∩ 𝐶𝑓𝑗
= ∅ при 𝑖 ≠ 𝑗, то
𝐶𝑓1+ ⋯ + 𝐶𝑓𝑞𝛼 ≤ 𝔽𝑞 𝑥 𝑥𝑛 − 1 = 𝑞𝑛
Очевидно, 𝐶𝑓𝑖= 𝐶 для каждого 𝑖, а значит
𝐶 ≤ 𝑞𝑛
𝑞𝛼 = 𝑞𝑛−𝛼
Следовательно, dim 𝐶 ≤ 𝑛 − 𝛼.
Размерность и порождающая матрица циклического кода
Доказанное утверждение:Если код 𝐶 имеет порождающий многочлен
𝑐0 + 𝑐1𝑥 + ⋯ + 𝑐𝛼−1𝑥𝛼−1 + 𝑥𝛼
то порождающая матрица кода 𝐶 имеет вид𝑐0 𝑐1 … 𝑐𝛼−1 1 0 … … 00 𝑐0 𝑐1 … 𝑐𝛼−1 1 0 … 0⋮ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋮0 … … 0 𝑐0 𝑐1 … 𝑐𝛼−1 1
Следствие.Код 𝐶 можно представить в виде
𝑓 ⋅ 𝑔 ∣ 𝑓 ∈ 𝔽 𝑥 𝑥𝑛 − 1 , deg 𝑓 < 𝑛 − 𝛼
Систематическое кодирование циклических кодов
Утверждение.У любого циклического кода существует порождающая матрица канонического вида.(Т.е. любой ц.к. допускает систематическое кодирование.)
Замечание.Важно, что сам код допускает систематическое кодирование. Не нужно переходить к эквивалентному коду.
Систематическое кодирование циклических кодов
Доказательство:
Пусть 𝑔 — порождающий многочлен, deg 𝑔 = 𝛼.
Поделим многочлены 𝑥𝛼 , 𝑥𝛼+1, … , 𝑥𝑛−1 с остатком на 𝑔:𝑥𝛼 = ℎ0 ⋅ 𝑔 + 𝑟0
⋮𝑥𝑛−1 = ℎ𝑛−𝛼−1 ⋅ 𝑔 + 𝑟𝑛−𝛼−1
Перепишем:ℎ0 ⋅ 𝑔 = 𝑥𝛼 − 𝑟0
⋮ℎ𝑛−𝛼−1 ⋅ 𝑔 = 𝑥𝑛−1 − 𝑟𝑛−𝛼−1
Систематическое кодирование циклических кодов
Имеемℎ0 ⋅ 𝑔 = 𝑥𝛼 − 𝑟0
⋮ℎ𝑛−𝛼−1 ⋅ 𝑔 = 𝑥𝑛−1 − 𝑟𝑛−𝛼−1
Каждый из многочленов ℎ𝑖 ⋅ 𝑔 принадлежит 𝐶 и имеет вид
𝑥𝛼+𝑖 + 𝑐𝑖,𝛼−1𝑥𝛼−1 + 𝑐𝑖,𝛼−2𝑥𝛼−2 + ⋯ + 𝑐𝑖,0
где 𝑐𝑖,𝑗 — некоторые коэффициенты.
Систематическое кодирование циклических кодов
Многочлены ℎ𝑖 ⋅ 𝑔 принадлежат 𝐶 и имеют вид
𝑥𝛼+𝑖 + 𝑐𝑖,𝛼−1𝑥𝛼−1 + 𝑐𝑖,𝛼−2𝑥𝛼−2 + ⋯ + 𝑐𝑖,0.
Составим из их коэффициентов порождающую матрицу кода 𝐶, она будет иметь вид
𝑐0,0 … 𝑐0,𝛼−1 1 0 … 0
𝑐1,0 … 𝑐1,𝛼−1 0 1 … 0
⋮ ⋮ ⋮ ⋱𝑐𝑛−𝛼−1,0 … 𝑐𝑛−𝛼−1,𝛼−1 0 0 … 1
Систематическое кодирование циклических кодов
Итак, у кода 𝐶 есть порождающая матрица вида
𝑐0,0 … 𝑐0,𝛼−1 1 0 … 0
𝑐1,0 … 𝑐1,𝛼−1 0 1 … 0
⋮ ⋮ ⋮ ⋱𝑐𝑛−𝛼−1,0 … 𝑐𝑛−𝛼−1,𝛼−1 0 0 … 1
Т.к. код 𝐶 циклический, то можно циклически переставить столбцы
в этой матрице, и получится искомая матрица вида 𝐼| 𝐺 ,
где 𝐼 — единичная матрица порядка 𝑛 − 𝛼 .
Проверочный многочлен
Пусть 𝑔 — порождающий многочлен кода 𝐶.
Так как 𝑔| 𝑥𝑛 − 1 , то в кольце 𝔽 𝑥 имеем𝑥𝑛 − 1 = 𝑔 ⋅ ℎ
для некоторого ℎ ∈ 𝔽 𝑥 .
Многочлен ℎ 𝑥 называется проверочным многочленом кода 𝐶.
Для любого 𝑓 ∈ 𝐶 в кольце 𝔽 𝑥 𝑥𝑛 − 1 выполнено равенство𝑓 ⋅ ℎ = 0.
Проверочная матрица циклического кода
Утверждение.Пусть проверочный многочлен циклического кода 𝐶 ⊆ 𝔽 𝑥 𝑥𝑛 − 1 имеет вид
ℎ0 + ℎ1𝑥 + ⋯ + ℎ𝑛−𝛼𝑥𝑛−𝛼
Тогда, если рассматривать 𝐶 как обычный линейный код, то его проверочная матрица будет иметь вид
ℎ𝑛−𝛼 … ℎ1 ℎ0 0 … … 00 ℎ𝑛−𝛼 … ℎ1 ℎ0 0 … 0⋮ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋮0 … … 0 ℎ𝑛−𝛼 … ℎ1 ℎ0
Проверочная матрица циклического кода
Доказательство:
Пусть проверочный многочлен циклического кода 𝐶 ⊆ 𝔽 𝑥 𝑥𝑛 − 1 имеет вид
ℎ0 + ℎ1𝑥 + ⋯ + ℎ𝑛−𝛼𝑥𝑛−𝛼
Для любого многочлена 𝑐0 + 𝑐1𝑥 + ⋯ + 𝑐𝑛−1𝑥𝑛−1 ∈ 𝐶
в кольце 𝔽 𝑥 𝑥𝑛 − 1 выполнено равенство𝑐0 + 𝑐1𝑥 + ⋯ + 𝑐𝑛−1𝑥𝑛−1 ⋅ ℎ0 + ℎ1𝑥 + ⋯ + ℎ𝑛−𝛼𝑥𝑛−𝛼 = 0
Проверочная матрица циклического кода
Для удобства формально введём ℎ𝑛−𝛼+1 = ℎ𝑛−𝛼+2 = ⋯ = 0.
В кольце 𝔽 𝑥 𝑥𝑛 − 1 выполнено равенство
0 = 𝑐0 + 𝑐1𝑥 + ⋯ + 𝑐𝑛−1𝑥𝑛−1 ⋅ ℎ0 + ℎ1𝑥 + ⋯ + ℎ𝑛−1𝑥𝑛−1
=
𝑚=0
2𝑛−2
𝑥𝑚
𝑖=0
𝑚
𝑐𝑖ℎ𝑚−𝑖
В 𝔽 𝑥 𝑥𝑛 − 1 выполнено 𝑥𝑛+𝑡 = 𝑥𝑡, отсюда
𝑚=0
2𝑛−2
𝑥𝑚
𝑖=0
𝑚
𝑐𝑖ℎ𝑚−𝑖 =
𝑚=0
𝑛−1
𝑥𝑚
𝑖=0
𝑚
𝑐𝑖ℎ𝑚−𝑖 +
𝑚=0
𝑛−1
𝑥𝑚
𝑖=𝑚+1
𝑛−1
𝑐𝑖ℎ𝑚+𝑛−𝑖
Проверочная матрица циклического кода
В кольце 𝔽 𝑥 𝑥𝑛 − 1 выполнены равенства
0 =
𝑚=0
𝑛−1
𝑥𝑚
𝑖=0
𝑚
𝑐𝑖ℎ𝑚−𝑖 +
𝑚=0
𝑛−1
𝑥𝑚
𝑖=𝑚+1
𝑛−1
𝑐𝑖ℎ𝑚+𝑛−𝑖
Отсюда при каждом 𝑚 ∈ 0, … , 𝑛 − 1 должно быть выполнено
𝑖=0
𝑚
𝑐𝑖ℎ𝑚−𝑖 +
𝑖=𝑚+1
𝑛−1
𝑐𝑖ℎ𝑚+𝑛−𝑖 = 0
Проверочная матрица циклического кодаПри каждом 𝑚 ∈ 0, … , 𝑛 − 1 должно быть выполнено
𝑖=0
𝑚
𝑐𝑖ℎ𝑚−𝑖 +
𝑖=𝑚+1
𝑛−1
𝑐𝑖ℎ𝑚+𝑛−𝑖 =
𝑖=0
𝑛−1
𝑐𝑖ℎ 𝑚−𝑖 mod 𝑛 = 0
При 𝑚 ∈ 𝑛 − 𝛼, … , 𝑛 − 1 уравнения
𝑖=0
𝑛−1
𝑐𝑖ℎ 𝑚−𝑖 mod 𝑛 = 0
как раз и задаются матрицей
ℎ𝑛−𝛼 … ℎ1 ℎ0 0 … … 00 ℎ𝑛−𝛼 … ℎ1 ℎ0 0 … 0⋮ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋮0 … … 0 ℎ𝑛−𝛼 … ℎ1 ℎ0
Проверочная матрица циклического кода
Доказали, что кодовые слова удовлетворяют системе, задаваемой матрицей
ℎ𝑛−𝛼 … ℎ1 ℎ0 0 … … 00 ℎ𝑛−𝛼 … ℎ1 ℎ0 0 … 0⋮ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋮0 … … 0 ℎ𝑛−𝛼 … ℎ1 ℎ0
То, что эта матрица проверочная (т.е. никакие «лишние» слова не удовлетворяют системе), следует из того, что её ранг равен 𝛼, а размерность кода равна 𝑛 − 𝛼 .
Лемма Вандермонда (A.—T. Vandermonde)
Имеет место формула Вандермонда:1 1 ⋯ 1𝜆1 𝜆2 ⋯ 𝜆𝑟
⋮ ⋮ ⋮ ⋮𝜆1
𝑟−1 𝜆2𝑟−1 ⋯ 𝜆𝑟
𝑟−1
=
1≤𝑖<𝑗≤𝑟
𝜆𝑗 − 𝜆𝑖
Из неё следует, что матрица невырождена при 𝜆𝑗 ≠ 𝜆𝑖.
Доказательство индукцией по 𝑟.
База: 𝑟 = 1. Очевидно:1 1𝜆1 𝜆2
= 𝜆2 − 𝜆1.
Лемма Вандермонда
Индуктивный переход:
1 1 ⋯ 1𝜆1 𝜆2 ⋯ 𝜆𝑟
⋮ ⋮ ⋯ ⋮𝜆1
𝑟−1 𝜆2𝑟−1 ⋯ 𝜆𝑟
𝑟−1
=
1 0 ⋯ 0𝜆1 𝜆2 − 𝜆1 ⋯ 𝜆𝑟 − 𝜆1
⋮ ⋮ ⋯ ⋮𝜆1
𝑟−1 𝜆2𝑟−1 − 𝜆1
𝑟−1 ⋯ 𝜆𝑟𝑟−1 − 𝜆1
𝑟−1
=
=
𝜆2 − 𝜆1 ⋯ 𝜆𝑟 − 𝜆1
𝜆22 − 𝜆1
2 ⋯ 𝜆𝑟2 − 𝜆1
2
⋮ ⋯ ⋮𝜆2
𝑟−2 − 𝜆1𝑟−2 ⋯ 𝜆𝑟
𝑟−2 − 𝜆1𝑟−2
𝜆2𝑟−1 − 𝜆1
𝑟−1 ⋯ 𝜆𝑟𝑟−1 − 𝜆1
𝑟−1
=
𝜆2 − 𝜆1 ⋯ 𝜆𝑟 − 𝜆1
𝜆22 − 𝜆1𝜆2 ⋯ 𝜆𝑟
2 − 𝜆1𝜆𝑟
⋮ ⋯ ⋮𝜆2
𝑟−2 − 𝜆1𝜆2𝑟−3 ⋯ 𝜆𝑟
𝑟−2 − 𝜆1𝜆𝑟𝑟−3
𝜆2𝑟−1 − 𝜆1𝜆2
𝑟−2 ⋯ 𝜆𝑟𝑟−1 − 𝜆1𝜆𝑟
𝑟−2
=
=
𝑖=2
𝑟
𝜆𝑖 − 𝜆1 ⋅ det
1 1 ⋯ 1𝜆2 𝜆3 ⋯ 𝜆𝑟
⋮ ⋮ ⋯ ⋮𝜆2
𝑟−2 𝜆3𝑟−2 ⋯ 𝜆𝑟
𝑟−2
=
1≤𝑖<𝑗≤𝑟
𝜆𝑗 − 𝜆𝑖
Примитивный элемент
Рассмотрим поле 𝔽𝑞, где 𝑞 = 𝑝𝑚, 𝑝 простое.
Известно, что множество 𝔽𝑞 ∖ 0 образует циклическую группу по
умножению.
Каждый образующий элемент этой группы (порядок которого равен 𝑞 − 1 ) называется примитивным элементом поля.
Иными словами, примитивный элемент — это такой 𝜆 ∈ 𝔽𝑞, что
1, 𝜆, 𝜆2, … , 𝜆𝑞−2 = 𝔽𝑞 ∖ 0 .
Граница Боуза—Чоудхури—Хоквингема
Теорема. (A.Hocquenghem’1959, R.C. Bose and D.K. Ray-Chaudhuri’1960)
Пусть 𝜆 — примитивный элемент 𝔽𝑞, и 𝛿 ≤ 𝑞.
Пусть порождающий многочлен 𝑔 кода 𝐶 ⊆ 𝔽𝑞𝑛 таков, что в 𝔽𝑞
среди его корней есть числа
𝜆𝑏, 𝜆𝑏+1, … , 𝜆𝑏+𝛿−2
Тогда 𝑑 𝐶 ≥ 𝛿.
Граница Боуза—Чоудхури—Хоквингема
Доказательство:
Рассмотрим произвольный 𝑓 𝑥 ∈ 𝐶.
Найдётся многочлен 𝑠 𝑥 ∈ 𝔽𝑞 𝑥 𝑥𝑛 − 1 , такой, что
deg 𝑠 < 𝑛 − deg 𝑔 и в кольце 𝔽𝑞 𝑥 𝑥𝑛 − 1 выполнено равенство
𝑓 𝑥 = 𝑠 𝑥 ⋅ 𝑔 𝑥
Так как deg 𝑠 + deg 𝑔 < 𝑛, то это равенство выполнено и в кольце𝔽𝑞 𝑥 .
Граница Боуза—Чоудхури—Хоквингема
В кольце 𝔽𝑞 𝑥 справедливо равенство
𝑓 𝑥 = 𝑠 𝑥 ⋅ 𝑔 𝑥
Пусть 𝜆𝑏, … , 𝜆𝑏+𝛿−2 — различные корни 𝑔 𝑥 .
Они же будут корнями 𝑓.
Пусть 𝑓 = 𝑐0 + 𝑐1𝑥 + ⋯ + 𝑐𝑛−1𝑥𝑛−1.
Вектор 𝑐0, … , 𝑐𝑛−1 удовлетворяет системе линейных уравнений с матрицей
1 𝜆𝑏 ⋯ 𝜆𝑏 𝑛−1
1 𝜆𝑏+1 ⋯ 𝜆 𝑏+1 𝑛−1
⋮ ⋮ ⋮ ⋮1 𝜆𝑏+𝛿−2 ⋯ 𝜆 𝑏+𝛿−2 𝑛−1
Граница Боуза—Чоудхури—Хоквингема
Любой кодовый вектор удовлетворяет системе с матрицей
𝐻 =
1 𝜆𝑏 ⋯ 𝜆𝑏 𝑛−1
1 𝜆𝑏+1 ⋯ 𝜆 𝑏+1 𝑛−1
⋮ ⋮ ⋮ ⋮1 𝜆𝑏+𝛿−2 ⋯ 𝜆 𝑏+𝛿−2 𝑛−1
(Это не обязательно проверочная матрица кода, но её можно дополнить до проверочной.)
Достаточно доказать, что любые 𝛿 − 1 столбцов матрицы 𝐻линейно независимы.
Граница Боуза—Чоудхури—Хоквингема
𝐻 =
1 𝜆𝑏 ⋯ 𝜆𝑏 𝑛−1
1 𝜆𝑏+1 ⋯ 𝜆 𝑏+1 𝑛−1
⋮ ⋮ ⋮ ⋮1 𝜆𝑏+𝛿−2 ⋯ 𝜆 𝑏+𝛿−2 𝑛−1
Выберем в 𝐻 произвольные столбцы 𝑖1, … , 𝑖𝛿−1. Получим матрицу
𝜆𝑏⋅𝑖1 𝜆𝑏⋅𝑖2 ⋯ 𝜆𝑏⋅𝑖𝛿−1
𝜆 𝑏+1 ⋅𝑖1 𝜆 𝑏+1 ⋅𝑖2 ⋯ 𝜆 𝑏+1 ⋅𝑖𝛿−1
⋮ ⋮ ⋮ ⋮𝜆 𝑏+𝛿−2 ⋅𝑖1 𝜆 𝑏+𝛿−2 ⋅𝑖2 ⋯ 𝜆 𝑏+𝛿−2 ⋅𝑖𝛿−1
Граница Боуза—Чоудхури—Хоквингема
Докажем, что матрица 𝐻𝑖1,…,𝑖𝛿−1невырождена. Имеем
𝜆𝑏⋅𝑖1 𝜆𝑏⋅𝑖2 ⋯ 𝜆𝑏⋅𝑖𝛿−1
𝜆 𝑏+1 ⋅𝑖1 𝜆 𝑏+1 ⋅𝑖2 ⋯ 𝜆 𝑏+1 ⋅𝑖𝛿−1
⋮ ⋮ ⋮ ⋮𝜆 𝑏+𝛿−2 ⋅𝑖1 𝜆 𝑏+𝛿−2 ⋅𝑖2 ⋯ 𝜆 𝑏+𝛿−2 ⋅𝑖𝛿−1
=
= 𝜆𝑏⋅ 𝑖1+⋯+𝑖𝛿−1
1 1 ⋯ 1𝜆𝑖1 𝜆𝑖2 ⋯ 𝜆𝑖𝛿−1
⋮ ⋮ ⋮ ⋮𝜆 𝛿−2 ⋅𝑖1 𝜆 𝑏−2 ⋅𝑖2 ⋯ 𝜆 𝛿−2 ⋅𝑖𝛿−1
По лемме Вандермонда, определитель последней матрицы не равен нулю.
Recommended