Дискретная математика:
логика, группы, графы, фракталы

Акимов О.Е.

2.4. Алгебраические системы на базе групп

Сведения из теории чисел

Чтобы двигаться дальше, напомним некоторые общие сведения из теории чисел. Всякое натуральное число p, не имеющее других натуральных делителей, кроме единицы и самого себя, называется простым, в противном случае — составным (единица считается ни простым, ни составным). Всякое натуральное число a, кроме единицы, может быть представлено произведением простых множителей: a = p1p2 ... pn. Среди простых сомножителей этого представления могут встретиться равные. Если через p1, p2, ..., pk обозначить различные простые числа и допустить, что они встречаются, соответственно, n1, n2, ... , nk раз, то получим представление a = p1n1 p2n2 ....pknk, которое называется каноническим. Так, каноническое разложение числа 360 выглядит следующим образом: 23325. Каноническое разложение показывает, что все делители числа a исчерпываются числами вида

d = p1m1p2m2 ... pkmk,

где 0 ≤ m1n1, 0 ≤ m2n2, ... , 0 ≤ mknk .

Отношение делимости не является отношением эквивалентности: a/b ≠ b/a, но операция сравнения по mod(m) будет такой, поскольку для нее выполняются все три закона эквивалентности: a = a mod(m) — рефлексивности, из a = b mod(m) следует b = a mod(m) — симметричности, если a = b mod(m) и b = c mod(m), то a = c mod(m) — транзитивности.

Вычеты по mod(m) определяют разбиение множества целых чисел на m классов эквивалентности

{C0, C1, C2, ... , Cm–1},     где Ci = {i, i + m, i + 2m, ...}. 

Например, для неотрицательных целых чисел по mod (4) имеется четыре класса:

C0 = {0, 4, 8, 12, ...},     C2 = {2, 6, 10, 14, ...},

C1 = {1, 5, 9, 13, ...},     C3 = {3, 7, 11, 15, ...}.

Объединение непересекающихся классов дает бесконечный монотонно возрастающий числовой ряд. Классы образуют фактормножество, которое может быть представлено в нашем случае четырьмя представителями — {0, 1, 2, 3}; представители образуют ядро этого фактормножества. Для представителей можно ввести операции сложения и умножения по mod(4), которые удобно оформить таблицами (табл. 2.70 и табл. 2.71).

Таблица 2.70       Таблица 2.71

По сложению (табл. 2.70) имеем коммутативную группу, а по умножению (табл. 2.71) — нет, так как у нас получилось 2 · 2 = 0, что не допустимо для группы, но допустимо для кольца, которое имеет делители нуля. Примером кольца с делителем нуля является кольцо квадратных матриц:

Кольца без делителей нуля называются кольцами целостности.

Если вычеты образованы по модулю простого числа, то фактормножество или ядро его представителей является полем GF(p), которое имеет специальное название — поле Галуа. В этих полях делители нуля уже отсутствуют, поэтому они занимают особое место в алгебре. Отбросив окаймляющие нули в таблице умножения для полей Галуа, которые есть и в табл. 2.71, мы получим элементы, образующие циклическую группу. Табл. 2.72 и табл. 2.73 являются примерами группового сложения и умножения в поле Галуа GF(5).

Таблица 2.72          Таблица 2.73

При работе с полями многочленов нам понадобятся понятия наибольшего общего делителя двух чисел a и b — НОД(a, b) и наименьшего общего кратного — НОК(a, b), а также алгоритм Евклида. Напомним их содержание с помощью конкретного примера. Пусть даны два числа a = 24 и b = 30. Выпишем все делители этих чисел —

d(24) = {1, 2, 3, 4, 6, 8, 12, 24},  d(30) = {1, 2, 3, 5, 6, 10, 15, 30}.

Совокупность общих делителей образует множество {1, 2, 3, 6}. Следовательно, наибольший общий делитель равен 6. При больших числах для разыскания НОД используют алгоритм Евклида. Его содержание сводится к последовательному вычислению следующих равенств:

Действие алгоритма прекращается тогда, когда полученный остаток равен нулю; последний ненулевой остаток (rn) равен наибольшему общему делителю. Как следствие, из алгоритма Евклида вытекает, что для любых целых чисел a и b всегда существуют такие числа m и n, что НОД(a, b) представляется в виде линейной комбинации этих чисел:

ma + nb = rn = НОД(a, b).

Кроме того, отношение a/b можно представить в виде цепной дроби. Чтобы к ней перейти, разделим все равенства, полученные в алгоритме Евклида, на b, r1, r2, ..., rn –1, rn, получим:

Последовательно подставляя эти равенства друг в друга, получаем цепную дробь:


 
  


Hosted by uCoz