SlideShare a Scribd company logo
1 of 42
Download to read offline
Теория кодирования
МФТИ, осень 2013
Александр Дайняк
www.dainiak.com
Циклический код
Циклический код — это линейный код, такой, что для любого
кодового слова 𝑎0, 𝑎1 … , 𝑎 𝑛−1
слово 𝑎 𝑛−1, 𝑎0 … , 𝑎 𝑛−2 также является кодовым.
Т.е. циклический сдвиг кодового слова также является кодовым
словом.
Циклический код
Например, 7,4,3 -код Хемминга эквивалентен циклическому коду
с проверочной матрицей
1 1 1 0 1 0 0
0 1 1 1 0 1 0
0 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 … … 0
0 𝑐0 𝑐1 … 𝑐 𝛼−1 1 0 … 0
⋮ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋮
0 … … 0 𝑐0 𝑐1 … 𝑐 𝛼−1 1
Размерность и порождающая матрица
циклического кода
Доказательство:
Очевидно, что строки матрицы
𝑐0 𝑐1 … 𝑐 𝛼−1 1 0 … … 0
0 𝑐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 … … 0
0 𝑐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 … … 0
0 ℎ 𝑛−𝛼 … ℎ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 … … 0
0 ℎ 𝑛−𝛼 … ℎ1 ℎ0 0 … 0
⋮ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋮
0 … … 0 ℎ 𝑛−𝛼 … ℎ1 ℎ0
Проверочная матрица
циклического кода
Доказали, что кодовые слова удовлетворяют системе, задаваемой
матрицей
ℎ 𝑛−𝛼 … ℎ1 ℎ0 0 … … 0
0 ℎ 𝑛−𝛼 … ℎ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
𝜆2
2
− 𝜆1
2
⋯ 𝜆 𝑟
2
− 𝜆1
2
⋮ ⋯ ⋮
𝜆2
𝑟−2
− 𝜆1
𝑟−2
⋯ 𝜆 𝑟
𝑟−2 − 𝜆1
𝑟−2
𝜆2
𝑟−1
− 𝜆1
𝑟−1
⋯ 𝜆 𝑟
𝑟−1
− 𝜆1
𝑟−1
=
𝜆2 − 𝜆1 ⋯ 𝜆 𝑟 − 𝜆1
𝜆2
2
− 𝜆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
По лемме Вандермонда, определитель последней матрицы не равен
нулю.

More Related Content

Similar to Циклические коды. Граница БЧХ

Задача о ближайшем кодовом слове. Коды Галлагера—Сипсера—Шпильмана
Задача о ближайшем кодовом слове. Коды Галлагера—Сипсера—ШпильманаЗадача о ближайшем кодовом слове. Коды Галлагера—Сипсера—Шпильмана
Задача о ближайшем кодовом слове. Коды Галлагера—Сипсера—ШпильманаAlex Dainiak
 
Приложения теории кодирования
Приложения теории кодированияПриложения теории кодирования
Приложения теории кодированияAlex Dainiak
 
Производящие функции
Производящие функцииПроизводящие функции
Производящие функцииAlex Dainiak
 
лабораторная работа 3
лабораторная работа 3лабораторная работа 3
лабораторная работа 3Gulnaz Shakirova
 
Use of eliptic curves for generating digital signature
Use of eliptic curves for generating digital signatureUse of eliptic curves for generating digital signature
Use of eliptic curves for generating digital signatureAndrei Poliakov
 
Теорема Алона о нулях и её применения
Теорема Алона о нулях и её примененияТеорема Алона о нулях и её применения
Теорема Алона о нулях и её примененияAlex Dainiak
 
9 1.1 - системы счисления
9 1.1 - системы счисления9 1.1 - системы счисления
9 1.1 - системы счисленияjula-mam
 
Системы счисления
Системы счисленияСистемы счисления
Системы счисленияAndrey Dolinin
 
Теорема Рамсея, оценки чисел Рамсея
Теорема Рамсея, оценки чисел РамсеяТеорема Рамсея, оценки чисел Рамсея
Теорема Рамсея, оценки чисел РамсеяAlex Dainiak
 
Алгоритмы решения задачи о булевой выполнимости (SAT) и их применение в крипт...
Алгоритмы решения задачи о булевой выполнимости (SAT) и их применение в крипт...Алгоритмы решения задачи о булевой выполнимости (SAT) и их применение в крипт...
Алгоритмы решения задачи о булевой выполнимости (SAT) и их применение в крипт...Positive Hack Days
 
Гиперграфы. Покрытия. Жадный алгоритм.
Гиперграфы. Покрытия. Жадный алгоритм.Гиперграфы. Покрытия. Жадный алгоритм.
Гиперграфы. Покрытия. Жадный алгоритм.Alex Dainiak
 
ТФРВС - весна 2014 - лекция 4
ТФРВС - весна 2014 - лекция 4ТФРВС - весна 2014 - лекция 4
ТФРВС - весна 2014 - лекция 4Alexey Paznikov
 
презентация по теме «действительные числа»
презентация по теме «действительные числа»презентация по теме «действительные числа»
презентация по теме «действительные числа»Kirrrr123
 
лекция 4 системы счисления информатика
лекция 4 системы счисления информатикалекция 4 системы счисления информатика
лекция 4 системы счисления информатикаGulnaz Shakirova
 

Similar to Циклические коды. Граница БЧХ (20)

