Система остаточных классов - введение — различия между версиями

Материал из Модулярная арифметики
Перейти к: навигация, поиск
Строка 41: Строка 41:
 
== Теорема о делении с остатком. Алгоритм Евклида ==
 
== Теорема о делении с остатком. Алгоритм Евклида ==
  
Теорема. для любых целых ''n'' и ''m'',
+
'''Теорема о делении с остатком'''
<math>m \not= 0</math>, существует единственный набор целых чисел ''q'' и ''r'', что n = mq + r и <math>0 \le r < |m|</math>, где |''m''| — модуль числа ''m''.
+
для любых целых ''a'' и ''b'',
 +
<math>b \not= 0</math>, существует единственный набор целых чисел ''q'' и ''r'', что a = bq + r и <math>0 \le r < |b|</math>, где |''b''| — модуль числа ''b''.
  
 
На этой операции основан алгоритм Евклида нахождения наибольшего общего делителя двух целых чисел.
 
На этой операции основан алгоритм Евклида нахождения наибольшего общего делителя двух целых чисел.
 +
 +
'''Алгоритм Евклида для целых чисел'''
 +
 +
Пусть <math>a</math> и <math>b</math> — целые числа, не равные одновременно нулю, и последовательность чисел
 +
: <math> a > b > r_1 > r_2 > r_3 > r_4 > \cdots >r_n</math>
 +
определена тем, что каждое <math>r_k</math> — это остаток от деления предпредыдущего числа на предыдущее, а предпоследнее делится на последнее нацело, то есть
 +
: <math>a = bq_0 + r_1</math>
 +
: <math>b = r_1q_1 + r_2</math>
 +
: <math>r_1 = r_2q_2 + r_3</math>
 +
 +
: <math>\cdots</math>
 +
: <math>r_{k-2} = r_{k-1} q_{k-1} + r_k</math>
 +
 +
: <math>\cdots</math>
 +
: <math>r_{n-2} = r_{n-1}q_{n-1}+ r_n</math>
 +
: <math>r_{n-1} = r_n q_n</math>
 +
 +
Тогда НОД(''a'',''b''), наибольший общий делитель <math>a</math> и <math>b</math>, равен
 +
<math>r_n</math>, последнему ненулевому члену этой последовательности.
 +
 +
'''Существование''' таких <math>r_1, r_2, ...</math>, то есть возможность деления с остатком <math>a</math> на <math>b</math> для любого целого <math>a</math> и целого <math>b\ne 0</math>, доказывается индукцией.
 +
 +
'''Корректность''' этого алгоритма вытекает из следующих двух утверждений:
 +
* Пусть <math>a = bq + r</math>, тогда НОД (<math>a</math>, <math>b</math>) = НОД (<math>b</math>, <math>r</math>).
 +
* НОД(0,<math>r</math>) = <math>r</math> для любого ненулевого <math>r</math> (так как 0 делится на любое целое число, кроме нуля).
 +
  
 
== Китайская теорема об остатках ==
 
== Китайская теорема об остатках ==

Версия 14:16, 26 августа 2014

Теоретико-числовая база построения системы остаточных классов

Напомним определение деления с остатком.

Определение. Говорят, что целое число n делится на натуральное число m с остатком, если имеется пара целых чисел q и r, таких, что n = m \cdot q+r и 0\le r<m. n называется делимым, m - делителем, q - неполным частным, r - остатком.

Для целых чисел:

Определение. Говорят, что целое число n \in Z делится на натуральное число m \in Z с остатком, если имеется пара целых чисел q и r, таких, что n = m \cdot q+r и 0\le r<|m|.


Пример: 48 при делении на 5 даёт остаток 3, т.к. 48=5\cdot 9+3, 0\le 3<5, -48 при делении на 5 даёт остаток 2, т.к. -48=5\cdot (-10)+2, 0\le 2<5.


Сравнения и их основные свойства

Возьмём произвольное фиксированное натуральное число  m и будем рассматривать остатки при делении на  m различных целых чисел.

При рассмотрении свойств этих остатков и проведении операций над ними удобно ввести понятие сравнения по модулю.


Определение. Два целых числа  a и  b называются сравнимыми по модулю m, если их разность Невозможно разобрать выражение (лексическая ошибка): a − b

делится без остатка на  m .

Символически сравнимость записывается в виде формулы (сравнения):

a \equiv b \pmod{m}

Число  m называется модулем сравнения.

Эквивалентная формулировка:

Определение. Целые числа  a и  b называются сравнимыми по модулю m, если остатки от деления этих чисел на m равны.

Отношение сравнимости по модулю  m обладает свойствами рефлексивности, симметричности и транзитивности, т.е. является отношением эквивалентности.

Отнесём все целые числа, дающие при делении на  m один и тот же остаток в один класс, поэтому получится  m различных классов по модулю  m . Множество всех чисел сравнимых с  a по модулю  m называется классом вычетов  a по модулю  m .

Подробнее о свойствах сравнений и классах вычетов смотри Сравнения и их основные свойства

Теорема о делении с остатком. Алгоритм Евклида

Теорема о делении с остатком для любых целых a и b, b \not= 0, существует единственный набор целых чисел q и r, что a = bq + r и 0 \le r < |b|, где |b| — модуль числа b.

На этой операции основан алгоритм Евклида нахождения наибольшего общего делителя двух целых чисел.

Алгоритм Евклида для целых чисел

Пусть a и b — целые числа, не равные одновременно нулю, и последовательность чисел

 a > b > r_1 > r_2 > r_3 > r_4 > \cdots >r_n

определена тем, что каждое r_k — это остаток от деления предпредыдущего числа на предыдущее, а предпоследнее делится на последнее нацело, то есть

a = bq_0 + r_1
b = r_1q_1 + r_2
r_1 = r_2q_2 + r_3
\cdots
r_{k-2} = r_{k-1} q_{k-1} + r_k
\cdots
r_{n-2} = r_{n-1}q_{n-1}+ r_n
r_{n-1} = r_n q_n

Тогда НОД(a,b), наибольший общий делитель a и b, равен r_n, последнему ненулевому члену этой последовательности.

Существование таких r_1, r_2, ..., то есть возможность деления с остатком a на b для любого целого a и целого b\ne 0, доказывается индукцией.

Корректность этого алгоритма вытекает из следующих двух утверждений:

  • Пусть a = bq + r, тогда НОД (a, b) = НОД (b, r).
  • НОД(0,r) = r для любого ненулевого r (так как 0 делится на любое целое число, кроме нуля).


Китайская теорема об остатках

Теоремы Эйлера и Ферма, их роль в вычислении мультипликативных обратных элементов по заданному модулю

Числа Мерсенна, Ферма и операции над ними

Математические модели модулярного представления и параллельной обработки информации

Представление числа в системе остаточных классов. Модульные операции

Основные методы и алгоритмы перехода от позиционного представления к остаткам

Восстановление позиционного представления числа по его остаткам

Расширение диапазона представления чисел

Литература