Изменения

Перейти к: навигация, поиск

Участник:Terraqottik

1634 байта добавлено, 08:48, 18 февраля 2021
Добавлено определение и информация о порождающей матрице
{{Определение
|id=def1_formal
|definition='''Линейный код''' длины ''<tex>n'' </tex> и ранга ''<tex>k'' </tex> является линейным подпространством ''<tex>C'' </tex> размерности ''<tex>k'' </tex> векторного пространства <tex>\mathbb{F}_q^n</tex>, где <tex>\mathbb{F}_q</tex> {{---}} конечное поле (поле Галуа) из ''<tex>q'' </tex> элементов. Такой код с параметром <tex>q </tex> называется <tex>q</tex>-арным кодом (напр. если ''<tex>q'' = 5 — 5</tex> — то это 5-арный код). Если ''<tex>q'' = 2 </tex> или ''<tex>q'' = 3</tex>, то код представляет собой '''двоичный код''', или '''тернарный''' соответственно.}}
Векторы в ''<tex>C'' </tex> называют '''кодовыми словами'''. Размер кода {{---}} это количество кодовых слов, т.е. <tex>\mathbb{q}^k</tex>.
'''Весом''' кодового слова называют число его ненулевых элементов. '''Расстояние''' между двумя кодовыми словами {{---}} это [[Расстояние Хэмминга | расстояние Хэмминга]]. Расстояние ''<tex>d'' </tex> линейного кода {{---}} это минимальный вес его ненулевых кодовых слов или равным образом минимальное расстояние между всеми парами различных кодовых слов. Линейный код длины ''<tex>n''</tex>, ранга ''<tex>k'' </tex> и с расстоянием ''<tex>d'' </tex> называют <tex>[n,k,d] _q</tex>-кодом (англ. ''[n,k,d] code'').
== Порождающая матрица ==
 
Так как линейный код является линейным подпространством <tex>\mathbb{F}_q^n</tex>, целиком код <tex>C</tex> (может быть очень большим) может быть представлен как линейная оболочка набора из <tex>k</tex> кодовых слов (т.е. базис). Этот базис часто объединяют в столбцы матрицы <tex>G</tex> и называют такую матрицу '''порождающей матрицей''' кода <tex>C</tex>.
 
В случае, если <tex>\boldsymbol{G} = [I_k | P]</tex>, где <tex>I_k</tex> {{---}} это единичная матрица размера <tex>k</tex>, а <tex>P</tex> {{---}} это матрица размера <tex>k \times (n - k)</tex> говорят, что матрица <tex>G</tex> находится в '''каноническом виде'''.
 
Имея матрицу <tex>G</tex> можно получить из некоторого входного вектора <tex>s</tex> кодовое слово <tex>w</tex> линейного кода <tex>C</tex>
 
: <tex>w=sG</tex>,
 
где <tex>w</tex> и <tex>s</tex> {{---}} векторы-строки. Порождающая матрица линейного <tex>[n, k, d]_q</tex>-кода имеет вид <tex>k \times n</tex>. Число избыточных бит тогда определяется как <tex>r = n - k</tex>.
== Расстояние кода ==
19
правок

Навигация