Задача о ближайшем кодовом слове. Коды Галлагера—Сипсера—Шпильмана
Задача о ближайшем кодовом слове. Коды Галлагера—Сипсера—ШпильманаЗадача о ближайшем кодовом слове. Коды Галлагера—Сипсера—Шпильмана
Задача о ближайшем кодовом слове. Коды Галлагера—Сипсера—Шпильмана
 
Приложения теории кодирования
Приложения теории кодированияПриложения теории кодирования
Приложения теории кодирования
 
Производящие функции
Производящие функцииПроизводящие функции
Производящие функции
 
лабораторная работа 3
лабораторная работа 3лабораторная работа 3
лабораторная работа 3
 
Use of eliptic curves for generating digital signature
Use of eliptic curves for generating digital signatureUse of eliptic curves for generating digital signature
Use of eliptic curves for generating digital signature
 
лекция 14
лекция 14лекция 14
лекция 14
 
лекция 14
лекция 14лекция 14
лекция 14
 
Теорема Алона о нулях и её применения
Теорема Алона о нулях и её примененияТеорема Алона о нулях и её применения
Теорема Алона о нулях и её применения
 
циклы1
циклы1циклы1
циклы1
 
циклы1
циклы1циклы1
циклы1
 
9 1.1 - системы счисления
9 1.1 - системы счисления9 1.1 - системы счисления
9 1.1 - системы счисления
 
Системы счисления
Системы счисленияСистемы счисления
Системы счисления
 
алгоритм
алгоритмалгоритм
алгоритм
 
Теорема Рамсея, оценки чисел Рамсея
Теорема Рамсея, оценки чисел РамсеяТеорема Рамсея, оценки чисел Рамсея
Теорема Рамсея, оценки чисел Рамсея
 
Алгоритмы решения задачи о булевой выполнимости (SAT) и их применение в крипт...
Алгоритмы решения задачи о булевой выполнимости (SAT) и их применение в крипт...Алгоритмы решения задачи о булевой выполнимости (SAT) и их применение в крипт...
Алгоритмы решения задачи о булевой выполнимости (SAT) и их применение в крипт...
 
Гиперграфы. Покрытия. Жадный алгоритм.
Гиперграфы. Покрытия. Жадный алгоритм.Гиперграфы. Покрытия. Жадный алгоритм.
Гиперграфы. Покрытия. Жадный алгоритм.
 
Matanal 31oct
Matanal 31octMatanal 31oct
Matanal 31oct
 
ТФРВС - весна 2014 - лекция 4
ТФРВС - весна 2014 - лекция 4ТФРВС - весна 2014 - лекция 4
ТФРВС - весна 2014 - лекция 4
 
презентация по теме «действительные числа»
презентация по теме «действительные числа»презентация по теме «действительные числа»
презентация по теме «действительные числа»
 
лекция 4 системы счисления информатика
лекция 4 системы счисления информатикалекция 4 системы счисления информатика
лекция 4 системы счисления информатика
 

More from Alex Dainiak

Основы теории графов 11: гамильтоновы циклы
Основы теории графов 11: гамильтоновы циклыОсновы теории графов 11: гамильтоновы циклы
Основы теории графов 11: гамильтоновы циклыAlex Dainiak
 
Основы теории графов 10: экстремальная теория графов
Основы теории графов 10: экстремальная теория графовОсновы теории графов 10: экстремальная теория графов
Основы теории графов 10: экстремальная теория графовAlex Dainiak
 
Основы теории графов 09: раскраски планарных графов, совершенные графы
Основы теории графов 09: раскраски планарных графов, совершенные графыОсновы теории графов 09: раскраски планарных графов, совершенные графы
Основы теории графов 09: раскраски планарных графов, совершенные графыAlex Dainiak
 
Основы теории графов 08: раскраски и списочные раскраски
Основы теории графов 08: раскраски и списочные раскраскиОсновы теории графов 08: раскраски и списочные раскраски
Основы теории графов 08: раскраски и списочные раскраскиAlex Dainiak
 
Основы теории графов 07: сепараторы в планарных графах
Основы теории графов 07: сепараторы в планарных графахОсновы теории графов 07: сепараторы в планарных графах
Основы теории графов 07: сепараторы в планарных графахAlex Dainiak
 
Основы теории графов 06: триангуляции и трёхсвязные планарные графы
Основы теории графов 06: триангуляции и трёхсвязные планарные графыОсновы теории графов 06: триангуляции и трёхсвязные планарные графы
Основы теории графов 06: триангуляции и трёхсвязные планарные графыAlex Dainiak
 
Основы теории графов 05: критерии планарности графов
Основы теории графов 05: критерии планарности графовОсновы теории графов 05: критерии планарности графов
Основы теории графов 05: критерии планарности графовAlex Dainiak
 
Основы теории графов 04: метрики на деревьях
Основы теории графов 04: метрики на деревьяхОсновы теории графов 04: метрики на деревьях
Основы теории графов 04: метрики на деревьяхAlex Dainiak
 
Основы теории графов 03: связность
Основы теории графов 03: связностьОсновы теории графов 03: связность
Основы теории графов 03: связностьAlex Dainiak
 
Основы теории графов 01: напоминание определений, теорема Форда—Фалкерсона
Основы теории графов 01: напоминание определений, теорема Форда—ФалкерсонаОсновы теории графов 01: напоминание определений, теорема Форда—Фалкерсона
Основы теории графов 01: напоминание определений, теорема Форда—ФалкерсонаAlex Dainiak
 
