Научная статья на тему 'Один из методов вычисления первообразных корней в остаточных классах'

Один из методов вычисления первообразных корней в остаточных классах Текст научной статьи по специальности «Математика»

CC BY
1519
238
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ПЕРВООБРАЗНЫЕ КОРНИ / СИСТЕМА ОСТАТОЧНЫХ КЛАССОВ / ПРИВЕДЕНИЯ / СИСТЕМА ВЫЧЕТОВ

Аннотация научной статьи по математике, автор научной работы — Визор Я. Е.

С целью построения оптимальных по быстродействию и оборудованию арифметических устройств вычислительной техники проведен анализ двух систем счисления: позиционной и системы счисления в остаточных классах. Предложен метод вычисления первообразных корней для модулей, представленных в виде суммы геометрической прогрессии, позволяющий без лишних временных затрат вычислять не только первообразные корни, но и числа из проведённой системы вычетов с порядками делителей.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

With the purpose of constructing optimal on speed and the equipment of arithmetic devices of computer facilities, the analysis of two number systems, item and number systems in residual classes is carried out(spent). The method of an evaluation of primitive roots for the units represented as the sum of geometrical progression is offered, permitting without superfluous temporary expenditures to calculate not only primitive roots, but also numbers from the carried out(spent) system of residues with orders of dividers.

Текст научной работы на тему «Один из методов вычисления первообразных корней в остаточных классах»

УДК 621.391.26 Я.Е. ВИЗОР

ОДИН ИЗ МЕТОДОВ ВЫЧИСЛЕНИЯ ПЕРВООБРАЗНЫХ КОРНЕЙ В ОСТАТОЧНЫХ КЛАССАХ

Abstract: With the purpose of constructing optimal on speed and the equipment of arithmetic devices of computer facilities, the analysis of two number systems, item and number systems in residual classes is carried out(spent). The method of an evaluation of primitive roots for the units represented as the sum of geometrical progression is offered, permitting without superfluous temporary expenditures to calculate not only primitive roots, but also numbers from the carried out(spent) system of residues with orders of dividers j(p).

Key words: primitive roots, system of residual classes, residue system.

Анотація: З метою побудови оптимальних по швидкодії та обладнанню арифметичних пристроїв обчислювальної техніки проведено аналіз двох систем числення: позиційної і системи числення в залишкових класах. Запропоновано метод обчислення первісних коренів для модулів, представлених у вигляді суми геометричної прогресії, який дозволяє без зайвих, часових витрат обчислювати не тільки первісні корені, але й числа з проведеної системи лишків даного модуля з порядками дільників j(p). Ключові слова: первісні корні, система залишкових класів, приведення, система лишку.

Аннотация: С целью построения оптимальных по быстродействию и оборудованию арифметических устройств вычислительной техники проведен анализ двух систем счисления: позиционной и системы счисления в остаточных классах. Предложен метод вычисления первообразных корней для модулей, представленных в виде суммы геометрической прогрессии, позволяющий без лишних временных затрат вычислять не только первообразные корни, но и числа из проведённой системы вычетов с порядками делителей j(p).

Ключевые слова: первообразные корни, система остаточных классов, приведения, система вычетов.

1. Введение

Изучение любых алгебр, в том числе и машинной, сводится не только к изучению набора операций и множеств, на которых они заданы, но и представлению этих алгебр, заключающихся в отображении одной алгебры в другую. Такое отображение, если оно сохраняет операции, т.е. имеет место морфизм, называется представлением [1-8]. Для машинной алгебры одним из таких представлений являются системы счисления.

Главные требования к любой предназначенной для практического применения системы следующие:

- возможность представления в данной системе любой величины в рассматриваемом, заранее назначенном диапазоне;

- возможность представления - любая кодовая комбинация соответствует одному и только одному числу в заданном диапазоне;

- простота оперирования с числами в данной системе счисления.

Диапазон, т.е. количество различных чисел, которые могут быть представлены в данной кодовой системе, очевидно, определяется количеством различных возможностей кодовых комбинаций.

Поскольку позиционная система счисления достаточно хорошо изучена, отметим лишь только её основной недостаток - наличие межразрядных связей, которые накладывают свой отпечаток на способы реализации арифметических операций, усложняют аппаратуру и ограничивают быстродействие. Поэтому как альтернатива возникли методы вычислений на основе

