19
правок
Изменения
Добавлена информация о проверочной матрице
== Порождающая матрица ==
{{Определение
|id=def2
|definition=Порождающая матрица {{---}} это матрица, чьи столбцы формируют базис линейного кода.}}
Так как линейный код является линейным подпространством <tex>\mathbb{F}_q^n</tex>, целиком код <tex>C</tex> (может быть очень большим) может быть представлен как линейная оболочка набора из <tex>k</tex> кодовых слов (т.е. базис). Этот базис часто объединяют в столбцы матрицы <tex>G</tex> и называют такую матрицу '''порождающей матрицей''' кода <tex>C</tex>.
где <tex>w</tex> и <tex>s</tex> {{---}} векторы-строки. Порождающая матрица линейного <tex>[n, k, d]_q</tex>-кода имеет вид <tex>k \times n</tex>. Число избыточных бит тогда определяется как <tex>r = n - k</tex>.
== Проверочная матрица ==
{{Определение
|id=def3
|definition=Проверочная матрица <tex>H</tex> линейного кода <tex>C</tex> {{---}} это порождающая матрица ортогонального дополнения <tex>C^\perp</tex>. Другими словами, это матрица, которая описывает правила, которым должны удовлетворять части кодового слова.}}
Используется, чтобы определить, является ли некий вектор кодовым словом, а также в алгоритмах декодирования (напр. syndrome decoding).
Кодовое слово <tex>c</tex> принадлежит коду <tex>C</tex> тогда и только тогда, когда <tex>Hc^T = 0</tex> или, что то же самое, <tex>cH^T = 0</tex>.
Проверочную матрицу можно получить из порождающей и наоборот: пусть дана порождающая матрица <tex>G</tex> в каноническом виде <tex>G = \begin{bmatrix} I_k | P \end{bmatrix}</tex>, тогда проверочную матрицу <tex>H</tex> можно получить по формуле
: <tex>H = \begin{bmatrix} -P^{\top} | I_{n-k} \end{bmatrix}</tex>,
так как <tex>G H^{\top} = P-P = 0</tex>.
== Кодирование и декодирование, примеры ==
== Минимальное расстояние и корректирующая способность ==