Основы теории графов 02: факторизация графов (разложение на простые подграфы)
Основы теории графов 02: факторизация графов (разложение на простые подграфы)Основы теории графов 02: факторизация графов (разложение на простые подграфы)
Основы теории графов 02: факторизация графов (разложение на простые подграфы)Alex Dainiak
 
Конспект лекций по теории кодирования
Конспект лекций по теории кодированияКонспект лекций по теории кодирования
Конспект лекций по теории кодированияAlex Dainiak
 
Графовая модель канала связи. Шенноновская ёмкость
Графовая модель канала связи. Шенноновская ёмкостьГрафовая модель канала связи. Шенноновская ёмкость
Графовая модель канала связи. Шенноновская ёмкостьAlex Dainiak
 
Визуализация графов: left-right алгоритм распознавания планарности
Визуализация графов: left-right алгоритм распознавания планарностиВизуализация графов: left-right алгоритм распознавания планарности
Визуализация графов: left-right алгоритм распознавания планарностиAlex Dainiak
 
Визуализация графов: укладки деревьев
Визуализация графов: укладки деревьевВизуализация графов: укладки деревьев
Визуализация графов: укладки деревьевAlex Dainiak
 
Визуализация графов: теорема Татта о барицентрической укладке
Визуализация графов: теорема Татта о барицентрической укладкеВизуализация графов: теорема Татта о барицентрической укладке
Визуализация графов: теорема Татта о барицентрической укладкеAlex Dainiak
 
Визуализация графов: история
Визуализация графов: историяВизуализация графов: история
Визуализация графов: историяAlex Dainiak
 
Визуализация графов: нижние оценки и NP-трудность
Визуализация графов: нижние оценки и NP-трудностьВизуализация графов: нижние оценки и NP-трудность
Визуализация графов: нижние оценки и NP-трудностьAlex Dainiak
 
Размерность Вапника—Червоненкиса
Размерность Вапника—ЧервоненкисаРазмерность Вапника—Червоненкиса
Размерность Вапника—ЧервоненкисаAlex Dainiak
 
Частично-упорядоченные множества, булеан, теоремы о разложении на цепи и анти...
Частично-упорядоченные множества, булеан, теоремы о разложении на цепи и анти...Частично-упорядоченные множества, булеан, теоремы о разложении на цепи и анти...
Частично-упорядоченные множества, булеан, теоремы о разложении на цепи и анти...Alex Dainiak
 

More from Alex Dainiak (20)

Основы теории графов 11: гамильтоновы циклы
Основы теории графов 11: гамильтоновы циклыОсновы теории графов 11: гамильтоновы циклы
Основы теории графов 11: гамильтоновы циклы
 
Основы теории графов 10: экстремальная теория графов
Основы теории графов 10: экстремальная теория графовОсновы теории графов 10: экстремальная теория графов
Основы теории графов 10: экстремальная теория графов
 
Основы теории графов 09: раскраски планарных графов, совершенные графы
Основы теории графов 09: раскраски планарных графов, совершенные графыОсновы теории графов 09: раскраски планарных графов, совершенные графы
Основы теории графов 09: раскраски планарных графов, совершенные графы
 
Основы теории графов 08: раскраски и списочные раскраски
Основы теории графов 08: раскраски и списочные раскраскиОсновы теории графов 08: раскраски и списочные раскраски
Основы теории графов 08: раскраски и списочные раскраски
 
Основы теории графов 07: сепараторы в планарных графах
Основы теории графов 07: сепараторы в планарных графахОсновы теории графов 07: сепараторы в планарных графах
Основы теории графов 07: сепараторы в планарных графах
 
Основы теории графов 06: триангуляции и трёхсвязные планарные графы
Основы теории графов 06: триангуляции и трёхсвязные планарные графыОсновы теории графов 06: триангуляции и трёхсвязные планарные графы
Основы теории графов 06: триангуляции и трёхсвязные планарные графы
 
Основы теории графов 05: критерии планарности графов
Основы теории графов 05: критерии планарности графовОсновы теории графов 05: критерии планарности графов
Основы теории графов 05: критерии планарности графов
 
Основы теории графов 04: метрики на деревьях
Основы теории графов 04: метрики на деревьяхОсновы теории графов 04: метрики на деревьях
Основы теории графов 04: метрики на деревьях
 
Основы теории графов 03: связность
Основы теории графов 03: связностьОсновы теории графов 03: связность
Основы теории графов 03: связность
 
Основы теории графов 01: напоминание определений, теорема Форда—Фалкерсона
Основы теории графов 01: напоминание определений, теорема Форда—ФалкерсонаОсновы теории графов 01: напоминание определений, теорема Форда—Фалкерсона
Основы теории графов 01: напоминание определений, теорема Форда—Фалкерсона
 
Основы теории графов 02: факторизация графов (разложение на простые подграфы)
Основы теории графов 02: факторизация графов (разложение на простые подграфы)Основы теории графов 02: факторизация графов (разложение на простые подграфы)
Основы теории графов 02: факторизация графов (разложение на простые подграфы)
 
Конспект лекций по теории кодирования
Конспект лекций по теории кодированияКонспект лекций по теории кодирования
Конспект лекций по теории кодирования
 
Графовая модель канала связи. Шенноновская ёмкость
Графовая модель канала связи. Шенноновская ёмкостьГрафовая модель канала связи. Шенноновская ёмкость
Графовая модель канала связи. Шенноновская ёмкость
 
Визуализация графов: left-right алгоритм распознавания планарности
Визуализация графов: left-right алгоритм распознавания планарностиВизуализация графов: left-right алгоритм распознавания планарности
Визуализация графов: left-right алгоритм распознавания планарности
 