непозиционных систем счисления, в частности, на основе системы счисления в остаточных классах.

В системе остаточных классов, восходящей своими идейными корнями к классическим трудам Эйлера, Гаусса, Чебышева по теории сравнений, числа представляются своими остатками от деления на выбранную систему оснований. Все рациональные операции могут выполняться параллельно над цифрами каждого разряда в отдельности.

Охарактеризуем в общих чертах достоинства и недостатки системы счисления в остаточных классах.

К достоинствам следует отнести:

- независимость образования чисел, в силу чего каждый разряд несет информацию обо всем исходном числе, а не о промежуточном числе, получающемся в результате образования младших разрядов (как это имеет место в позиционной системе). Отсюда вытекает независимость разрядов числа друг от друга и возможность их независимой параллельной обработки;

- малоразрядность остатков, представляющих число. Ввиду малого количества вложенных кодовых комбинаций открывается возможность построения табличной арифметики, благодаря чему большинство операций, выполняемых арифметическими устройствами, превращается в однотактные, выполняемые простой выборкой из таблицы.

К основным недостаткам системы счисления в остаточных классах следует отнести:

- невозможность визуального сопоставления чисел, так как внешняя запись чисел не дает представления о его величине;

- отсутствие простых признаков выхода результатов операций за пределы диапазона;

- ограниченность действия системы сферой целых положительных чисел;

- получение во всех случаях точного результата операции, что исключает возможность непосредственного приближенного выполнения операций, округления результата и т.п;

- трудоемкое вычисление первообразных корней, что ведет к определенным трудностям при создании таблиц индексов и антииндексов [9].

В настоящее время система счисления в остаточных классах не нашла широкого распространения в современной вычислительной технике в силу своих недостатков, но способ представления чисел и методы выполнения арифметических операций позволит в дальнейшем уменьшить влияние основного недостатка позиционной системы счисления на быстродействие вычислительной системы в целом.

2. Постановка задачи

Для получения быстрых методов выполнения арифметических операций необходимо, с учётом выбранной машинной алгебры, проанализировать реализацию этих методов в системе счисления остаточных классов. В этой системе счисления некоторые арифметические операции, например, операцию умножения, можно выполнять над двоичными малоразрядными остатками чисел по определенному простому модулю, но для этого требуются определенные затраты (времени, оборудования) на вычисление этих же остатков и модуля их произведения. В теории индексов эта же операция умножения представлена как сумма индексов множителей по инкрементированному

простому модулю. В этом методе используются простые модули, которые имеют первообразные корни, о трудоемкости, вычисление которых было отмечено выше.

3. Методы вычисления первообразных корней

Отметим некоторые известные теоремы, касающиеся порядка числа, которые необходимы для дальнейших исследований.

Пусть a - число взаимно простое с m . Порядком (показателем) числа а по модулю m

называется наименьшее целое положительное число d, такое, что ad ° l(modm). Если

b ° 1( modm ) и если b ° a(modm), то b имеет тот же порядок по модулю m , что и а. Таким образом, все элементы класса вычетов a mod m имеют порядок d; число d называется порядком класса вычетов a mod m и обозначается через G(a mod m) .

Теорема 1. Пусть a,b - числа взаимно простые с m. Если числа G(amodm) и G(b mod m) взаимно простые, то

G(ab mod m) = G(a mod m)G(b mod m) .

Теорема 2. Если G(amod- m) = n и (k, n) = d , то G(ak modm) = n / d. Отсюда, если

d = 1, то G(ak mod m) = n.

Для мультипликативной группы вычетов по простому модулю необходимо изучить числа, имеющие наибольший порядок по этому модулю.

В теории сравнений доказано, что если p - простое число и d - натуральный делитель числа p — 1, то в приведенной системе вычетов по модулю p существует точно j(d) чисел, имеющих порядок d. Функция j(n)) называется функцией Эйлера. Она обозначает число положительных целых чисел, не превосходящих n и взаимно простых с n , причем эта числовая функция определена на множестве всех целых положительных чисел. Отсюда, если вычет a по модулю m имеет порядок j(m)), то a называется первообразным корнем по модулю m . Тогда, анализируя вышесказанное, заключаем, что число первообразных корней по модулю m равно j(m — 1).

