Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
тема 1 Учебно-практическое пособие ДМ.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
454.66 Кб
Скачать

1.2.4. Поле вычетов

Как было показано в разд.1.2.3, полная система вычетов <Zn,*,+>является коммутативным кольцом.

Исследуем далее мультипликативную полугруппу <Zn,*>.

Единицей мультипликативной полугруппы является класс 1, поскольку 1*a=a*1=(1a) mod n=a.

Существуют пары обратных элементов. Например, (n-1)-1=(n-1), поскольку (n-1)*(n-1)=(n2-2n+1) mod n =1.

Однако делители нуля не имеют обратных элементов. Действительно, пусть n – составное число и a,b – делители нуля: a*b=b*a=0; a¹0, b¹0; и пусть a имеет обратный элемент c: a*c=c*a=1. Тогда b=b*1=b*(a*c)=(b*a)*c=0*c=0, что противоречит предположению b¹0.

Следовательно, мультипликативная полугруппа <Zn,*> не образует группу и полная система вычетов не является полем.

Однако, если ввести ограничение, что n – простое число, то мультипликативная полугруппа <Zn,*> без нуля образует коммутативную (абелеву) группу и полная система вычетов <Zn,*,+> будет является полем.

Так как операция умножения на множестве Zn коммутативна, то для доказательства того, что <Zn,*,+> является полем требуется доказать утверждение: если n – простое число, то для любого aÎ{1,2,…,n-1}, (a¹0), существует bÎ{1,2,…,n-1} (b¹0), такое что a*b=b*a=(ab) mod n =1.

Доказательство. Рассмотрим n-1 чисел a,2a,3a,…,(n-1)a, где aÎ{1,2,…,n-1}.

Поскольку a<n, a¹0 и множитель при a тоже меньше n, то произведение двух чисел, которые оба отличны от нуля и меньше простого n, на n не делится. Поэтому все эти числа лежат вне нулевого класса.

Если два числа sa и ta, s,tÎ{1,2,…,n-1} лежат в одном классе (sa=in+k, ta=jn+k), тогда их разность sa-ta=a(s-t) должна делится на n (sa-ta=in+k-jn-k=in-jn). Но поскольку оба сомножителя a и (s-t) меньше простого n, это не возможно. Поэтому никакие два числа a,2a,3a,…,(n-1)a не лежат в одном классе.

Итак, ни одно из чисел a,2a,3a,…,(n-1)a не лежит в классе 0, и все эти числа лежат в разных классах 1,2,3,…,n-1, поэтому в каждом из этих классов лежит ровно одно число из чисел a,2a,3a,…,(n-1)a. Значит и в классе 1 лежит некоторое единственное число ba, 1£b£(n-1). Это значит, что a*b=b*a=(ab) mod n = 1; a,bÎ{1,2,…,n-1}, (a¹0,b¹0), что и требовалось доказать.

Таким образом, в случае простого n полная система вычетов <Zn,*,+> является полем.

В этом случае можно ввести операцию деления, кроме деления на нуль

a/b=c, bc mod n =a, b¹0.

Результаты операций сложения, умножения, вычитания и деления полной системы вычетов <Z3,*,+> представлены в табл.1.5 - 1.8 соответственно. Результаты операций сложения, умножения, вычитания и деления полной системы вычетов <Z5,*,+> представлены в табл.1.9-1.12 соответственно.

Задания для самостоятельной работы к разд.1.2

  1. Реализуйте на языке высокого уровня алгоритм выполнения операций сложения, умножения и вычитания в полной системе вычетов. Получите результаты операций сложения, умножения и вычитания в различных полных системах вычетов. Результаты для систем <Z4,*,+>, <Z3,*,+> и <Z5,*,+> сравните с результатами, представленными в табл.1.2 - 1.7, 1.9-1.11.

Алгоритм выполнения операций сложения, умножения и вычитания в полной системе вычетов представлен на рис. 1.5. Здесь и далее при записи алгоритмов используются следующие обозначения:

 - оператор присваивания.

 - оператор транспозиции, т.е. выполнение оператора ab при a=3 и b=7 приводит к результату a=7, b=3.

- составной оператор.

for i=начальное значение to конечное значение do оператор – оператор цикла с фиксированным числом шагов, значение счетчика i увеличивается на единицу.

for i=начальное значение downto конечное значение do оператор – оператор цикла с фиксированным числом шагов, значение счетчика i уменьшается на единицу.

while условие do оператор – оператор цикла с предусловием.

вывести(список вывода) – оператор вывода.

{} – комментарий.

  1. Реализуйте на языке высокого уровня алгоритм выполнения операции деления в полной системе вычетов. Получите результаты операции деления в различных полных системах вычетов. Результаты для систем <Z3,*,+> и <Z5,*,+> сравните с результатами, представленными в табл.1.8, 1.12.

Алгоритм выполнения операции деления в полной системе вычетов представлен на рис.1.6.