КЛАССИФИКАЦИЯ ТЕРНАРНЫХ КВАЗИКАНОНИЧЕСКИХ СИСТЕМ СЧИСЛЕНИЯ В МНИМЫХ КВАДРАТИЧНЫХ ПОЛЯХ И ИХ ПРИЛОЖЕНИЕ
Богданов П.С., Чернов В.М.
Институт систем обработки изображений РАН
Аннотация
В работе рассматриваются все возможные тернарные квазиканонические системы счисления в мнимых квадратичных полях. Для представления целых алгебраических чисел мнимых квадратичных полей в указанных системах счисления используется алгоритм, основанный на делении с остатком. Кроме того, синтезируются алгоритмы реализации основных арифметических операций над числами в тернарных системах счисления кольца целых чисел Эйзенштейна. Рассматривается метод быстрого безошибочного вычисления дискретной циклической свёртки.
Ключевые слова: каноническая система счисления, деление с остатком по норме, квазиканоническая система счисления, мнимые квадратичные поля.
Введение
Целью настоящей работы является классификация одного класса троичных систем счисления в мнимых квадратичных полях. Актуальность работы определяется двумя факторами.
Во-первых, троичные системы счисления не часто, но всё же использовались в приложениях, например, в докомпьютерную эру Д.И. Менделеев интересовался тернарной уравновешенной системой счисления и на её основе разработал цифровой ряд значений весов разновеса для взвешивания на лабораторных весах, который используется по сей день [1, 2]. Позднее Джоном Фон Нейманом [3] было показано, что именно троичная система счисления наиболее экономична. В данном случае под экономичностью понимается возможность представления как можно большего диапазона чисел с использованием как можно меньшего общего количества состояний триггеров, составляющих регистры, которые и описывают представления чисел в некоторой системе счисления. Развитие же «экономичной» троичной вычислительной техники тормозилось в основном технологическими причинами.
В наше время, несмотря на скептическое высказывание Д. Кнута [4] относительно перспектив применения так называемой троичной уравновешенной системы счисления (то есть позиционной системы счисления с основанием 3 и цифрами {-1,0,1}), эта
система всё же применяется, например, при создании электронных устройств, что объясняется тем, что умножение в такой системе счисления производится без переносов, а в таблице сложения переносы в старшие разряды присутствуют лишь в двух случаях.
Во-вторых, в работах И. Катаи и Б. Ковача [5, 6] введено понятие канонических систем счисления, экстраполирующее теорию систем счисления на случай квадратичных полей. Следует отметить, что И. Катаи, Б. Ковач и их последователи рассматривают только тот случай, когда конечное множество цифр состоит из целых рациональных чисел. В работах [5, 6, 7] ими получены классификационные теоремы для канонических систем счисления во всех квадратичных полях. Кроме того, Ко-вачем [8] найдены эффективные рекуррентные алгоритмы вычисления цифр представления элементов в канонических системах счисления.
В данной работе мы классифицируем тернарные системы счисления в мнимых квадратичных расширениях, предполагая, что цифрами в них являются целые квадратичные элементы. Такие системы счисления в статье называются квазиканоническими. В отличие от цитируемой работы [8] для нахождения цифр представления элементов в квазиканонических системах счисления синтезируются алгоритмы, основанные на алгоритме деления с остатком в некоторых квадратичных кольцах.
Основные определения
Определение 1. Пусть Q(\/d) есть квадратичное поле [9]:
Q(4d) = {2 = а + Ь4ё; а, Ь е Q},
где ё - целое число, свободное от квадратов. При ё > 0 квадратичное поле называется вещественным, а при ё < 0 - мнимым.
Если норма Ыогш( 2) = (а + Ь4ё )(а - Ь^ё) = = а - ёЬ элемента 2 = а + и его след
Тг(2) = (а + Ьл/ё) + (а - Ь\[ё) = 2а есть целые числа, то этот элемент называется целым алгебраическим числом поля Q("■[ё) [10].
Хорошо известно [9], что целые алгебраические числа мнимого поля Q (/ч/А) , где ё < 0 , А = |ё| ,
имеют вид
а + Ь/ч/А; а + Ь/ч/А
2 =
2
а,Ь е 1 при А °-2,-3(mod 4); а,Ье 1, а ° Ь(mod2) при А °-1(mod 4).
Q (^)
будем
Кольцо целых элементов поля
обозначать £(4ё).
Определение 2. Целое алгебраическое число а= А±4ё (при ё ° 2,3(mod4)) или а = 1 (В±4ё) (при ё ° 1(mod4)) называется основанием канонической системы счисления (КСС) в кольце £ (у[ё) целых
элементов поля Q(y[d) , если любой целый элемент этого поля однозначно представим в форме конечной суммы
ад
^ = ^ а ¿а1 , ]=0
а1 е I = {0,1,...,|Ывгш(а)\-1} .
Пара {а; I} называется канонической системой счисления (КСС) в кольце £), а I - алфавитом
этой системы [10].
В работах [8] для представления целого алгебраического числа в таких системах применяется рекуррентный алгоритм. Однако с той же целью можно использовать и деление с остатком, реализуемое лишь в некоторых кольцах [11]. В настоящей работе рассматриваются только мнимые кольца.
Определение 3. Говорят, что в кольце Б имеет место алгоритм деления с остатком, если на отличных от нуля элементах ре Б определена функция
||Р||, принимающая целые неотрицательные значения,
так, что выполняются следующие условия:
1) если р^ 0 делится на а, то ||р||>||а||;
2) для любых элементов р и а^0 в Б существуют такие у и г, что р = ау+ г, причём либо г = 0, либо ||г|| < ||а||.
Утверждение. Среди колец £) целых элементов мнимых квадратичных полей Q (л/С) алгоритмом деления с остатком по норме обладают те и только те, для которых с равно одному из следующих пяти значений: {-1, -2, -3, -7, -11} [9].
Стоит отметить, что числа у и г в равенстве р = ау + г определяются неоднозначно, поскольку существует несколько различных остатков г , имеющих одну и ту же норму. Это позволяет рассматривать различные системы счисления с одним и тем же основанием а , но разными алфавитами (множествами цифр).
Если в качестве элементов множества I рассматривать не целые рациональные (обычные целые), а целые алгебраические числа, то можно получить целый класс систем счисления. Например, в поле
(¿V3 ) в качестве цифр можно рассматривать числа
Q (iS)
1 + /Тз -1 + /Тз
0.
а в качестве основания -
-3 + ¿Уз 2 .
Определение 4. Целое алгебраическое число а называется основанием квазиканонической системы
счисления в кольце £ ) целых элементов поля
Q(^/d) , если любой целый элемент этого поля представим в форме конечной суммы
k(z)
z = ^ a ja1 , üj e I,
j=0
где множество I состоит из целых алгебраических чисел, по норме меньших нормы основания a.
Пара {a; I} называется квазиканонической системой счисления в кольце S(4d), а I - алфавитом этой системы.
Тернарные квазиканонические системы счисления
Определение 5. Квазиканоническая система счисления с основанием a и алфавитом I называется
тернарной системой счисления в поле Q (\¡d), если
Norm (a) = 3 и алфавит I состоит из трёх цифр.
В табл. 1 указаны числа z , имеющие нормы 1, 2 и 3 в мнимых квадратичных полях, для которых существует алгоритм деления с остатком.
Таблица 1. Числа с нормами 1, 2 и 3 в полях Q (i), Q (iy¡2), Q (i л/3), Q (i V7), Q (i VTY)
14 d 1 2 3
-1 ±1; ± i ±1 ± i нет
-2 ±1 ±/V2 ±1 ± i-Jl
-3 ±1- ±! ± ^ ' 2 нет W3; ±3±^ 2
-7 ±1 ±1 ± iV7 2 нет
-11 ±1 нет ±1 ± iVíT 2
Из этой таблицы следует, что тернарные квазиканонические системы счисления могут существовать только при d = -2, -3, -11.
Используя табл. 1, можно легко получить возможные комбинации оснований систем счисления и множества остатков.
Сформулируем в виде лемм ряд свойств, справедливых для любых тернарных квазиканонических систем счисления.
Лемма 1. Если Norm (a) = 3 , то равенство Р = ag+ r равносильно равенству
g =
(b-r )a
3
(1)
где а - число, сопряжённое а.
Лемма 2. Если для пары {а; I} доказано, что представление произвольного целого алгебраическо-
2
2
го числа у0 в форме у0 =у1а+ г0 единственно, где г0 е I , то для того, чтобы пара {а; I} образовывала систему счисления, достаточно, чтобы представление числа у0 являлось конечным, то есть процесс деления с остатком:
У0 = У] -а+/0,
У: =у2-а + г1, (2)
h =Ъ+1 Г, где r0, r1, ..., rl е I , был конечен. Другими словами, существует такое l, что у1+1 = 0 , а для этого, в свою очередь, достаточно, чтобы Norm (gm+1 )< Norm (ут) "m = 0,1,...,l.
Определение 6. Системы счисления {a; I} и
{a'; I'} в кольце S (4d) называются эквивалентными, если существует взаимно однозначное отображение f: S (yfd)® S (yjd) , причём f (I ) = I' , такое,
что для любого числа уе S (*Jd) , представимого в
N
системе счисления {a; I} в виде у= ^ apap , где
p=o
ap е I, число f (у) в системе счисления {a'; I'} за-
N
писывается в виде f (у)= ^ f (ap )(a')p . Стоит от-
p=o
метить, что a' не обязательно равно f (a).
Лемма 3. Если r - первообразный корень из единицы степени, равной количеству чисел с единичной
нормой (единиц поля) в кольце S (4d), то системы
счисления {a; I} и {a;I • rk} эквивалентны, где к = 0,1,2,....
Доказательство. Действительно, если для у0 , представимого в системе счисления {a; I} , справедливо равенство у0 =у^ + r0, то, умножая это равен-
к к ство на r , получим, что число у0г имеет такую же
запись в системе счисления {a; I • rk }, как и у0
в сис-
N
теме
счисления {a, I}, то есть если у0 = ^ apa
apa , то
p=0
(aprk) ap . Это означает, что системы счис-
Уork = Z (aprk)ap . Это
р=0
ления {а; I} и {а;I • гк } эквивалентны.
Лемма 4. Если а - число комплексно-сопряжённое числу а , а I состоит из чисел ком-
плексно-сопряжённых числам из I, то системы счисления {а; I} и {а; I} эквивалентны.
Доказательство. Действительно, если взять сопряжение от обеих частей равенства У0 = У1а + /0 , то
получим у0 = у1 а + г0, то есть число у0 имеет такую же запись в системе счисления {а; I}, как и число у0 в системе счисления {а; I} . Следовательно, системы счисления {а; I} и {а; I} эквивалентны.
Замечание 1. Очевидно, что если / - функция, переводящая систему счисления {а; I} в эквивалентную ей систему {а'; I'}, то алгоритм сложения двух чисел / (у) и / (Р) в системе счисления {а'; I'} легко получается из алгоритма сложения чисел у и Р в системе счисления {а; I}. То же самое можно сказать
и об инверсии знака.
Замечание 2. Если функция / задаётся равенством
/ (у) = у, где у - число, сопряжённое у, то алгоритм
умножения двух чисел у и Р в системе счисления
{а; I} также легко получается из алгоритма умножения
чисел у и Р в системе счисления {а; I} . Если же функция / отличается от указанной выше, то алгоритм умножения в системе счисления {а'; I'} если и может быть получен из алгоритма умножения в системе счисления {а; I}, то только нетривиальным образом.
Тернарные квазиканонические системы счисления в £ (/'V3)
Элементы кольца целых чисел Эйзенштейна, то есть кольца £ (/'V3), представимы в виде
а + Ы\[3
z = -
2
-; a, b е Z; a ° b(mod2).
Так как в кольце £(/•13) нет элементов, норма которых равна двум, то при делении с остатком по норме на а норма ненулевого остатка может равняться только единице. Таких остатков довольно много:
{-^(±1 ± /ч/3),±1} , что в сочетании с вариантами выбо-
ра a:
{^(±3±/Т3), +V3} даёт 1/2х6х(6-1)х6 = 90
2
потенциальных комбинаций возможных оснований а и множеств I, то есть тернарных квазиканонических систем счисления. Заметим, что в алгоритме деления с остатком по норме однозначно определяется не сам остаток, а только его норма. И, следовательно, при достаточно широком выборе элементов с одинаковой нормой возникает проблема выбора таких остатков, т. е. «цифр», при котором последовательное деление с ос-
татком на основание а приведёт к получению конечного представления элемента именно в тернарной системе. Требование конечности представления чисел в системах счисления существенно ограничивает выбор а и I, что описывается следующей основной теоремой.
Теорема 1. В кольце целых алгебраических чисел
£0\/3) существуют ровно 24 тернарные квазиканонические системы счисления, а именно: системы счисле-
л-1
= (/'7з)юк
и множествами
ния с основаниями ак цифр
{0,1, ю},{0, ю, ю2},{0, ю2, ю3}, {0, ю3, ю4},{0, ю4, ю5},{0, ю5, ю6};
где ю =1/2(1 + »73) и к = 1,2,3,4.
Доказательству теоремы предпошлём ряд лемм. Лемма 5. Пусть ае £ (»43) является основанием тернарной системы счисления, для которой множество цифр I выбирается из чисел г е £ (»\/3), причём
||г|| <Н = 3 . Тогда I ={0, юа, юЬ} , где ю =1/2(1 + ¿73), а,Ь = 1,2,3,4,5,6 и Ь ° а +1(шоаб) или Ь ° а + 3(шod6).
Доказательство.
a0 ° b0 (mod2);
r =
Пусть
rj + г2/\/з 2 ,
a+
br'43
Р =
r1 ° r2 (mod 2) и
c + d/'V3 ,,
a =---, c ° d (mod2),
a0, b0, c, d, rj, r2 e Z
Подставляя выражения для Р , a и r в формулу (1), имеем
У=
ca0 - 3db0 + 3dr2 - crj + a0d - rxd + cb0 - cr2 ,
(3)
Поскольку у - целое алгебраическое число поля Q (»), то Яе у и 1ш у должны быть целыми рациональными числами. Учитывая, что с ° 0 (mod3) , а также условия сравнимости а0 ° Ь0 (шod2); г1 ° г2 (шod2); с ° С(шod2), получаем, что Яе уе 7 , а числитель 1ш у делится на 2. Далее несложно заметить, что сЬ0 - сг2 делится на 3. Таким образом, получаем 1шуе 1 ^ а0 ° г (шod3) . При этом условии легко убедиться в том, что 1шу-Яе у ° 0 (шod2), то есть 1ш у° Яе у(шod2).
Поскольку а0 - любое целое рациональное число, то из доказанного следует, что для однозначности представления (1) необходимо и достаточно, чтобы множество остатков состояло ровно из трёх чисел, для каждого из которых выполняется только одно из следующих условий: г1 °0(mod3); г1 ° 1(шod3);
г1 ° 2 (шod3). В этом случае для каждого целого алгебраического числа в однозначно определяется г и по формуле (3) однозначно вычисляется у.
Так как остатки г, кроме г=0, являются числами единичной нормы, то они могут быть записаны в виде
юа и юЬ . Найдём теперь соотношения между а и Ь . Для этого переберём все 6 чисел с нормой, равной 1, и выясним, у каких из них гх ° 1(mod3), а у каких -
гх ° 2 (mod3). Несложно убедиться, что
гх ° 1(шod3) для ю1,ю3,ю5 , а гх ° 2(mod3) - для
всех остальных. Следовательно, все возможные системы остатков могут быть представлены в виде
I = {0, юа, юЬ}, где а, Ь = 1,2,3,4,5,6 и
Ь ° а + l(шod6) или Ь ° а + 3(шod6).
Таким образом, показано, что в системах счисления {а„; I} возможно однозначное представление произвольного целого алгебраического числа из поля
(»>/3)
Q ('Я).
Рассмотрим теперь конечность представления чисел в таких системах счисления, опираясь на лемму 2.
Лемма 6. В равенствах (2) найдётся такой элемент l, при котором Norm(gl+j) < 1.
Доказательство. Выясним, для каких систем остатков условие Norm (ym+j )< Norm (gm) Vm = 0,1,..., l выполняется для каждого целого алгебраического числа ym.
Пусть
gm
a„ + bmi4b rm1 + rm2i
am, bm, rm1, rm2 e Z
2 m 2 Согласно формулам (2)
(y m - rm )a (gm - rm )a = Norm (gm - rm )
3 ' 3 3 .
Подставляя последнее выражение в неравенство
Norm (Уm+1 ) = Подставляя
Norm (Уm+1 )<
a2m + 3b2m
после преобразований полу-
чаем
где
-+l bm +"
r 2 + 3r2
m1 = Norm (rm).
2 r2 + 3r2
(4)
4
Если гт = 0 , то очевидно, что (4) выполняется для любого ут Ф 0 .
Если гт Ф 0 , то Ывгт(гт) = 1 и неравенство (4)
принимает вид
2
-+I b„ +Jf I > L
(5)
2
4
2
r
am +
2
>
3
2
4
r
am +
2
2
3
Таким образом, условие Norm (gm+1 )< Norm (ym) выполняется для всех целых am и bm (am ° bm (mod 2)), за исключением тех, которые удовлетворяют неравенству
\ 2
rm1 2
3
-+|b„ + ^ I < 1.
2
(6)
Такие am и bm будем называть исключительными
mm
и исследуем их отдельно.
Введём следующие обозначения
(-А) = w =
1+/Уз
; (-5 ) = w2 =
1 - /'У5
Тогда
. 4 -1 -/л/3 5 -1 +/'У3
А = w4 =-; В = да5 =-.
2 2
Далее, учитывая леммы 3 и 4, легко получить, что достаточно исследовать вместо 54 лишь 6 систем счисления, а именно:
3 + /Уз
;{о, -1,
-з+/Уз
;{о, -1, в}|
{/л/3;{0, -1,5}},
"з +
;{о, 1, -1}|
г-з+/Уз
2
;{о, 1, -1}[, |/7з;{0,1, -1}} .
В этих системах счисления неравенство (4) выполняется для всех ут , кроме конечного числа исключительных случаев. Результаты исследования исключительных случаев для шести приведённых систем счисления представлены в табл. 2.
Таблица 2. Представление чисел, удовлетворяющих неравенству (6) в исследуемых системах счисления
Х^алфавит а ^^ {0,-1,1} {0,-1, В}
з+/Уз 2 В=Ва+1 -В = -Ва-1
-з+/Уз 2 A = Аа2 -а+1 1 = -а+В, - В = -а-1, А = Ва+В, - А = Ва2 + Ва-1
-/Уз А = Аа4 + аз --а2 -а+1 1 = Ва2 -а+В, - В = Ва2 -а-1, А = Ваз-а2 + Ва+В, - А = Ва-1
Числа, приведённые в табл. 2, удовлетворяют неравенству (6), но при этом норма каждого такого числа равна 1, что и доказывает справедливость леммы 6.
Итак, найдётся такое значение I = q, при котором Шгт(у?+1) = 0, следовательно, у^ = 0, либо
Шгт(у^х) = 1, то есть у^ = юк, где к = 1,2,3,4,5,6 . Для всех этих значений у^ в системах счисления
\-3+/У3
2
;{0, -1,В}! и {/7з;{0, -1,5}}, легко про-
верить, используя табл. 2, что через конечное число шагов процесса деления с остатком появится частное у р = 0. То же самое справедливо и для всех систем
счисления, эквивалентных двум вышеназванным. В
[э+/У3
системах счисления
Гз+/Уз
;{0,1, -1}!
2
(~-з+/Уз
;{0, -1,5}!
;{0,1, -1}!
{/>/3; {0,1, -1}} при последовательном применении
алгоритма деления с остатком возможно зацикливание. Поэтому в последних четырёх системах счисления и всех эквивалентных им не любое целое алгебраическое число допускает конечное представление. Примеры чисел с бесконечным представлением приведены в табл. 2.
Таким образом, в поле Q (/'У3) существует лишь
24 системы счисления, в которых представление целых алгебраических чисел этого поля единственно и конечно.
Из доказанного легко получается алгоритм записи
целого числа Эйзенштейна у0 =
an +
ь0/Уз
2
л0> и0
b0 е Z, a0 ° b0 (mod2), в системе
счисления с ос-
нованием а = /У3юк и алфавитом 1к ={0, а>, ю""1}
где к = 1,2,3,4 и / = 0,1,2,3,4,5. Алгоритм 1. Шаг 1. Полагаем р = 0.
ар + Ьр/43
Шаг 2. Если для ур = ——^- ар ° 0 (mod3j
2
то rp = 0.
Если ap ° 1(mod з), то rp = w> , где t = 1, з, 5. Если ap ° 2 (mod з), то rp = wt, где t = 0,2,4 . Шаг з. Вычисляем yp+j по формуле
(у p - rp )а
gp+1 =
Если у р+1 = 0 , то алгоритм закончен.
Если ур+1 Ф 0, то р = р +1 и переходим к шагу 2.
Сходимость данного алгоритма следует из доказательства теоремы 1.
2
2
2
2
2
2
з
Тернарные квазиканонические системы счисления в £ (»л/2) и £ (¿Тл)
Приведённый выше метод исследования обобщается и на случай колец £ (¿72) и £(¿711).
Заметим, что в £ (¿72) и £(¿Тл), наряду с троичными каноническими системами счисления, существуют и тернарные квазиканонические системы счисления, которые описываются следующими теоремами.
Теорема 2. В кольце целых алгебраических чисел
£ 0ч/2) существуют ровно 4 тернарные квазиканонические системы счисления, а именно: системы счисления с основаниями а = ±1 ± ¿72 и множеством цифр I = {0,1,-1}.
Теорема 3. В кольце целых алгебраических чисел £ (¿л/П) существуют ровно 4 тернарные квазиканонические системы счисления, а именно: системы счисления с основаниями а = (±1 ± ¿711)/2 и множеством цифр I = {0,1,-1}.
Реализация арифметических операций
Рассмотрим теперь арифметические операции в системах счисления, указанных в теореме 1. Сложность вычислений и основные отличия арифметики в этих системах счисления определяются в основном сложностью «правил переноса в старший разряд» при сложении/умножении цифр. Эти правила достаточно просты. Например, таблицы 3-16 являются таблицами Кэли для сложения и умножения при
. /г -1+¿73
ак = -¿V3 и ак =—2—.
Таблица 3. Таблица Кэли для сложения в системе счисления
{-¿73; {0,1, ю}}
+ 0 ю 1
0 0 ю 1
ю ю 2ю = = а3 + юа2 + юа+1 1 + ю = 4 3 2 = а +юа +а +а
1 1 1 + ю = 4 3 2 = а4 + юа3 + а2 + а 2 = юа+ю
Таблица 4. Таблица Кэли для сложения в системе счисления
(-1 + ¿Л
2
-;{0,1, ю}|
+ 0 ю 1
0 0 ю 1
ю ю 2ю = = а3 + а2 + юа+1 1 + ю = юа2 + а
1 1 1 + ю = юа2 + а 2 = юа2 + юа+ю
Алгоритм 2 (Сложение).
Шаг 1. Складываем по разрядам два данных числа. При этом в записи суммы могут присутствовать цифры 2ю, 1 + ю, 2 , не входящие в алфавит системы счисления.
Тогда переходим к шагу 2, иначе, если таковой цифры не встретилось, получаем искомую сумму.
Шаг 2. Используем формулы из табл. 3 (или 4) сложения для каждой «цифры» в записи числа, не входящей в алфавит (по одному разу для каждого разряда). При этом в записи могут появиться и другие «цифры», избавиться от которых можно применяя формулы из табл. 3 (или 4) к числам, в сумме дающим данные «цифры». После этого, двигаясь от нулевого разряда, находим первую «цифру» справа, большую единицы по норме. Эта «цифра» и все другие, стоящие слева от неё, определяют некоторый многочлен Р (х) . Если Р (х) делится на х2 + 3 без
остатка, то считаем его «нулевым», если с остатком, то повторяем шаг 2.
Если в сумме не осталось цифр, не принадлежащих алфавиту {0,1, ю} , то получаем искомый результат.
Умножение. Реализация операции умножения даже в эквивалентных системах счисления может отличаться. В силу особенностей алфавита, а именно того, что одна из цифр является нулём, таблицы умножения для таких систем счисления сильно упрощаются, и достаточно записать разложение лишь четырёх чисел для тернарной квазиканонической системы счисления. Согласно леммам 3 и 4, алгоритм умножения
чисел в системе счисления {а; I} легко получается из алгоритма умножения чисел в системе счисления {а; I} . Для примера рассмотрим алгоритм умноже-
ния в системе счисления -
{-¿73; {0,1, ю}}.
Таблица 5. Таблица Кэли для умножения в системе счисления {-¿ л/3;{0,1, ю}}
X ю 1
ю ю2 =а3 + юа2 + а +1 ю
1 ю 1
Таблица 6. Таблица Кэли для умножения в системе счисления {-¿73;{0, ю, ю2 }}
X ю ю2
ю ю2 -1 = 3 2 2 = юа3 + ю2а2 + юа+ю
ю2 -1 = 3 2 2 = юа + ю а +юа+ю 4 2 2 2 ю4 = юа2 + ю2а+ю2
Таблица 7. Таблица Кэли для умножения в системе счисления {-¿73;{0, -1, ю2}}
X -1 ю2
-1 1 = ю2а2 + (-1)а+ю2 ю5 = = ю2а2 + (-1)а+(-1)
ю2 ю5 = = ю2а2 + (-1)а+(-1) ю4 = ю2а3 + (-1)а2 + 22 +ю2а+ю2
Таблица 8. Таблица Кэли для умножения в системе
счисления -
{-/73;{0, -1, w4 }}
X -1 ю4
-1 1 = (-1)а2 + (-1)а+ю4 ю = = (-1)а2 + (-1)а+(-1)
ю4 ю = = (-1)а2 + (-1)а+(-1) ю2 = (-1)а+ю4
Таблица 9. Таблица Кэли для умножения в системе счисления {-/\/3;{0, ю4, Ю5}}
X ю5 ю4
ю5 ю4 3 4 5 ю = ю а+ю
ю4 3 4 5 ю3 = ю4а+ю5 2 4 2 5 4 ю2 = ю4а2 + ю5а+ю4
Таблица 10. Таблица Кэли для умножения в системе счисления {—{0,1, ю5}}
X ю5 1
ю5 4 5 1 ю = ю а+1 ю5
1 ю5 1
Таблица 11. Таблица Кэли для умножения в системе |-1 + /л/3 { }| счисления ■---; {0,1, ю} )
X ю 1
ю ю2 = а+1 ю
1 ю 1
Таблица 12. Таблица Кэли для умножения в системе I-1 + /л/3 г 211 счисления ■---;{0, ю, ю })
X ю ю2
ю ю2 -1 = юа+ю
ю2 -1 = юа+ю 4 2 2 ю4 = ю2а+ю2
Таблица 13. Таблице счисления ■ Кэли для умножения в системе ¡-1 ., ю22 })
X -1 ю2
-1 1 = (-1)а+ю2 ю5 = (-1)а+(-1)
ю2 ю5 = (-1)а+(-1) 4 2 2 ю4 = ю2а+ю2
Таблица 14. Таблице счисления ■ Кэли для умножения в системе I-1 +;73;{0, -1, ю4 })
X -1 ю4
-1 Л 4 4 1 = ю а+ю ю= ю4а+(-1)
ю4 ю= ю4а+(-1) ю2 = (-1)а2 + (-1)а+ю4
Таблица 15. Таблица Кэли для умножения в системе
|-1+/У3 I
счисления
;{0, w4, ю5}|
X ю5 ю4
ю5 ю4 Л 4 2 4 5 -1 = ю а + ю а+ю
ю4 4 2 4 5 -1 = ю4а2 + ю4а+ю5 2 5 4 ю2 = ю5а+ю4
Таблица 16. Таблица Кэли для умножения в системе I-1 + /л/3 г п| счисления ■---;{0,1, ю })
X ю5 1
ю5 ю4 = ю5а2 + ю5а+1 ю5
1 ю5 1
Поскольку алфавит системы счисления {-/\/3;{0,1, w}} состоит из цифр 0, 1 и ю, то умножение чисел а и с в этой системе счисления сводится к сложению т чисел, где т - количество цифр единичной нормы в записи числа с . Складываемые числа получаются из числа а следующим образом. При умножении числа на цифру ю или 1, стоящую в
разряде, соответствующем а р , к записи числа а справа добавляется р нулей, а цифры заменяются согласно формулам из табл. 5 (или 6-16). Далее происходит упрощение полученного числа путём последовательного применения второго шага алгоритма сложения. Далее получившееся число складывают с результатом предыдущей операции сложения согласно алгоритму сложения.
О параллельных алгоритмах вычисления свёртки в тернарных квазиканонических системах счисления
В настоящее время для быстрого умножения больших целых чисел в основном используется алгоритм Шёнхаге-Штрассена [12] или алгоритм Фюрера [13]. До появления последнего наиболее быстрым алгоритмом умножения считался алгоритм Шёнхаге-Штрассена, основная идея которого заключалась в сведении умножения целых чисел, представленных в той или иной позиционной системе счисления, к вычислению циклической свёртки спектральным методом (с помощью дискретного преобразования Фурье (ДПФ) или его модулярных аналогов (теоретико-числовых преобразований, ТЧП).
Развитием алгоритма Шёнхаге-Штрассена можно считать алгоритмы, приведённые в работах [14, 15], которые позволяют вычислять свёртку параллельно и без умножений. В настоящей работе исследуется обобщение метода этих работ на случай квазиканонических систем счисления. Приведём полученные результаты.
Пусть №гт(а) = 3 . Э-М числом (числом Эйзен-штейна-Мерсенна) будем называть целое рациональное число вида
2
Мп =(ап - 1)(ап - 1) = 3п - (а" + ап) +1,
а Э-Ф числом (числом Эйзенштейна-Ферма) - целое рациональное число вида
¥п =(ап + 1)(ап + 1) = 3п + (ап + ап) +1.
Лемма 7. При п Ф 0(шod4) сомножители (ап ± 1)
и (ап ± 1) взаимно просты.
Лемма 7 даёт гарантии возможности параллельного вычисления циклической свёртки (или, согласно методу Шенхаге-Штрассена, умножения целых чисел) в кольцах по модулям (ап ± 1), (ап ± 1) с последующей реконструкцией результата по модулям Мп или ¥п с помощью китайской теоремы об остатках при достаточно мягких дополнительных ограничениях на арифметическую структуру Мп или Непосредственный анализ этих ограничений показал, что при 1 < п < 100 , т = (ап ± 1)(ап ± 1) , и а , равному одному из чисел множества
к/3, -¿я, , 1,
2
2
вычисление свёртки длины п=1, 2, 3, 4, 5, 7, 8, 11, 13, 16, 17, 19, 23, 29, 31, 32, 37, 41, 43, 47, 53, 59, 61, 64, 67, 71, 73, 79, 83, 89, 97 можно реализовать без умножений.
Заключение
В работе подробно рассмотрен алгоритм представления чисел и реализации основных арифметических операций в кольце целых чисел Эйзенштейна. Приведена полная классификация тернарных квазиканонических систем счисления в мнимых квадратичных полях. Подробно рассмотрен случай поля
Q (¿ч/3), для которого представлено доказательство
классификационной теоремы для этого случая.
Предложенный подход достаточно легко обобщается на случай других квадратичных расширений, для элементов которых существуют алгоритмы деления с остатком по норме или их аналоги.
Кроме того, в работе рассмотрена возможность применения метода параллельного вычисления произведения больших чисел [10] для тернарных квазиканонических систем счисления. В результате получены длины свёрток, которые можно использовать для быстрого вычисления произведения.
Благодарности
Работа выполнена при финансовой поддержке РФФИ (гранты 13-01 -97007-р_поволжье_а, 12-01-00822а, 12-01-31316 мол а).
Литература
1. Давыдов, Е.С. Наименьшие группы чисел для образования натуральных рядов / Е.С. Давыдов. - Питербург: Типо - литография В.В. Комарова, 1903. - 39 с.
2. Слудский, Ф.А. О свойствах степеней двух и трёх / Ф.А. Слудский // Математический сборник. - 1870. - Т. 4, Вып. 3. - С. 171-175.
3. Кушнеров, А. Троичная цифровая техника. Ретроспектива и современность / А. Кушнеров. - Израиль: Университет им. Бен-Гуриона Беэр-Шева, 2005. - 15 с.
4. Кнут, Д. Искусство программирования. Том 2. Получисленные алгоритмы / Д. Кнут. - М.: Мир, 1977. - 727 с.
5. Katai, I. Kanonische Zahlensysteme in der Theorie der Quadratischen Zahlen / I. Katai, B. Kovacs // Acta Sci. Math. (Szeged). - 1980. - Vol. 42 - P. 99-107.
6. Katai, I. Canonical number systems in imaginary quadratic fields / I. Katai, B. Kovacs // Acta Math. Hungar. - 1981. -Vol. 37 - P. 159-164.
7. Kovacs, B. Canonical number systems in algebraic number fields / B. Kovacs // Acta Math. Hungar. - 1981. - Vol. 37 -P. 405-407.
8. Kovacs, A. Generalized binary number system / A. Kovacs // Annales Univ. Sci. Budapest, Sect. Comp. - 2001. - Vol. 20. - P. 195-206.
9. Боревич, З.И. Теория чисел / З.И. Боревич, И.Р. Шафа-ревич. - М.: Наука, 1985. - 504 с.
10. Чернов, В.М. Арифметические методы синтеза быстрых алгоритмов дискретных ортогональных преобразований / В.М. Чернов. - М.: Физматлит, 2007. - 264 с.
11. Solomyak, B. Dynamics of self-similar tilings / B. Solomyak // Ergodic Theory Dynam. Systems. - 1997. -Vol. 17, N 3. - P. 695-738.
12. Schoenhage, A. Schnelle Multiplikation grosser Zahlen / A. Schoenhage, V. Strassen // Computing. - 1971. - Vol. 7. -P. 281-292.
13. Fuerer, M. Faster integer multiplication / M. Fuerer // STOC Proceedings. - 2007. - P. 57-66.
14. Чернов, В.М. Синтез параллельных алгоритмов преобразований Фурье-Галуа в прямых суммах конечных колец / В.М. Чернов // Известия Самарского научного центра Российской академии наук. - 2000. - Вып. 1. -С. 128-134.
15. Chernov, V. «Error-free» calculation of the convolution using generalized Mersenne and Fermat transforms over algebraic fields / V. Chernov, M. Pershina // Computer Analysis of Image and Pattern (CAIP'97). Lectures Notes in Computer Science. - 1997. - N 1296 - P. 621-628.
References
1. Davydov, E.S. Minimal number groups for the formation of natural series / E.S. Davydov - Petersburg: Typo-lithography of V.V. Komarov, 1903. - 39 p. - (In Russian).
2. Sludsky, F.A. On the properties of degrees of two and three / F. Sludskii // Mathematical Collection. - 1870. - Vol. 4, Issue. 3. - P. 171-175. - (In Russian).
3. Kushnerov, A. Ternary digital equipment. Retrospective and modern age / A. Kushnerov - Israel Ben-Gurion University, Beersheba, 2005. - 15 p. - (In Russian).
4. Knuth, D.E. The Art of Computer Programming. Vol. 2 Semi-numerical Algorithms / D.E. Knuth - Moscow: "Mir" Publisher, 1977. - 727 p. - (In Russian).
5. Katai, I. Kanonische Zahlensysteme in der Theorie der Quadratischen Zahlen / I. Katai, B. Kovacs // Acta Sci. Math. (Szeged). - 1980. - Vol. 42 -P. 99-107.
6. Katai, I. Canonical number systems in imaginary quadratic fields / I. Katai, B. Kovacs // Acta Math. Hungar. - 1981. -Vol. 37 - P. 159-164.
10.
11.
Kovacs, B. Canonical number systems in algebraic number fields / B. Kovacs // Acta Math. Hungar. - 1981. - Vol. 37 -P. 405-407.
Kovacs, A. Generalized binary number system / A. Kovacs // Annales Univ. Sci. Budapest, Sect. Comp. - 2001. - Vol. 20 -P. 195-206.
Borevich, Z.I. Number theory / Z.I. Borevich, I.R. Shafarevich - Academic Press, 1986. - 434 p.
Chernov, V.M. Arithmetical methods of synthesis of fast algorithms of Discrete orthogonal Transforms / V.M. Chernov -Moscow.: "Fizmatlit" Publisher, 2007. - 264 p. - (In Russian). Solomyak, B. Dynamics of self-similar tilings / B. Solomyak // Ergodic Theory Dynam. Systems. - 1997. -Vol. 17, N 3. - P. 695-738.
12. Schoenhage, A. Schnelle Multiplikation grosser Zahlen / A. Schoenhage, V. Strassen // Computing. - 1971. - Vol. 7. -P. 281-292.
13. Fuerer, M. Faster integer multiplication / M. Fuerer // STOC Proceedings. - 2007. - P. 57-66.
14. Chernov, V. Synthesis of parallel algorithms of Fourier-Galois transforms in direct sums of finite rings / V. Chernov // Proceedings of the Samara Scientific Center of Russian Academy of Sciences. - 2000. - Issue 1. - P. 128-134. - (In Russian).
15. Chernov, V. «Error-free» calculation of the convolution using generalized Mersenne and Fermat transforms over algebraic fields / V. Chernov, M. Pershina // Computer Analysis of Image and Pattern (CAIP'97). Lectures Notes in Computer Science. - 1997. - N 1296 - P. 621-628.
CLASSIFICATION OF TERNARY QUASICANONICAL NUMBER SYSTEMS IN IMAGINARY QUADRATIC FIELDS AND THEIR APPLICATION
P. S. Bogdanov, V. M. Chernov Image Processing Systems Institute of the Russian Academy of Sciences
Abstract
In this paper all possible ternary quasicanonical number system in imaginary quadratic fields are considered. For representation of algebraic integers of imaginary quadratic fields in the specified number systems an algorithm based on the division with remainder is used. In addition, the algorithms of the basic arithmetic operations in ternary number systems in the ring of Eisenstain integers are synthesized. Method of fast error-free cyclic convolution computation is considered.
Key words: canonical numerical system, norm division with remainder, quasicanonical numerical system, imaginary quadratic fields.
Сведения об авторах Богданов Павел Сергеевич, 1989 года рождения, аспирант Самарского государственного аэрокосмического университета имени академика С. П. Королёва. Стажёр-исследователь Института систем обработки изображений РАН. Область научных интересов: обработка изображений, программирование, прикладная математика. E-mail: poulsmb@rambler. ru.
Pavel Sergeevich Bogdanov (b. 1989) postgraduate student of S. P. Korolyov Samara State Aerospace University (SSAU). Trainee researcher of Image Processing Systems Institute of the RAS. Research interests are image processing, programming, applied mathematics.
Чернов Владимир Михайлович, 1949 года рождения, математик, доктор физико-математических наук. Главный научный сотрудник Института систем обработки изображений РАН. Профессор кафедры геоинформатики и информационной безопасности Самарского государственного аэрокосмического университета имени академика С.П. Королёва. Область научных интересов: алгебраические методы в цифровой обработке сигналов, криптография, машинная арифметика. E-mail: [email protected].
Vladimir Michailovich Chernov (b. 1949) mathematician, Doctor of Physical and Mathematical Sciences. Chief researcher of Image Processing Systems Institute of the RAS. Professor of Geo-Information Science and Information Security department (S. P. Korolyov Samara State Aerospace University (SSAU)). Research interests are algebraic methods in digital signal processing, cryptography, computer arithmetic.
Поступила в редакцию 11 декабря 2013 г.
7
8
9.