Далеко не всякое число p имеет первообразный корень. Точно так же нет каких-либо формул (за исключением некоторых p специального вида, представлены в работах П.Л.Чебышева), которые выражали бы величину первообразного корня в случае, когда он существует в зависимости от p . Нахождение первообразного корня проводится в подавляющем большинстве случаев простым перебором чисел, входящих в приведенную систему вычетов по некоторому модулю, что требует больших временных затрат особенно для больших модулей.

К более эффективному алгоритму определения первообразных корней, чем испытание всех возможных оснований, может привести известная теорема [10, 11].

Теорема 3. Пусть р,Р2,...Рг - простые делители числа р — 1. Тогда необходимым и достаточным условием того, что g есть первообразный корень простого числа р , является невыполненное ни одно из сравнений:

р—1 р—1 р—1

g р1 ° 1(шоё р), g р2 = 1(шоё р), g рзг = 1(шоё р). (1)

Из этой теоремы вытекает, что для вычисления первообразных корней надо испытывать основание только на невыполнение условий (1).

Этот метод также малоэффективен особенно для больших модулей, когда приходится проверять на невыполнение условий (1) большое количество чисел из проведенной системы вычетов по данному модулю, и, кроме того, количество таких проверок возрастает в г раз, (где г -количество делителей р — 1), так как общее количество проверок определяется как (р — 1) • г .

N—1

4. Вычисление первообразных корней модуля р = I Л1

Л1

ь=1

Некоторые простые числа р можно представить суммой членов геометрической прогрессии:

Л1 = ЛоgJ, 1 е( ОЛ... }.

Если Л0 = 1, то Л^ = g1, а сумма SN равна

gN — 1

N /, 2±1 ,

1=0 g — 1

^ = I Л, = где g - знаменатель прогрессии.

ЛN — 1

Далее, если g = Л , то =------------.

N Л — 1

Рассмотрим вычисление первообразных корней в случае, если р = SN. Запишем уравнение для простого р :

Л1^ — 1

р = Л0 + Л1 + Л2 +.... + Л1Я—1 =-------, (2)

Л—1

где Л1 (1 = 0,1...М) - член геометрической прогрессии, Л - знаменатель прогрессии. Имеет место сравнение

р ° 0(шоё р) .

Подставив значение р из (2), получим

ЛN — 1

Л—1

или, с учетом свойств сравнений

Отсюда

Лы — 1 ° 0(шоё р).

Л1^ ° 1(шоё р) . (3)

Теорема 4. Пусть p = A0 + A\..AN—1 - простое число, A - знаменатель геометрической прогрессии, тогда N - число членов геометрической прогрессии, удовлетворяющее сравнению AN ° l(modp) , является порядком числа A по модулю p .

Доказательство. Известно, что порядки, которым числа принадлежат по модулю p , суть делители

j(p). По условию p - простое число, то j = (p) + p — 1. Покажем, что N делит p — 1.

Допустим, что число A имеет порядок d, тогда N делится на d согласно [12] или

N = kd. (4)

Запишем систему сравнений:

ГAn ° l(modp)

IAp—1 ° l(mod p)

Отсюда

Ap—1 ° AN (mod p). (б)

Сравнение (б) имеет место тогда и только тогда, когда

p — 1 = N (mod d) . (б)

Переходя к уравнению, получим

(p — l) — N = md.

Поставив вместо d его значение N/к , получим следующее уравнение:

. ,r m ■ N

(p — 1) — N = ——.

k

Тогда

к (p — 1)

= m + к . (7)

N

Из (7) видно, что, поскольку N > к, нацело на N должен делиться только множитель p — 1. Отсюда делаем вывод, что N является делителем числа p — 1. Далее, поскольку d -порядок числа A , то оно может принимать любое из значений d = 0,1,2,...N — 1, при этом должно иметь место сравнение

Ad ° l(mod p). (8)

Но любое число Ad является элементом суммы (2), которая равна p . Поскольку в нашем случае

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

Ad < p, то и Ad — 1 < p . Отсюда делаем вывод, что сравнение (8) может существовать при

