Тогда из (1.1) и (1.2) получаем, что
где последнее равенство выполняется в силу (1.5). В двоичном случае
но в дальнейшем встретятся случаи, когда
Объединяя теперь (1.5) и (1.6), имеем
и, транспонируя, получаем равенство
где
Если
представлена в каноническом виде, то
легко получается из
(см. (1.2)).
называется порождающей матрицей кода, так как равенство (1.7) как раз означает, что кодовыми словами являются все возможные линейные комбинации строк матрицы
(Мы могли бы использовать это в качестве определения линейного кода.) Из (1.1) и (1.7) следует, что матрицы
связаны соотношением
Пример. Код
(продолжение). Выпишем порождающую матрицу
Согласно (1.7) каждое из восьми кодовых слов имеет вид:
Вновь убеждаемся, что кодовое слово, соответствующее сообщению
равно
где, как обычно, сложение было выполнено по модулю 2.
(iv). Параметры линейного кода. Говорят, что кодовое слово
имеет длину
Здесь имеется в виду не длина вектора в обычном математическом смысле, а число символов в этом векторе, т. е. его размерность. Число
называется также блоковой
длиной кода. Если
имеет
линейно независимых строк, то имеется
кодовых слов. Число
называется размерностью кода. Мы назовем такой код
-кодом. Этот код использует
символов для передачи
символов сообщения, поэтому говорят, что код имеет скорость или эффективность
Другие порождающие и проверочные матрицы. Код может иметь несколько различных порождающих матриц. Например, матрицы
обе являются порождающими для кода №4. В действительности любое максимальное множество линейно независимых кодовых слов, выбранных из данного кода, может быть использовано в качестве строк порождающей матрицы для этого кода.
Проверочным соотношением для кода является любой вектор
такой, что
для всех кодовых слов
Аналогичным образом любое максимальное множество линейно независимых проверочных соотношений может быть использовано в качестве строк проверочной матрицы
для кода
Например, матрицы
обе являются проверочными для кода
Коды над другими полями. Вместо использования только символов 0 и 1 мы можем допустить, чтобы символы были из любого конечного поля см. гл. 3 и 4). Например, троичный код имеет символы 0, 1 и 2 и все вычисления в проверочных соотношениях и т. п. выполняются по модулю
). Если используются символы конечного поля из
элементой, то код по-прежнему определяется соотношениями (1.1) и (1.2) или, что эквивалентно, (1.7) и (1.8) и
-код содержат
кодовых слов.
Пример. Код
Троичный
-код задается проверочной матрицей
Тогда порождающая матрица имеет вид (см.
строка 2.
Код состоит из следующих девяти слов вида
(строка 1)
или 2):