algebcodes_1
.pdf9.5. Схемы умножения на константу поля Галуа |
271 |
||
по модулю многочлена xn − 1. |
k |
решений есть не что |
|
Тогда совокупность всех различных q |
|
иное, как идеал, порожденный многочленом g(x) = (xn−1)/h(x). Пусть теперь многочлен (9.4.7) есть примитивный много-
член степени k = m. Выходная последовательность начнет повторяться, как только начнут повторяться комплекты пере-
менных в правой части (9.4.6). Длина n выходной последовательности в точности равна минимальному показателю степе-
ни, при которой двучлен xn − 1 делится на h(x). Число этих комплектов, включая и нулевой, в точности равно qm, а потому n = qm − 1, и этому же числу равно и количество самих ненулевых выходных последовательностей.
Согласно предыдущему рассуждению порождающим многочленом идеала, состоящего из всех возможных последова-
тельностей, является многочлен g(x) = (xqm−1 − 1)/h(x). Построенный идеал при q = 2 есть код, двойственный циклическому двоичному коду Хэмминга, (см. разделы 5.6 и 6.2).
Если же многочлен h(x) не является примитивным, то длина n последовательности окажется равной qm1 − 1, где m1 есть некоторый делитель числа m.
9.5. Схемы умножения на константу поля Галуа
Остается научиться строить схемы умножения на константу поля GF (q). В регистрах сдвига они играют не последнюю роль.
Построение таких схем дается представлением поля Галуа матрицами (раздел 3.8) и теоремой 3.8.2. Здесь рассматривается только случай q = 2m. Поэтому произвольный элемент поля GF (2m) представляется двоичным вектором длины m, а схема умножения, показанная на рис. 9.1b, имеет m двоичных входов f0, f1, . . . , fm−1 и m двоичных выходов φ0, φ1, . . . , φm−1.
Строение схемы умножения на фиксированный элемент αi GF (2m) полностью описывает
Теорема 9.5.1. Значение выхода φu, u = 0, 1, . . . , m − 1, схемы получается в виде суммы по модулю 2 значений на тех ее входах, номера которых совпадают с номерами единичных
разрядов u-го столбца матрицы Bi.
Д о к а з а т е л ь с т в о. Умножим элемент αj GF (2m)
на фиксированный элемент αi из того же поля. Из раздела 3.8 и теоремы 3.8.2 следует, что результат умножения αj+i есть
272 Глава 9. Регистры сдвига
в точности первая строка матрицы Bj+i = BjBi. По правилу
умножения матриц значение выхода φu, u = 0, 1, . . . , m − 1, схемы получается как скалярное произведение вектора-строки
αj на u-й столбец матрицы Bi. Опустив нулевые члены этого столбца, получим требуемое.
На рис. 9.8 и 9.9 показаны схемы умножения соответственно на α6 и α14 посредством матриц. Использовано поле (3.4.11).
ϕ0 |
ϕ1 |
ϕ2 |
ϕ3 |
F0 |
F1 |
F2 |
F3 |
|
Рис. 9.8. Схема умножения на 6 2 GF (24) |
На рис. 9.10 показан регистр сдвига для кодирования с помощью умножения на порождающий многочлен g(x) = 1 + x + x3. 4 элемента задержки отвечают 4-м информационным символам циклического (7, 4)-кода.
9.6. Мажоритарное декодирование циклического кода
Эта глава заключается совместным рассмотрением трех факторов. Во-первых, циклический код, двойственный циклическому коду Хэмминга (см. раздел 6.2), допускает мажоритарное декодирование (теорема 4.8.1). Во-вторых, мажоритарное декодирование этих кодов реализует кодовое расстояние (теорема
4.8.2). Наконец, цикличность кода в сочетании с регистрами сдвигов открывает возможность построения весьма интересных схем декодирования.
9.6. Мажоритарное декодирование циклического кода |
273 |
||||
ϕ0 |
|
ϕ1 |
ϕ2 |
ϕ3 |
|
|
|
|
|
|
|
F0 |
F1 |
F2 |
F3 |
|
Рис. 9.9. Схема умножения на 14 2 GF (24) |
|
Рис. 9.10. Регистр сдвига для кодирования с помощью умножения на многочлен g(x) = 1 + x + x3
Рассмотрим циклический код, порожденный многочленом g(x) = (x + 1)(x3 + x2 + 1) = x4 + x2 + x + 1. (Он двойствен коду
Хэмминга, порожденному многочленом g(x) = (x3 + x + 1)).
Согласно процедуре построения канонических форм порождающей и проверочной матрицы кода, изложенной в разделе 5.4, получаем:
x6 = (x4 x5 = (x4 x4 = (x4
+x2 + x + 1)(x2 + 1) + x3 + x + 1,
+x2 + x + 1)x + x3 + x2 + x,
+x2 + x + 1) + x2 + x + 1.
274 |
|
|
|
|
|
Глава 9. Регистры сдвига |
||
Отсюда порождающая матрица кода будет |
||||||||
G = [ |
1 |
0 |
0 |
1 |
0 |
1 |
1 |
] , |
0 |
1 |
0 |
1 |
1 |
1 |
0 |
||
0 |
0 |
1 |
0 |
1 |
1 |
1 |
и согласно соотношению между каноническими формами порождающей и проверочной матриц
|
|
1 |
1 |
0 |
1 |
0 |
0 |
0 |
. |
H = |
0 |
1 |
1 |
0 |
1 |
0 |
0 |
||
1 |
1 |
1 |
0 |
0 |
1 |
0 |
|||
|
|
1 |
0 |
1 |
0 |
0 |
0 |
1 |
|
Вспоминая, как из проверочной матрицы проверочные символы выражаются через информационные, получим
a4 = a1 + a2, a5 = a2 + a3,
a6 = a1 + a2 + a3, a7 = a1 + a3.
Сложив второе равенство с третьим и разрешив все равенства относительно a1, а затем, добавив к трем равенствам тривиальное a1 = a1, окончательно найдем:
a1 |
= a2 |
+ a4 |
, |
|
a1 |
= a5 |
+ a6 |
, |
(9.6.9) |
a1 |
= a3 |
+ a7 |
, |
|
a1 |
= a1. |
|
|
Это система разделенных проверок для информационного символа a1. Вследствие цикличности кода аналогичные системы проверок имеют место для всех, а не только информационных, символов кодового вектора. С помощью этой системы исправляется любая одиночная ошибка. Вообще, как знает читатель,
для любого циклического (2m − 1, m, 2m−1)-кода, двойственного коду Хэмминга, можно построить систему из 2m−1 разде-
ленных проверок, а число исправляемых ошибок есть 2m−2 −1. Здесь код имеет длину 7 только ради удобства демонстрации схемы декодирования. Схема декодирования рассмотренного циклического (7, 3)-кода показана на рис. 9.11.
В первые 7 тактов работы в регистр сдвига вводится приня-
тый вектор (a1, a2, a3, a4, a5, a6, a7). В момент, когда последний символ a7 займет свое место в регистре, ключ на входе
9.7. |
Задачи к главе 9 |
|
|
|
|
275 |
|
|
|
|
|
|
|
|
В••• |
|
A1 |
A2 |
A3 |
A4 |
A5 |
A6 |
A7 |
|
M |
|
|
|
|
|
|
В•••• |
|
|
|
|
|
|
|
Рис. 9.11. Схема мажоритарного декодирования циклического (7, 3)-кода |
|||||||
с порождающим многочленом g(x) = (x3 + x2 + 1)(x + 1) = x4 + x2 + x + 1 |
занимает положение, показанное на рис. 9.11, и начинается процесс декодирования. Вычисленные посредством сумматоров значения a1 на каждом из равенств системы (9.6.9) поступают на входы мажоритарного элемента M. Истинное (если число ошибок не превосходит 2m−2 − 1, т.е. в данном случае — одной) значение символа a1 поступает и на выход схемы, и по линии обратной связи в последний элемент задержки, который освободился от символа a7 благодаря циклическому сдвигу содержимого регистра на один шаг (влево).
Происходит декодирование символа a2.
Процесс декодирования продолжается пока не будут деко-
дированы либо только информационные символы, либо, по желанию пользователя, все символы принятого вектора.
9.7. Задачи к главе 9
9.1.Построить схемы умножения на константы α5, α7. α9 поля GF (24).
9.2.Построить схемы умножения на константы α3, α6, α8 поля GF (28).
Глава 10.
Указания к решению задач
10.1. К главе 1
1.2. Числа aξ пробегают приведенную систему вычетов по модулю m. Расположим правильные несократимые дроби {(aξ)/m} в порядке возрастания их числителей: (i1/m), (i2/m), . . . (ic/m), где c = φ(m), а затем в порядке убывания. Каждая сума двух числителей, равноудаленных от концов, равна m, а всего таких сумм будет φ(m). Таким образом, суммируется в точности φ(m) единиц. Но просуммированы два ряда дробей, откуда и получается коэффициент 1/2.
1.3. Имеем x = 10y + 3, x ≡ 15(mod17), x ≡ 11(mod13). К
любой части сравнения можно прибавить любое целое, крат-
ное модуля: x ≡ −2(mod17), x ≡ −2(mod13). Если сравнение имеет место по нескольким модулям, то оно имеет место
и по модулю, равному наименьшему общему кратному модулей: x ≡ −2(mod221). Отсюда:10y + 3 ≡ −2(mod221), 10y + 5 ≡ 0(mod221), 10y + 5 = t221. Наименьшее t = 5, 10y + 5 =
1105. x = 1103.
1.6. Пусть
as0 + bt0 |
(10.1.1) |
есть минимальное из положительных чисел вида |
|
as + bt, |
(10.1.2) |
где a и b не равны нулю одновременно. Покажем, что число as0 +bt0 делит все числа as+bt. Действительно, as+bt = (as0 + bt0)q+r, откуда r = as+bt−(as0 +bt0)q = a(s−qs0)+b(t−ty0)).
Иначе говоря, остаток r имеет вид as′ + bt′, и он меньше делителя (10.1.1). Но по условию число (10.1.1) есть минимальное из положительных чисел вида (10.1.2). Поэтому r = 0.
10.1. К главе 1 |
277 |
|
При s |
= 1, t = 0 as + bt |
= a, и as0 + bt0 делит a. При |
s = 0, |
t = 1 as + bt = b, и as0 + bt0 делит b. Это значит, что |
число (10.1.1) делит одновременно и a и b. Отсюда следует, что любой общий делитель чисел a и b, в том числе и их наибольший общий делитель, делит число (10.1.1), а потому число (10.1.1) есть наибольший общий делитель чисел a и b. as0 + bt0 = (a, b).
Другое решение немедленно следует из выражения (1.9.18)
в формулировке леммы о мультипликативности функции Эйлера.
1.7. При p = 2 решение тривиально. Пусть p > 2. Выразим элементы приведенной системы вычетов по модулю p через первообразный корень g, который существует. (p − 1)! = g0g1 · · · gp−2 = g(p−1)(p−2)/2. По теореме Ферма gp−1−1 ≡ 0( mod p), gp−1 − 1 = (g(p−1)/2 − 1)(g(p−1)/2 + 1) ≡ 0(modp). Только одна из скобок слева делится на p. В противном случае их разность, равная 2, делилась бы на p > 2. Не может быть
(g −1) ≡ 0( mod p), так как g первообразный корень. Следовательно g ≡ −1(modp). И так как p − 2 нечётно, то
g(p−1)(p−2)/2 ≡ −1(modp).
1.8. Если q — простое нечетное, и q делит ap − 1, т.е. ap ≡ 1(modq), то a по модулю q может принадлежать только одному из показателей δ = 1; p. Действительно, если a по модулю q принадлежит показателю δ, т.е. одновременно ap ≡ 1(modq), и aδ ≡ 1(modq), то ap ≡ aδ(modq), и, следовательно, p ≡ δ(modδ). Это значит, что δ делит p, и так как p простое, то δ = 1; p. При δ = 1 имеем a ≡ 1( mod q), и q делит a−1. Если же δ = p, то p является делителем числа φ(q) = q −1, а потому q − 1 = 2px, так как q − 1 четное.
1.9. Если q простое нечетное, и ap + 1 ≡ 0(modq), то ap ≡ −1(modq), и a2p ≡ 1(modq). Пусть δ есть показатель, кото-
рому a принадлежит по модулю q, т.е. aδ ≡ 1(modq). Если два числа сравнимы с третьим, то они сравнимы между со-
бой, значит, aδ ≡ a2p(modq). Но по теореме 1.11.3 отсюда δ ≡ 2p(modδ). Значит, δ делит 2p. Поэтому δ = 1, 2, p, 2p. Но случаи δ = 1, p, невозможны. Действительно, ap ≡ 1( mod q) не может быть, так как по условию ap ≡ −1(modq). Если бы было
a ≡ 1(modq), то и ap ≡ 1(modq), что невозможно по доказанному выше.
Теперь, если δ = 2, то a2 ≡ 1(modq), a2 − 1 ≡ 0(modq), и a + 1 ≡ 0(modq), так как a − 1 ̸≡0(modq), Если же δ = 2p, то
10.2. К главе 2 |
279 |
Возведем каждое сравнение в k−1 степеней так, чтобы каждый показатель в левых частях сравнений был равен
φ(pα1 1 )φ(pα2 2 ) · · · φ(pαkk ).
А это есть ни что иное, как φ(m). Таким образом, имеем одно и то же сравнение
aφ(m) ≡ 1(modpα1 1 ), aφ(m) ≡ 1(modpα2 2 ), aφ(m) ≡ 1(modpαkk )
по нескольким модулям. Значит, оно имеет место по модулю, равному наименьшему общему кратному модулей:
aφ(m) ≡ 1(modpα1 1 pα2 2 · · · pαkk ).
Иначе говоря,
aφ(m) ≡ 1(modm).
10.2. К главе 2
2.1. В качестве примера рассмотреть приведённые системы вычетов по модулям m = 5 и m = 8.
2.8. Все степени элемента x составляют циклическую группу порядка pq. Все степени элемента xp, составляют ее подгруппу порядка q, а все степени элемента xq составляют ее подгруппу порядка p. Пусть u = (xp)m, v = (xq)n. Покажем, что мож-
но найти такие m и n, чтобы было x = uv = vu. Последнее означает, что x = (xp)m × (xq)n = (xq)n × (xp)m.
Иначе говоря, x = xpm+qn. Это равенство будет выполнено, если pm + qn = 1 + tpq, где t целое. Или, что то же,
pm + qn − tpq = pm + q(n − pt) = pm + qn′ = 1. (10.2.3)
Так как (p, q) = 1, то существуют такие m и n′ , а значит и m и n, что (10.2.3) выполняется.
Легко вдеть также, что
uq = ((xp)m)q = (xpq)m = 1, vp = ((xq)n)p = (xpq)n = 1,
280 Глава 10. Указания к решению задач
2.10. Рассмотреть разложение группы H1 по подгруппе D, которая есть пересечение подгрупп H1 и H2. Затем умножить это разложение на H2.
В качестве примера можно рассмотреть циклическую группу G порядка n = 63 в разделе 2.8 (пример 2.3). H3 ∩H7 = H21
порядка d = 3. или H7 ∩H9 = I порядка d = 1. H3H7 = H7H9 =
G.
2.15. Проверка замкнутости. Если a, b H, или a, b N, то замкнутость очевидна. Если a H, b N, то и в этом случае ab HN. Наличие обратного элемента. Для a H, b N наличие обратных элементов очевидно, так как H и N группы, и обе они содержатся в HN. Найдём обратный элемент для ab. Имеем (ab)−1 = b−1a−1. Но b−1 N, a−1 H. Далее a−1N
HN, a−1N = Na−1, так как N нормальный делитель. Na−1
HN, b−1 N, так как N группа. b−1a−1 HN.
2.19. Приведённая система вычетов по простому модулю есть группа чётного порядка. Для каждого её элемента существует ему обратный. Их произведение равно единице. Сами себе обратными являются 1 и p−1. Отсюда (p−1)! ≡ (p−1)( mod )p ≡
−1.
Переведём изложенное решение на язык решения 1.7. Объединим в непересекающиеся пары gi, gj, 0 < i, j ≤ p−2, степени
g0, g1, . . . , gp−2 первообразного корня g так, чтобы было i + j = p − 1. Произведение этих степеней в паре обратится в единицу. Иначе говоря, сомножители в паре — это взаимно обратные элементы в группе элементов приведённой системы вычетов по
модулю p. Нет пары для элемента g0 = 1, но он сам себе обрат-
ный, и элемента g(p−1)/2, который, как было показано, равен −1. Он тоже сам себе обратный: (g(p−1)2)2 = gp−1 ≡ 1(modp).
10.3. К главе 3
3.4.Построить поле GF (25) и найти комплекты сопряженных элементов.
3.5.Пары взаимно обратных элементов в поле GF (11) явля-
ются 2, 6; 3, 4; 5, 9; 7, 8; 1 и 10 обратны сами себе. Только эти
пары могли бы быть корнями двучлена x2 +1, так как произведения внутри пар дают свободный член двучлена. Однако ни в одной паре сумма её членов не равна 0, т.е. коэффициенту при x. Аналогичное рассуждение следует провести на случай многшочлена x2 + x + 4.