d = N , т.е. число N является порядком числа A по модулю p .

Рассмотрим случай, когда N = 3 . Тогда формулу (2) можно переписать в виде

A0 + A1 + A2 = p, (9)

Или, поскольку A0 = 1, то

A(A +1) = p — 1. (10)

Иначе говоря, в данном случае мы будем иметь дело с такими знаменателями А геометрической прогрессии, которые при умножении на стоящее рядом в натуральном ряду число А +1 даст р(р)) или р -1. Формула (9) представляет собой квадратное уравнение, корнями которого будут положительные А :

-1 + ^4р—3

2

Сделав замену d2 = 4p — З , получим

p=

d — 1

2 ’

d2 + З

4

(11)

(12)

Из формул (11) и (12) видно, что ё - нечетное простое число и больше 3, т.е. ё = 5,7..., так как необходимо, чтобы получаемое р из (12) было простым числом. Например, если принять ё = 11, то получим А = 5, р = 31, что удовлетворяет уравнению (10).

Подставляя значение (г = 1,2.3.4....) в формулы (11), (12), можно получить бесконечную систему уравнений:

' А1 (4 +1) = Р1 -1;

А2 (А2 + 1) = Р 2 — 1; (1 з)

(1 3)

,Аг (4 + 1) = Рг - 1

Анализ системы уравнения (13) и сравнения (3) показывает, что знаменатель геометрической прогрессии Аг-1 и рг-1 -1 является первообразными корнями модуля рг, т.е. эти

числа имеют порядок рг -1. Для примера подставим четыре значения dt в формулы (11) и (12) и запишем систему сравнений:

23 = 1 (mod 7)

33 = 1 (mod13)

53 = 1 (mod 31) .

63 = 1 (mod 43)

Числа Aj = 2 и p — 1 = 6 из первого сравнения будут первообразными корнями модуля

р = 13 , числа А2 = 2 и р — 1 = 12 - модуля р = 31 и т. д.

Основным достоинством предложенного метода вычисления первообразных корней является то, что вычисления производятся без проверок оснований из проведенной системы вычетов для заданного р, что является более эффективным с точки зрения временных затрат.

Кроме того, предложенный метод позволяет, на основании выведенной теоремы 4 и известных

теорем 1 и 2, вычислять числа из проведенной системы вычетов, имеющих порядки делителей числа р — 1, а также их количество. Например, пусть р = 13 . Число р можно записать в виде

р = (р — 1)0 + (р — 1)1 = (р~1|)2—1 .

(р —1) — 1

Отсюда число р — 1 = 12 на основании теоремы 4 имеет порядок 2. Кроме того, для данного р

а (р — 1) •а

существует (2) А = 3 , имеющее порядок 3. С учетом теоремы 1, остаток от ---------- есть число

Р

10, имеющее порядок 6. Вычислив, все первообразные корни, получим четыре числа с порядком р — 1 = 12. Число с порядком 4 вычисляем на основании предложения 5,7 из [12], т.е. остаток от

х3 63

—^ = — есть число 8, имеющее порядок 4. Число р — 1 = 12 имеет 6 натуральных делителей: р 13

1,2,3,4,6,12. Количество чисел с соответствующими порядками определяем на основании теоремы 5,9 [12]:

р(1) = 1; р(2) = 1; р(3) = 2; р(4) = 2; р(6) = 2 ; р(12) = 4 .

Вычисляем по одному представителю приведенной системы вычетов модуля р = 13 с порядками делителей 1 , остальные числа, имеющие такие же порядки, вычисляем на основании теоремы 2. В итоге получаем следующий результат: числа 2,6,7,11 имеют порядок 12 (первообразные корни); число 12 - порядок 2; число 3 - порядок 3; числа 5, 8 - порядок 4, число 1 -порядок 1.

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

N—1

р = ^ А ), позволяющий без лишних временных затрат вычислять не только первообразные

і=1

корни, но и числа из проведённой системы вычетов с порядками делителей р(р).

5. Применение индексов для выполнения арифметических операций

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

Из теории индексов известно, что если g- первообразный корень р , то сравнение

gх ° (тоёр) ,