Визуализация графов: укладки деревьев
Визуализация графов: укладки деревьевВизуализация графов: укладки деревьев
Визуализация графов: укладки деревьев
 
Визуализация графов: теорема Татта о барицентрической укладке
Визуализация графов: теорема Татта о барицентрической укладкеВизуализация графов: теорема Татта о барицентрической укладке
Визуализация графов: теорема Татта о барицентрической укладке
 
Визуализация графов: история
Визуализация графов: историяВизуализация графов: история
Визуализация графов: история
 
Визуализация графов: нижние оценки и NP-трудность
Визуализация графов: нижние оценки и NP-трудностьВизуализация графов: нижние оценки и NP-трудность
Визуализация графов: нижние оценки и NP-трудность
 
Размерность Вапника—Червоненкиса
Размерность Вапника—ЧервоненкисаРазмерность Вапника—Червоненкиса
Размерность Вапника—Червоненкиса
 
Частично-упорядоченные множества, булеан, теоремы о разложении на цепи и анти...
Частично-упорядоченные множества, булеан, теоремы о разложении на цепи и анти...Частично-упорядоченные множества, булеан, теоремы о разложении на цепи и анти...
Частично-упорядоченные множества, булеан, теоремы о разложении на цепи и анти...
 

Циклические коды. Граница БЧХ

  • 1. Теория кодирования МФТИ, осень 2013 Александр Дайняк www.dainiak.com
  • 2. Циклический код Циклический код — это линейный код, такой, что для любого кодового слова 𝑎0, 𝑎1 … , 𝑎 𝑛−1 слово 𝑎 𝑛−1, 𝑎0 … , 𝑎 𝑛−2 также является кодовым. Т.е. циклический сдвиг кодового слова также является кодовым словом.
  • 3. Циклический код Например, 7,4,3 -код Хемминга эквивалентен циклическому коду с проверочной матрицей 1 1 1 0 1 0 0 0 1 1 1 0 1 0 0 0 1 1 1 0 1
  • 4. Алгебраическое определение циклических кодов Сопоставим слову 𝑎0, … , 𝑎 𝑛−1 ∈ 𝔽 𝑞 𝑛 многочлен 𝑓 ≔ 𝑎0 + 𝑎1 𝑥 + 𝑎2 𝑥2 + ⋯ + 𝑎 𝑛−1 𝑥 𝑛−1 ∈ 𝔽 𝑞 𝑥 Тогда слову 𝑎 𝑛−1, 𝑎0 … , 𝑎 𝑛−2 отвечает многочлен 𝑎 𝑛−1 + 𝑎0 𝑥 + 𝑎1 𝑥2 + ⋯ + 𝑎 𝑛−2 𝑥 𝑛−1 = 𝑥 ⋅ 𝑓 − 𝑎 𝑛−1 𝑥 𝑛 − 1
  • 5. Алгебраическое определение циклических кодов Перейдём в кольцо 𝔽 𝑞 𝑥 𝑥 𝑛 − 1 . Слову 𝑎0, … , 𝑎 𝑛−1 отвечает элемент кольца 𝑓 = 𝑎0 + 𝑎1 𝑥 + 𝑎2 𝑥2 + ⋯ + 𝑎 𝑛−1 𝑥 𝑛−1, а слову 𝑎 𝑛−1, 𝑎0 … , 𝑎 𝑛−2 отвечает элемент 𝑥 ⋅ 𝑓 − 𝑎 𝑛−1 𝑥 𝑛 − 1 = в кольце 𝑥 ⋅ 𝑓 Вывод: циклический сдвиг слова эквивалентен умножению соответствующего многочлена на 𝑥 в кольце 𝔽 𝑞 𝑥 𝑥 𝑛 − 1 .
  • 6. Алгебраическое определение циклических кодов Циклический код — это подмножество 𝐶 кольца 𝔽 𝑞 𝑥 𝑥 𝑛 − 1 , такое, что • 𝑓1, 𝑓2 ∈ 𝐶 ⇒ ∀𝛼, 𝛽 ∈ 𝔽 𝑞 𝛼𝑓1 + 𝛽𝑓2 ∈ 𝐶 • 𝑓 ∈ 𝐶 ⇒ 𝑥 ⋅ 𝑓 ∈ 𝐶
  • 7. Циклический код — идеал кольца Утверждение. Для любого ц.к. 𝐶 ⊆ 𝔽 𝑥 𝑥 𝑛 − 1 выполнено 𝑓 ∈ 𝐶 ⇒ ∀𝑔 ∈ 𝔽 𝑥 𝑥 𝑛 − 1 𝑓 ⋅ 𝑔 ∈ 𝐶 Доказательство: утверждение непосредственно следует из алгебраического определения ц.к.
  • 8. Циклический код — идеал кольца Утверждение. Любой циклический код 𝐶 ⊆ 𝔽 𝑥 𝑥 𝑛 − 1 может быть представлен в виде 𝑓 ⋅ 𝑔 ∣ 𝑓 ∈ 𝔽 𝑥 𝑥 𝑛 − 1 для некоторого фиксированного многочлена 𝑔.
  • 9. Циклический код — идеал кольца Доказательство: Пусть 𝐶 — ц.к. Рассмотрим 𝑔0 ∈ 𝐶, такой, что deg 𝑔0 = min 𝑔∈𝐶 𝑔≢0 deg 𝑔 Тогда любой многочлен 𝑓 ∈ 𝐶 кратен 𝑔0. Действительно, поделим 𝑓 на 𝑔0 c остатком: 𝑓 𝑥 = 𝑔0 𝑥 ⋅ 𝑓 𝑥 + 𝑟 𝑥 где deg 𝑟 < deg 𝑔0. Но 𝑟 = 𝑓 − 𝑓 ⋅ 𝑔0 ∈ 𝐶, а значит 𝑟 ≡ 0.
  • 10. Единственность порождающего многочлена Нормированный многочлен — это многочлен с коэффициентом 1 при мономе старшей степени. Утверждение. В любом ц.к. ненулевой нормированный многочлен минимальной степени единственен. Этот многочлен называется порождающим многочленом циклического кода.
  • 11. Единственность порождающего многочлена Доказательство: Допустим, что в коде 𝐶 нашлись два разных нормногочлена минимальной степени: 𝑔1 𝑥 = 𝑥 𝑙 + ⋯ 𝑔2 𝑥 = 𝑥 𝑙 + ⋯ Но тогда 𝑔1 − 𝑔2 ∈ 𝐶 и deg 𝑔1 − 𝑔2 < 𝑙 — это противоречит минимальности 𝑙.
  • 12. Критерий существования циклического кода Теорема. Нормногочлен 𝑔 ∈ 𝔽 𝑥 𝑥 𝑛 − 1 может быть порождающим многочленом циклического кода т. и т.т., когда он является делителем многочлена 𝑥 𝑛 − 1 в кольце 𝔽 𝑥 .
  • 13. Критерий существования циклического кода: достаточность Доказательство 𝑔| 𝑥 𝑛 − 1 ⇒ ∃ц. к. Пусть 𝑔 𝑥 ∣ 𝑥 𝑛 − 1 . Положим 𝐶 ≔ 𝑓𝑔, где 𝑓 ∈ 𝔽 𝑥 𝑥 𝑛 − 1 Очевидно, 𝐶 — циклический код. Осталось доказать, что 𝑔 — порождающий многочлен кода 𝐶, то есть что в 𝐶 любой ненулевой многочлен имеет степень > deg 𝑔, либо равен const ⋅ 𝑔.
  • 14. Критерий существования циклического кода: достаточность Рассмотрим произвольный многочлен 𝑔 ∈ 𝐶. Имеем 𝑔 = 𝑓𝑔 для некоторого 𝔽 𝑥 𝑥 𝑛 − 1 . Тогда в кольце 𝔽 𝑥 для тех же самых 𝑓 и 𝑔 и некоторого 𝑠 выполнено равенство 𝑔 = 𝑓 ⋅ 𝑔 + 𝑠 ⋅ 𝑥 𝑛 − 1 По условию, 𝑥 𝑛 − 1 = 𝑟 ⋅ 𝑔 для некоторого 𝑟 ∈ 𝔽 𝑥 , следовательно 𝑔 = 𝑓 ⋅ 𝑔 + 𝑠𝑟 ⋅ 𝑔 = 𝑓 + 𝑠𝑟 ⋅ 𝑔
  • 15. Критерий существования циклического кода: достаточность Итак, в кольце 𝔽 𝑥 для некоторых 𝑓, 𝑟, 𝑠 имеем 𝑔 = 𝑓 + 𝑠𝑟 ⋅ 𝑔 Возможны случаи: • 𝑓 + 𝑠𝑟 ≡ 0 — тогда 𝑔 ≡ 0 • 𝑓 + 𝑠𝑟 ≡ const ≠ 0 — тогда 𝑔 = const ⋅ 𝑔 • deg 𝑓 + 𝑠𝑟 ≥ 1 — тогда deg 𝑔 > deg 𝑔
  • 16. Критерий существования циклического кода: необходимость Доказательство ∃ц. к. ⇒ 𝑔| 𝑥 𝑛 − 1 Пусть 𝐶 — циклический код в 𝔽 𝑥 𝑥 𝑛 − 1 с порождающим многочленом 𝑔. Поделим в кольце 𝔽 𝑥 с остатком 𝑥 𝑛 − 1 на 𝑔: 𝑥 𝑛 − 1 = 𝑓 ⋅ 𝑔 + 𝑟 где deg 𝑟 < deg 𝑔. Тогда в кольце 𝔽 𝑥 𝑥 𝑛 − 1 имеем 𝑟 = −𝑓 ⋅ 𝑔 ∈ 𝐶 Отсюда 𝑟 ≡ 0, то есть 𝑔| 𝑥 𝑛 − 1 .
  • 17. Размерность и порождающая матрица циклического кода Утверждение. Пусть порождающий многочлен циклического кода 𝐶 ⊆ 𝔽 𝑞 𝑥 𝑥 𝑛 − 1 имеет вид 𝑐0 + 𝑐1 𝑥 + ⋯ + 𝑐 𝛼−1 𝑥 𝛼−1 + 𝑥 𝛼 Тогда, если рассматривать 𝐶 как подпространство 𝔽 𝑞 𝑛, то dim 𝐶 = 𝑛 − 𝛼 и порождающая матрица кода имеет вид 𝑐0 𝑐1 … 𝑐 𝛼−1 1 0 … … 0 0 𝑐0 𝑐1 … 𝑐 𝛼−1 1 0 … 0 ⋮ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋮ 0 … … 0 𝑐0 𝑐1 … 𝑐 𝛼−1 1
  • 18. Размерность и порождающая матрица циклического кода Доказательство: Очевидно, что строки матрицы 𝑐0 𝑐1 … 𝑐 𝛼−1 1 0 … … 0 0 𝑐0 𝑐1 … 𝑐 𝛼−1 1 0 … 0 ⋮ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋮ 0 … … 0 𝑐0 𝑐1 … 𝑐 𝛼−1 1 линейно независимы и её ранг равен 𝑛 − 𝛼 . Остаётся доказать равенство dim 𝐶 = 𝑛 − 𝛼.
  • 19. Размерность и порождающая матрица циклического кода Для произвольного 𝑓 ∈ 𝔽 𝑞 𝑥 𝑥 𝑛 − 1 положим 𝐶𝑓 ≔ 𝑓 + ℎ ∣ ℎ ∈ 𝐶 . Докажем, что если 𝑓1 ≠ 𝑓2 и deg 𝑓𝑖 < 𝛼, то 𝐶𝑓1 ∩ 𝐶𝑓2 = ∅ Допустим, что 𝐶𝑓1 ∩ 𝐶𝑓2 ≠ ∅. Это означает, что 𝑓1 + ℎ1 = 𝑓2 + ℎ2 для некоторых ℎ1, ℎ2 ∈ 𝐶. Тогда 𝑓1 − 𝑓2 = ℎ2 − ℎ1 ∈ 𝐶. Но тогда из условия deg 𝑓1 − 𝑓2 < 𝛼 вытекает, что 𝑓1 − 𝑓2 ≡ 0 — противоречие.
  • 20. Размерность и порождающая матрица циклического кода Пусть 𝑓1, … , 𝑓 𝑞 𝛼 ∈ 𝔽 𝑞 𝑥 𝑥 𝑛 − 1 — всевозможные многочлены степени < 𝛼. Так как 𝐶𝑓 𝑖 ∩ 𝐶𝑓 𝑗 = ∅ при 𝑖 ≠ 𝑗, то 𝐶𝑓1 + ⋯ + 𝐶𝑓 𝑞 𝛼 ≤ 𝔽 𝑞 𝑥 𝑥 𝑛 − 1 = 𝑞 𝑛 Очевидно, 𝐶𝑓 𝑖 = 𝐶 для каждого 𝑖, а значит 𝐶 ≤ 𝑞 𝑛 𝑞 𝛼 = 𝑞 𝑛−𝛼 Следовательно, dim 𝐶 ≤ 𝑛 − 𝛼.
  • 21. Размерность и порождающая матрица циклического кода Доказанное утверждение: Если код 𝐶 имеет порождающий многочлен 𝑐0 + 𝑐1 𝑥 + ⋯ + 𝑐 𝛼−1 𝑥 𝛼−1 + 𝑥 𝛼 то порождающая матрица кода 𝐶 имеет вид 𝑐0 𝑐1 … 𝑐 𝛼−1 1 0 … … 0 0 𝑐0 𝑐1 … 𝑐 𝛼−1 1 0 … 0 ⋮ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋮ 0 … … 0 𝑐0 𝑐1 … 𝑐 𝛼−1 1 Следствие. Код 𝐶 можно представить в виде 𝑓 ⋅ 𝑔 ∣ 𝑓 ∈ 𝔽 𝑥 𝑥 𝑛 − 1 , deg 𝑓 < 𝑛 − 𝛼
  • 22. Систематическое кодирование циклических кодов Утверждение. У любого циклического кода существует порождающая матрица канонического вида. (Т.е. любой ц.к. допускает систематическое кодирование.) Замечание. Важно, что сам код допускает систематическое кодирование. Не нужно переходить к эквивалентному коду.
  • 23. Систематическое кодирование циклических кодов Доказательство: Пусть 𝑔 — порождающий многочлен, deg 𝑔 = 𝛼. Поделим многочлены 𝑥 𝛼 , 𝑥 𝛼+1 , … , 𝑥 𝑛−1 с остатком на 𝑔: 𝑥 𝛼 = ℎ0 ⋅ 𝑔 + 𝑟0 ⋮ 𝑥 𝑛−1 = ℎ 𝑛−𝛼−1 ⋅ 𝑔 + 𝑟𝑛−𝛼−1 Перепишем: ℎ0 ⋅ 𝑔 = 𝑥 𝛼 − 𝑟0 ⋮ ℎ 𝑛−𝛼−1 ⋅ 𝑔 = 𝑥 𝑛−1 − 𝑟𝑛−𝛼−1
  • 24. Систематическое кодирование циклических кодов Имеем ℎ0 ⋅ 𝑔 = 𝑥 𝛼 − 𝑟0 ⋮ ℎ 𝑛−𝛼−1 ⋅ 𝑔 = 𝑥 𝑛−1 − 𝑟𝑛−𝛼−1 Каждый из многочленов ℎ𝑖 ⋅ 𝑔 принадлежит 𝐶 и имеет вид 𝑥 𝛼+𝑖 + 𝑐𝑖,𝛼−1 𝑥 𝛼−1 + 𝑐𝑖,𝛼−2 𝑥 𝛼−2 + ⋯ + 𝑐𝑖,0 где 𝑐𝑖,𝑗 — некоторые коэффициенты.
  • 25. Систематическое кодирование циклических кодов Многочлены ℎ𝑖 ⋅ 𝑔 принадлежат 𝐶 и имеют вид 𝑥 𝛼+𝑖 + 𝑐𝑖,𝛼−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
  • 26. Систематическое кодирование циклических кодов Итак, у кода 𝐶 есть порождающая матрица вида 𝑐0,0 … 𝑐0,𝛼−1 1 0 … 0 𝑐1,0 … 𝑐1,𝛼−1 0 1 … 0 ⋮ ⋮ ⋮ ⋱ 𝑐 𝑛−𝛼−1,0 … 𝑐 𝑛−𝛼−1,𝛼−1 0 0 … 1 Т.к. код 𝐶 циклический, то можно циклически переставить столбцы в этой матрице, и получится искомая матрица вида 𝐼| 𝐺 , где 𝐼 — единичная матрица порядка 𝑛 − 𝛼 .
  • 27. Проверочный многочлен Пусть 𝑔 — порождающий многочлен кода 𝐶. Так как 𝑔| 𝑥 𝑛 − 1 , то в кольце 𝔽 𝑥 имеем 𝑥 𝑛 − 1 = 𝑔 ⋅ ℎ для некоторого ℎ ∈ 𝔽 𝑥 . Многочлен ℎ 𝑥 называется проверочным многочленом кода 𝐶. Для любого 𝑓 ∈ 𝐶 в кольце 𝔽 𝑥 𝑥 𝑛 − 1 выполнено равенство 𝑓 ⋅ ℎ = 0.
  • 28. Проверочная матрица циклического кода Утверждение. Пусть проверочный многочлен циклического кода 𝐶 ⊆ 𝔽 𝑥 𝑥 𝑛 − 1 имеет вид ℎ0 + ℎ1 𝑥 + ⋯ + ℎ 𝑛−𝛼 𝑥 𝑛−𝛼 Тогда, если рассматривать 𝐶 как обычный линейный код, то его проверочная матрица будет иметь вид ℎ 𝑛−𝛼 … ℎ1 ℎ0 0 … … 0 0 ℎ 𝑛−𝛼 … ℎ1 ℎ0 0 … 0 ⋮ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋮ 0 … … 0 ℎ 𝑛−𝛼 … ℎ1 ℎ0
  • 29. Проверочная матрица циклического кода Доказательство: Пусть проверочный многочлен циклического кода 𝐶 ⊆ 𝔽 𝑥 𝑥 𝑛 − 1 имеет вид ℎ0 + ℎ1 𝑥 + ⋯ + ℎ 𝑛−𝛼 𝑥 𝑛−𝛼 Для любого многочлена 𝑐0 + 𝑐1 𝑥 + ⋯ + 𝑐 𝑛−1 𝑥 𝑛−1 ∈ 𝐶 в кольце 𝔽 𝑥 𝑥 𝑛 − 1 выполнено равенство 𝑐0 + 𝑐1 𝑥 + ⋯ + 𝑐 𝑛−1 𝑥 𝑛−1 ⋅ ℎ0 + ℎ1 𝑥 + ⋯ + ℎ 𝑛−𝛼 𝑥 𝑛−𝛼 = 0
  • 30. Проверочная матрица циклического кода Для удобства формально введём ℎ 𝑛−𝛼+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 𝑐𝑖ℎ 𝑚+𝑛−𝑖
  • 31. Проверочная матрица циклического кода В кольце 𝔽 𝑥 𝑥 𝑛 − 1 выполнены равенства 0 = 𝑚=0 𝑛−1 𝑥 𝑚 𝑖=0 𝑚 𝑐𝑖ℎ 𝑚−𝑖 + 𝑚=0 𝑛−1 𝑥 𝑚 𝑖=𝑚+1 𝑛−1 𝑐𝑖ℎ 𝑚+𝑛−𝑖 Отсюда при каждом 𝑚 ∈ 0, … , 𝑛 − 1 должно быть выполнено 𝑖=0 𝑚 𝑐𝑖ℎ 𝑚−𝑖 + 𝑖=𝑚+1 𝑛−1 𝑐𝑖ℎ 𝑚+𝑛−𝑖 = 0
  • 32. Проверочная матрица циклического кода При каждом 𝑚 ∈ 0, … , 𝑛 − 1 должно быть выполнено 𝑖=0 𝑚 𝑐𝑖ℎ 𝑚−𝑖 + 𝑖=𝑚+1 𝑛−1 𝑐𝑖ℎ 𝑚+𝑛−𝑖 = 𝑖=0 𝑛−1 𝑐𝑖ℎ 𝑚−𝑖 mod 𝑛 = 0 При 𝑚 ∈ 𝑛 − 𝛼, … , 𝑛 − 1 уравнения 𝑖=0 𝑛−1 𝑐𝑖ℎ 𝑚−𝑖 mod 𝑛 = 0 как раз и задаются матрицей ℎ 𝑛−𝛼 … ℎ1 ℎ0 0 … … 0 0 ℎ 𝑛−𝛼 … ℎ1 ℎ0 0 … 0 ⋮ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋮ 0 … … 0 ℎ 𝑛−𝛼 … ℎ1 ℎ0
  • 33. Проверочная матрица циклического кода Доказали, что кодовые слова удовлетворяют системе, задаваемой матрицей ℎ 𝑛−𝛼 … ℎ1 ℎ0 0 … … 0 0 ℎ 𝑛−𝛼 … ℎ1 ℎ0 0 … 0 ⋮ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋮ 0 … … 0 ℎ 𝑛−𝛼 … ℎ1 ℎ0 То, что эта матрица проверочная (т.е. никакие «лишние» слова не удовлетворяют системе), следует из того, что её ранг равен 𝛼, а размерность кода равна 𝑛 − 𝛼 .
  • 34. Лемма Вандермонда (A.—T. Vandermonde) Имеет место формула Вандермонда: 1 1 ⋯ 1 𝜆1 𝜆2 ⋯ 𝜆 𝑟 ⋮ ⋮ ⋮ ⋮ 𝜆1 𝑟−1 𝜆2 𝑟−1 ⋯ 𝜆 𝑟 𝑟−1 = 1≤𝑖<𝑗≤𝑟 𝜆𝑗 − 𝜆𝑖 Из неё следует, что матрица невырождена при 𝜆𝑗 ≠ 𝜆𝑖. Доказательство индукцией по 𝑟. База: 𝑟 = 1. Очевидно: 1 1 𝜆1 𝜆2 = 𝜆2 − 𝜆1.
  • 35. Лемма Вандермонда Индуктивный переход: 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 𝜆2 2 − 𝜆1 2 ⋯ 𝜆 𝑟 2 − 𝜆1 2 ⋮ ⋯ ⋮ 𝜆2 𝑟−2 − 𝜆1 𝑟−2 ⋯ 𝜆 𝑟 𝑟−2 − 𝜆1 𝑟−2 𝜆2 𝑟−1 − 𝜆1 𝑟−1 ⋯ 𝜆 𝑟 𝑟−1 − 𝜆1 𝑟−1 = 𝜆2 − 𝜆1 ⋯ 𝜆 𝑟 − 𝜆1 𝜆2 2 − 𝜆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≤𝑖<𝑗≤𝑟 𝜆𝑗 − 𝜆𝑖
  • 36. Примитивный элемент Рассмотрим поле 𝔽 𝑞, где 𝑞 = 𝑝 𝑚 , 𝑝 простое. Известно, что множество 𝔽 𝑞 ∖ 0 образует циклическую группу по умножению. Каждый образующий элемент этой группы (порядок которого равен 𝑞 − 1 ) называется примитивным элементом поля. Иными словами, примитивный элемент — это такой 𝜆 ∈ 𝔽 𝑞, что 1, 𝜆, 𝜆2 , … , 𝜆 𝑞−2 = 𝔽 𝑞 ∖ 0 .
  • 37. Граница Боуза—Чоудхури—Хоквингема Теорема. (A.Hocquenghem’1959, R.C. Bose and D.K. Ray-Chaudhuri’1960) Пусть 𝜆 — примитивный элемент 𝔽 𝑞, и 𝛿 ≤ 𝑞. Пусть порождающий многочлен 𝑔 кода 𝐶 ⊆ 𝔽 𝑞 𝑛 таков, что в 𝔽 𝑞 среди его корней есть числа 𝜆 𝑏, 𝜆 𝑏+1, … , 𝜆 𝑏+𝛿−2 Тогда 𝑑 𝐶 ≥ 𝛿.
  • 38. Граница Боуза—Чоудхури—Хоквингема Доказательство: Рассмотрим произвольный 𝑓 𝑥 ∈ 𝐶. Найдётся многочлен 𝑠 𝑥 ∈ 𝔽 𝑞 𝑥 𝑥 𝑛 − 1 , такой, что deg 𝑠 < 𝑛 − deg 𝑔 и в кольце 𝔽 𝑞 𝑥 𝑥 𝑛 − 1 выполнено равенство 𝑓 𝑥 = 𝑠 𝑥 ⋅ 𝑔 𝑥 Так как deg 𝑠 + deg 𝑔 < 𝑛, то это равенство выполнено и в кольце 𝔽 𝑞 𝑥 .
  • 39. Граница Боуза—Чоудхури—Хоквингема В кольце 𝔽 𝑞 𝑥 справедливо равенство 𝑓 𝑥 = 𝑠 𝑥 ⋅ 𝑔 𝑥 Пусть 𝜆 𝑏, … , 𝜆 𝑏+𝛿−2 — различные корни 𝑔 𝑥 . Они же будут корнями 𝑓. Пусть 𝑓 = 𝑐0 + 𝑐1 𝑥 + ⋯ + 𝑐 𝑛−1 𝑥 𝑛−1. Вектор 𝑐0, … , 𝑐 𝑛−1 удовлетворяет системе линейных уравнений с матрицей 1 𝜆 𝑏 ⋯ 𝜆 𝑏 𝑛−1 1 𝜆 𝑏+1 ⋯ 𝜆 𝑏+1 𝑛−1 ⋮ ⋮ ⋮ ⋮ 1 𝜆 𝑏+𝛿−2 ⋯ 𝜆 𝑏+𝛿−2 𝑛−1
  • 40. Граница Боуза—Чоудхури—Хоквингема Любой кодовый вектор удовлетворяет системе с матрицей 𝐻 = 1 𝜆 𝑏 ⋯ 𝜆 𝑏 𝑛−1 1 𝜆 𝑏+1 ⋯ 𝜆 𝑏+1 𝑛−1 ⋮ ⋮ ⋮ ⋮ 1 𝜆 𝑏+𝛿−2 ⋯ 𝜆 𝑏+𝛿−2 𝑛−1 (Это не обязательно проверочная матрица кода, но её можно дополнить до проверочной.) Достаточно доказать, что любые 𝛿 − 1 столбцов матрицы 𝐻 линейно независимы.
  • 41. Граница Боуза—Чоудхури—Хоквингема 𝐻 = 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
  • 42. Граница Боуза—Чоудхури—Хоквингема Докажем, что матрица 𝐻𝑖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 По лемме Вандермонда, определитель последней матрицы не равен нулю.