где А , не кратное р , имеет одно и только одно решение, которое называется индексом I числа А и обозначается I = іпйА. Первообразный корень g называется основанием индекса.

Известно, что если А1зА2,...,Ак суть целые положительные числа, индексы которых по модулю р при первообразном корне g соответственно равны і1зі2,...,ік, и если через I обозначен индекс произведения этих чисел А1зА2,...,Ак по модулю р при том же первообразном корне, то индекс произведения равен сумме индексов сомножителей, взятой по модулю 1 , т.е.

к

1 = X /у (^ Р -1) ■ (14)

1-1

Соотношение (14) применяется и для выполнения деления по модулю. Под делением по

превращающих a + rp в число, кратное b . В данном случае, если —(modp) = c , то

b

(ind a - ind b) mod (p -1) = ind c.

Эта особенность индексов роднит их с логарифмами и позволяет заменять умножение и деление чисел соответственно сложением и вычитанием их индексов с последующим переходом от произведения и деление индексов к самому произведению и делению. Для перехода от индексов к фактическому числу применяются антииндексы. Антииндексом числа I называется число A такое, что

Для того чтобы иметь возможность использовать для целей умножение соотношение (14), надо вычислить антииндексы чисел. Поскольку имеется таблица вычисленных индексов чисел, то соответствующим обращением этой таблицы можно получить все значения а из выражения (16).

В работе предложен метод вычисления первообразных корней для модулей, представленных в виде суммы геометрической прогрессии, которые являются основой для использования теории индексов в арифметических операциях. Данный метод позволяет без лишних временных затрат вычислять не только первообразные корни, но и числа из проведённой системы вычетов с порядками делителей р(р).

В системе остаточных классов предполагается применять индексы для получения цифр произведения чисел по каждому из оснований в отдельности. Теория индексов может быть применена и для сложных модулей, а формула (14), при надлежащем выборе сложного модуля, обеспечивающего наличие первообразного корня, может иметь место для перемножаемых чисел в целом. Однако для сформулированной цели достаточно рассматривать индексы отдельно по модулям - основанием выбранной системы. В этом случае не трудно выбрать эти основания такими, чтобы для них можно было вычислить первообразные корни и, следовательно, могли бы быть построены таблицы индексов. Для любого простого модуля первообразный корень всегда существует и поэтому, если в качестве оснований системы использовать простые числа (что совпадает с условием при выборе машинной алгебры), то удовлетворяются как основное требование однозначности представления чисел - взаимная простота оснований системы, так и условие существования первообразный корней. Следовательно, имеется возможность построения

a , , . a + kp ,

модулю — (modp) понимается частное -, где к

bb

наименьшее из возможных чисел,

a

I = inda или a = ind 11. Если антииндекс обозначить через N (I), то из (15) следует

(15)

(16)

6. Выводы

соответствующих таблиц индексов, что позволит увеличить быстродействие арифметического блока.

СПИСОК ЛИТЕРАТУРЫ

1. Ленг С. Алгебра. - М.: Мир, 1968. - 564 с.

2. Калужнин Л.А. Введение в общую алгебру. - М.: Наука, 1973. - 239 с.

3. Фрид Э. Элементарное введение в абстрактную алгебру. - М.: Мир, 1972. - 260 с.

4. Курош А.Г. Курс высшей алгебры. - М.: Наука, 1976. - 431 с.

5. Воеводин В.В. Линейная алгебра. - М.: Наука, 1980. - 400 с.

6. Кострикин А.И. Введение в алгебру. - М.: Наука, 1979. - 495 с.

7. Ван Дер Варден Б.Л. Алгебра. - М.: Наука, 1986. - 624 с.

8. Скорняков Л.А. Элементы алгебры. - М.: Наука, 1986. - 239 с.

9. Акушинский И.Я., Юдицкий Д.И. Машинная арифметика в остаточных классах. - М.: Советское радио, 1968.

- 429 с.

10. Бухштаб А.А. Теория чисел. - М.: Просвещение, 1966. - 379 с.

11. Виноградов И.М. Основы теории чисел. - М.: Наука, 1972. - 167 с.

12. Куликов В.В. Алгебра и теория чисел. - М.: Наука, 1980. - 400 с.

i Надоели баннеры? Вы всегда можете отключить рекламу.