КЛАССИФИКАЦИЯ БИНАРНЫХ КВАЗИКАНОНИЧЕСКИХ СИСТЕМ СЧИСЛЕНИЯ В МНИМЫХ КВАДРАТИЧНЫХ ПОЛЯХ
Богданов П.С., Чернов В.М.
Институт систем обработки изображений РАН
Аннотация
В работе рассматриваются все возможные бинарные квазиканонические системы счисления в мнимых квадратичных полях. Для представления целых алгебраических чисел мнимых квадратичных полей в указанных системах счисления используется алгоритм, основанный на делении с остатком. Кроме того, синтезируются алгоритмы реализации основных арифметических операций над числами в рассматриваемых системах счисления.
Ключевые слова: каноническая система счисления, деление с остатком по норме, квазиканоническая система счисления, мнимые квадратичные поля.
Введение
В основе представления и обработки информации в современных компьютерах лежит бинарная система счисления поля действительных чисел. Среди других систем счисления, которые используют всего две цифры для представления каждого элемента рассматриваемой алгебраической структуры, наиболее исследованы канонические системы счисления (КСС) квадратичных полей. Они являются естественным обобщением степенного представления обычных целых чисел [1] на случай алгебраических целых чисел. Такие системы счисления рассматривались ещё в монографии Кнута [2], но систематическая разработка теории КСС началась в работах И. Катаи и Я. Сабо [3], Б. Ковача [4], И. Катаи и Б. Ковача ([5], [6]), У. Дж. Джилберта [7] и других исследователей.
Понятие КСС впервые появилось в работах Катаи и Сабо [3], где были указаны все целые гауссовы числа, являющиеся основаниями КСС. Этот результат был обобщён на случай квадратичных целых чисел в работах Катаи и Ковача [5], [6], а также независимо от них в работе Джилберта [7].
Среди приложений КСС следует отметить работы, касающиеся связи фракталов и КСС [8 11]. Эта связь рассматривалась и в других работах [12-16]. Некоторые авторы исследовали фрактальную структуру границ [17-20] и динамические свойства [21] фундаментальных областей КСС. Более того, в работах [11], [22], [23] рассматривалась связь мозаик, а следовательно, и КСС с вейвлетами.
Системы счисления, в которых вместо целых рациональных чисел, образующих множество цифр КСС, рассматриваются целые квадратичные числа, изучены в меньшей степени. Такие системы счисления будем называть квазиканоническими.
В настоящей работе исследуются все бинарные квазиканонические системы счисления в кольцах целых чисел мнимых квадратичных полей. Для каждой из этих систем счисления рассматриваются алгоритмы реализации основных арифметических операций.
Канонические и квазиканонические системы счисления. Основные определения
Пусть Q(^/d) есть квадратичное поле [24]:
Q(^/d) = {г = а + Ьу^; а, Ь е Q},
где d - целое число, свободное от квадратов. При d > 0 квадратичное поле называется вещественным, а при d < 0 - мнимым.
Определение. Если у элемента z = a + b\[d е Q(Vd), его норма Norm (z) и след Tr (z) есть целые числа:
Norm(z) = (a + byfd)(a - b\[d) = a2 - db2 е Z, Tr(z) = (a + bjd) + (a - bjd) = 2a е Z, то этот элемент называется целым алгебраическим числом поля Q(Vd) [25].
Сформулируем ряд известных утверждений о целых алгебраических числах.
Утверждение. Пусть d < 0 , А = |d|. Тогда целыми алгебраическими числами мнимого поля Q (/\/а) являются числа
a + b/ч/А; a, b е Z при А°-2, -3 (mod 4);
+1 b (л/А-l); a, b е Z при A°-l( mod 4).
Кольцо целых элементов поля Q (Vd) будем обозначать S (<Jd), а Z (-Jd) - множество
Z (4d ) =
= {z = a + b4d : a,b е Z}c S(yfd )e Q (yfd).
Определение. Целое алгебраическое число a = A±4d (приd °2,3(mod4)) или a = 1 (b ±Vd) (при d ° l( mod 4) ) называется основанием КСС в кольце S (\[d) целых элементов поля Q(Vd) , если
любой целый элемент этого поля однозначно представим в форме конечной суммы
k (z)
z = ^ a j a1 ,
j=0
aj е.
называется канонической системой
I = {0,1,..., |Ывгш(а)\-1} . Пара {а;I}
счисления в кольце £ (уЩ), а I - алфавитом этой системы [25].
В исследованиях различных авторов, рассматривающих КСС, для представления целого алгебраического числа применяется рекуррентный алгоритм [26]. Однако с той же целью можно использовать и деление с остатком, реализуемое лишь в некоторых кольцах [21]. В настоящей работе рассматриваются только мнимые кольца.
Определение. Говорят, что в кольце D имеет место алгоритм деления с остатком, если на отличных от нуля элементах Ре D определена функция ||Р|| ,
принимающая целые неотрицательные значения, так, что выполняются следующие условия:
1). если Р Ф 0 делится на a, то ||Р|| > ||a|| ;
2). для любых элементов Р и a Ф 0 в D существуют такие g и г , что P = ag+ r , причём либо r = 0 , либо ||r|| < |Н|.
Утверждение. Среди колец S (yfd ) целых элементов мнимых квадратичных полей Q(\[d ) алгоритмом
деления с остатком по норме обладают те и только те, для которых d равно одному из следующих пяти значений: {-1, - 2, - 3, - 7, -11} [24].
Стоит отметить, что числа g и r в равенстве Р = ag + r определяются неоднозначно, поскольку существует несколько различных остатков r , имеющих одну и ту же норму. Это позволяет рассматривать различные системы счисления с одним и тем же основанием a, но разными алфавитами (множествами цифр).
Бинарные квазиканонические системы счисления
Рассмотрим все возможные бинарные системы счисления в кольцах целых алгебраических чисел мнимых квадратичных полей.
Определение. Квазиканоническая система счисления с основанием a и алфавитом I называется бинарной системой счисления, если Norm (a) = 2 и
алфавит I состоит из двух цифр.
Отметим легко проверяемые свойства, которые справедливы для всех бинарных квазиканонических систем счисления.
Свойство 1. Согласно определению деления с остатком по норме и учитывая, что Norm(a) = 2 , получаем
(Р-r )a
g=-
2
(1)
где а - число, сопряжённое а.
Соотношение (1) следует из формулы р = ау+ г , которая встречается в определении деления с остатком. Свойство 2. Если для пары {а; I} доказано, что
представление произвольного целого алгебраического числа у0 в форме у0 =у1а + г0 единственно, где
г0 е I , то для того чтобы пара {а; I} образовывала
систему счисления, достаточно показать, что пред-
ставление числа g0 является конечным, то есть про цесс деления с остатком: g 0 =g1 'a + ^ g! =g2 - a + rl,
(2)
hl = hl+1 'a + Г, где r0, r1,..., rl e I, конечен. Другими словами, существует такое l, что gl+1 = 0, а для этого, в свою очередь, достаточно, чтобы Norm (gm+1 )< Norm (gm) "m = 0,1,..., l.
Определение. Системы счисления {a; I} и {a'; I'}
в кольце S (\[d) называются эквивалентными, если существует взаимно однозначное отображение f: S [4dS [4d) , причём f (I )= I' , такое, что
для любого числа ge S(yfd), представимого в сис-
теме счисления {a; I} в виде g = Y
ap a^
где
p=0
a„ е
I, число f (g) в алфавите {a'; I'} записывается
N
; виде f (g) = Y f (ap )(a')p . Стоит
' отметить, что a
p=0
необязательно равно /(а).
Свойство 3. Если для у0, представимого в системе
счисления {а; I} , справедливо равенство у0 = у1а + г0,
то, умножая это равенство на гк, где г - первообразный корень из единицы степени, равной количеству
единиц поля в кольце £ ), получим, что число у0гк
имеет такую же запись в системе счисления {а;I • гк} , как и у0 в системе счисления {а,I} , то есть если
N N
= Y a„ap , то g0rk = Y ( aprk ) ap . Это означает, что
У0 = £ ара р
р=0 р=0
системы счисления {а;I} и {а;I • гк} эквивалентны.
Аналогично, если взять сопряжение от обеих частей равенства у0 =у1а + г0 , то получим у0 =у1 а + г0 , то есть число у0 имеет такую же запись в системе счисления {а;I} , как и число у0 в системе счисления {а;I} .
Следовательно, системы счисления {а;I} и {а;I}
также эквивалентны.
Замечание. Очевидно, что если / - функция, переводящая систему счисления {а; I} в {а'; I'} , то алгоритм сложения двух чисел /(у) и /(р) в системе счисления {а'; I'} легко получается из алгоритма сложения чисел у и р в системе счисления {а; I} .
То же самое можно сказать и об инверсии знака.
Если функция f задаётся следующим равенством
f (g) = g , где g - число, сопряжённое g , то алгоритм умножения двух чисел g и b в системе счисления {â; I} также легко получается из алгоритма умножения чисел g и b в системе счисления {a; I } .
Квазиканонические системы счисления в S(i)
Кольцо S (i) целых элементов (целых гауссовых чисел) поля Q (i ) состоит из элементов
z = a + bi; a, b e Z.
При делении с остатком по норме на а, Norm (а) = 2, норма ненулевого остатка может равняться только единице. Таких остатков ровно четыре: {±1, ± i} , что в сочетании с вариантами выбора а :
{±1 ± i} даёт 16 потенциальных комбинаций возможных оснований а и множества I, то есть 16 бинарных квазиканонических систем счисления. Однако, учитывая свойство 3, получаем, что в кольце S ( i ) достаточно исследовать лишь две системы счисления, а именно: {-1 + i;{0,i}} и {1 + i;{0,i}} .
Следующая теорема описывает все возможные квазиканонические системы счисления в кольце S (i ) .
Теорема 1. В кольце целых алгебраических чисел S (i ) существуют ровно 8 бинарных квазиканонических систем счисления, а именно: системы счисления с основаниями а = -1 ± i и множествами цифр {°Д}, ^ /}, ^ -1}, |0, -/}.
Доказательство. Заметим, что остатки от деления на число а, имеющие норму 1, можно представить в виде ik, где k = 1; 2; 3; 4, а основания систем счисления запишем как аи = (1 + i)• i"-1, n = 1; 2; 3; 4 . Покажем, что справедлива следующая лемма.
Лемма 1. Пусть ае S (i ) является основанием бинарной системы счисления, для которой множество цифр I выбирается из чисел r е S (i ) , причём
|ГII < HI = 2. Тогда I = {°, ik} , где k = 1,2,3,4.
Доказательство. Пусть r = rl + r2 • i, а = а; + а2/', b = a + bi . Подставляя выражения для b , а и r в формулу (1), имеем
аа1 + Ьа2 - r^ - r2а2 Ьа1 - аа2 + ^а2 - r^
g = -
-i. (3)
2 2 Поскольку у - целое алгебраическое число поля
Q (/) , то Яе у и 1т у должны быть целыми рациональными числами, откуда при условии, что сумма а + Ь чётная, получаем чётность г1 + г2, значит, г = 0 , а в случае, когда а + Ь нечётная, получаем нечётность
r1 + r2 , следовательно, в качестве остатка выбираем r = ik. Тогда g однозначно определяется из формулы
(1). ■
Таким образом, показано, что в системах счисления {an; I = {0, ik}} возможно однозначное представление произвольного целого гауссова числа. Рассмотрим теперь конечность представления чисел в таких системах счисления, опираясь на свойство 2.
Лемма 2. В равенствах (2) найдётся такой элемент l, при котором Norm(g,+1) < 1.
Доказательство. Выясним, для каких систем остатков условие Norm (gm+1) < Norm (gm) "m = 0,1,..., l выполняется для каждого целого алгебраического числа g m .
Пусть gm = am + bmi, rm = rm1 + ^ С°гласн° формулам (2),
N0rm (gm+1 ) =
(gm - rm )а (gm - rm )а = Norm (gm - rm )
2 2 2 Подставляя последнее выражение в неравенство Ывгш (ут) < а2т + Ь2т, после преобразований получаем неравенство
(аш + Гш1 )2 +(Ьш + Гш2 )2 > 2(Ш + Ш), (4)
которое при гш = 0 справедливо для всех уш Ф 0 .
Если гш = 1к, то есть Ш + г^ = 1, то неравенство (4) принимает вид (аш + ш )2 +(Ьш + гш2 )2 > 2. Оно верно для всех уш е г (/'), Ывгш(ут) > 2, гш е {0,1к}, кроме уш =(±1 - 2/ )• 1к-1 , Уш =-21 • /к-1 ,
Уш =(±1 - / )• /к-1.
Рассмотрим теперь системы счисления {-1 + /;{0,/}} и {1 + /;{0,/}} . В этих системах счисления неравенство (4) выполняется для всех уш , кроме
у =±1 - 2/ , у =-2/ , у =±1 - / , у =-/, у = ±1.
¡ш — 1 1ш 1 1ш — > 1ш 1 1ш —
Представления для этих чисел получим, применив к ним формулы (2).
Так, в системе счисления {-1 + /;{0,/}} :
для уш = 1 - 2/ уш+1 = -2 + ' , уш+ 2 = 1 + ' , уш+3 = ,
(уш+3 ) =!; для уш = -1 - 2/ уш+1 = -1 + 2 , уш+2 =1,
(уш+2 ) =1; для уш = -2/ уш+1 = -1 +', уш+2 =1, (уш+2 ) =1;
для уш =1 -1 уш+1 =-1, (уш+1 ) = 1;
для уш = -1 -1 уш+1 = I, Ыот(уш+1) =1. В системе счисления {1 + /;{0,/}} :
для ут =1 - 2 ут+1 = -1 - 2г , ут+2 = -2 -г, ут+з = -2 ,
ут+4 = -1 + ' , уга+5 = ' , Когт (ут+5 ) = 1 ;
для ут = -1 - 2/ уга+1 = -2 -', ут+2 = -2, ут+3 = -1+',
ут+4 = ' , (уга+4 )= 1;
для ут = ут+1 = -1 - I , у„+ 2 = -1, Norm (у„+ 2 ) = 1 ;
для ут =1 -' ут+1 = , когт (ут+1) =1; для ут =-1 -' У»+1 =-1, Когт(у„+1 ) =1.
Таким образом, доказано, что норма частного всегда меньше нормы делимого, за исключением конечного числа случаев, и, следовательно, через конечное число шагов она станет меньше либо равна 1. Во всех исключительных случаях показано, что через конечное число шагов норма частного также станет меньше либо равна 1. ■
Итак, найдётся такое значение I = q , при котором Ыогт(уд+1) = 0, следовательно, у^ = 0, либо Могт(у^) = 1, то есть уг+1 =±1; ± I . Для всех этих значений у^ легко проверить, что через конечное число шагов появится частное ур = 0 в системе счисления {-1 + /;{0,/}} . Поэтому из равенств (2)
вытекает однозначное разложение числа у0 по степеням числа а = / -1:
- для Уq+1 = 0
у 0 = гч ^+гч-lаq-1+...+г1а+г0;
- для Уq+1 = '
у0 = I •aq+1 + гдaq + гq-1aq-1 +... + г1а + г0;
- для Уq+1 =-1
у0 = I •aq+2 +1 •aq+1 + гч aq + гq-1aq-1 +... + г1а + г0;
- для Уq+1 =
у 0 = га^5 + /aq+4 + га^3 + 0aq+2 + /а^1 + гд aq +... + г0; -для Уq+1 = 1
у0 = / • а+ г •aq+2 + г • aq+1 + гд aq +... + г0,
где г е{0; /}; t = 0;1;...;q.
Если рассмотреть систему счисления {1 + /;{0,/}} ,
то при последовательном применении алгоритма деления с остатком возможно зацикливание:
- для Уq+1 =-1
у 0 =-l•aq+2 + / •а"+1 + гд а" +... + г0; где ге{0, /}; t = 0;1;...;q.
Таким образом, в системе {1 + /;{0,/}} и всех эквивалентных ей системах не любое целое гауссово число допускает конечное представление. ■
Из доказанного легко получается алгоритм записи целого гауссова числа у0 = а0 + Ь01; а0, Ь0 е 2 в систе-
ме счисления с основанием а = ±г -1 и алфавитом
I, ={0, /к} .
Алгоритм 1.
Шаг 1. Полагаем р = 0 .
Шаг 2. Если для ур = ар + Ьрг, сумма ар + Ьр чётная, то гр = 0 .
Если ар + Ьр нечётная, то гр = 1к.
Шаг 3. Вычисляем у р+1 по формуле
(ур- гр )а
у р+1
2
Если ур+1 = 0 , то алгоритм закончен.
Если ур+1 Ф 0, то р = р +1 и переходим к шагу 2.
■
Сходимость данного алгоритма следует из доказательства теоремы 1.
Рассмотрим теперь арифметические операции в системах счисления, указанных в теореме. Согласно свойству 3 и доказанной теореме, достаточно рассмотреть сложение лишь для одной системы счисления, например {-1 + /; {0,1}} . Алгоритм сложения чисел в такой
системе счисления рассмотрен в работе [27].
Умножение. Реализация операции умножения даже в некоторых эквивалентных системах счисления отличается. В силу особенностей алфавита (одна из цифр является нулём), таблицы умножения для таких систем счисления сильно упрощаются, и достаточно записать разложение лишь одного числа для каждой системы счисления. Согласно свойству 3, алгоритм умножения чисел в системе счисления {а; I} легко получается из алгоритма умножения чисел в системе счисления {а; I} , поэтому достаточно рассмотреть лишь 4 системы из 8. Для {/-1;{0,/}} /2 =-1 = /а + / ;
для {/ -1;{0,-1}}
(-1)2 = 1 = (-1) а4 + (-1) а3 + (-1) а2 + (-1); для {/ -1;{0, -/}}
(-/ )2 =-1 = (-/ )а2 +(-/ )а + (-/); для {/ -1;{0,1}} 12 = 1.
Поскольку алфавит системы счисления {а;{0,1к}}
состоит из цифр 0 и 1к, то умножение чисел а и с в этой системе счисления сводится к сложению т чисел, где т - количество цифр единичной нормы в записи числа с. Складываемые числа получаются из числа а следующим образом. При умножении числа на цифру
• к п
г к , стоящую в разряде, соответствующем а р , к записи числа а справа добавляется р нулей. Числа, полученные при умножении на цифры единичной нормы неко-
торых разрядов, складываются последовательно по два числа в соответствии с алгоритмом сложения.
Инверсия знака. Следует отметить, что инверсия знака будет одинаковой в различных системах счисления. Поэтому достаточно рассмотреть алгоритм лишь для одной системы счисления.
Пусть представление исходного числа Ь в систе-
ме
N
счисления {-1 + i;{0,i}} имеет вид b = ^с
Тогда, учитывая формулу -i = ia4 + ia3 + ia2 + i, получаем следующий алгоритм инверсии знака. Алгоритм 2. Шаг 1. Полагаем k = 0.
Шаг 2. Если -ak = 0 или -ak = i, то переходим к шагу 3.
Если -ak = -i , то в текущий разряд записываем i и прибавляем i к разрядам k + 2 , k + 3 , k + 4 .
Если -ak = 2i, 3i, ..., то раскладываем его в данной системе счисления и добавляем его к текущему представлению, начиная с разряда k, то есть действуем, как в алгоритме сложения. Переходим к шагу 3. Шаг 3. k = k +1.
Если k больше длины исходного числа b и -ak = -ak+1 = -ak+2 = -ak+3 = 0, то алгоритм закончен. Иначе переходим к шагу 2. ■ Сходимость данного алгоритма обусловлена сходимостью алгоритма сложения, а также алгоритма представления чисел в системе счисления с основанием a = ±i -1 и алфавитом Ik = {0, ik}
Квазиканонические системы счисления в S (i\/2)
Кольцо S (i-fl) целых элементов поля Q (iV2) состоит из элементов
z = a + a, b е Z.
При делении с остатком по норме на a, Norm (a) = 2 , норма ненулевого остатка может равняться только единице. Таких остатков ровно два: {±1} , что в сочетании с вариантами выбора a :
{±/72} даёт 4
потенциальных комбинации возможных оснований a и множества I , то есть 4 бинарных квазиканонических системы счисления. Учитывая свойство 3, получаем, что
в кольце S (i\[2) достаточно исследовать лишь одну
систему счисления, а именно: {iV2;{0,-1}} .
Следующая теорема описывает все возможные квазиканонические системы счисления в кольце S (i\/2). Теорема 2. В кольце целых алгебраических чисел
s (iV!)
существуют ровно 4 бинарных квазиканонических системы счисления, а именно: системы счис-
ления с основаниями а = ±/V2 и множествами цифр {0,1}, {0,-1}.
Доказательство проводится по схеме доказательства теоремы 1.
Из доказательства теоремы 2 легко получается алгоритм записи целого алгебраического числа у0 = а0 + Ь01\[2; а0, Ь0 е 2 в системе счисления с основанием а = ±/ч/2 и алфавитом 1п = {0, (-1)"} .
Алгоритм 3.
Шаг 1. Полагаем р = 0 .
Шаг 2. Если для ур = ар + Ьр/л/2 ар - чётное, то
гр = 0.
Если ар - нечётное, то гр = (-1)к.
Шаг 3. Вычисляем урпо формуле
(ур -гр )а
gp+1
2
Если ур+1 = 0 , то алгоритм закончен.
Если ур+1 Ф 0, то р = р +1 и переходим к шагу 2. ■
Рассмотрим теперь арифметические операции в системах счисления, указанных в теореме. Согласно свойству 3 и доказанной теореме, достаточно рассмотреть сложение лишь для одной системы счисления, например, {/ч/2;{0, -1}} .
Сложение. При сложении двух чисел в системе счисления ,-1}} , иначе говоря, двух много-
членов, получаем новый многочлен с коэффициентами 0, -1 или -2. При этом, поскольку -2 = (-1)а4 + (-1)а2, слагаемое вида -2а' преобразуется по формуле
-2а' = ((-1) а4 + (-1) а2) а' = (-1) а'+4 + (-1) а'+2.
В некоторых случаях преобразование суммы двух чисел с использованием последней формулы приводит к многочлену бесконечно большой степени с повторяющимся блоком коэффициентов (зацикливанию).
Очевидно, что любой многочлен от а , корнем которого является а = /ч/2, также будет обращаться в нуль.
Таким образом, любой «нулевой» многочлен должен делиться на выражение
(a-iy[2 )(a + iy[2) = a2 + 2.
Из сказанного выше следует алгоритм сложения двух чисел, записанных в системы счисления с основанием .
Алгоритм 4.
Шаг 1. Складываем по разрядам два данных числа. При этом в записи суммы может присутствовать цифра -2, не входящая в алфавит системы счисления. Тогда переходим к шагу 2. Если таковой цифры не встретилось, то получаем искомую сумму.
k
k=0
Шаг 2. Используем формулу из таблицы сложения для каждой -2 в записи числа (по одному разу для каждого разряда), при этом в записи может появиться и цифра -3. После этого, двигаясь от нулевого разряда, находим первую цифру справа, большую единицы. Эта цифра и все другие, стоящие слева от неё, определяют некоторый многочлен Р (х). Если Р (х)
делится на (-1) х2 +(-2) без остатка, то считаем его
«нулевым», если с остатком, то повторяем шаг 2, учитывая, что
-3 = (-1)а4 +(-1)а2 +(-1) = (-1)0(-1)0(-1)а .
Если в сумме не осталось цифр, не принадлежащих алфавиту {0, -1} , то получаем искомый результат. ■
Умножение. Согласно свойству 3, алгоритм умножения чисел в системе счисления {а; I} легко получается из алгоритма умножения чисел в системе счисления {а; I} , поэтому достаточно рассмотреть лишь 2 системы из 4.
Для {/Т2;{0,-1}} (-1)2 = 1 = (-1)а2 + (-1);
для {/72;{0,1}} (1)2 = 1.
Поскольку «алфавит» системы счисления {а;{0, (-1)к}} состоит из цифр 0 и (-1)к, то умножение чисел а и с в этой системе счисления сводится к сложению т чисел, где т - количество цифр единичной нормы в записи числа с. Складываемые числа получаются из числа а следующим образом. При
умножении числа на цифру ( -1)к , стоящую в разряде, соответствующем ар, к записи числа а справа добавляется р нулей. Числа, полученные при умножении на цифры единичной нормы некоторых разрядов, складываются последовательно по два числа в соответствии с алгоритмом сложения.
Инверсия знака. Следует отметить, что инверсия знака будет одинаковой в различных системах счисления. Поэтому достаточно рассмотреть алгоритм лишь для одной системы счисления.
Пусть представление исходного числа Р в систе-
ме
счисления {/ч/2;{0,-1}} имеет вид Р = £акак , то
к=0 N
есть -р = £ (-ак )ак . Тогда, учитывая формулу
к=0
1 = (-1) а2 + (-1), получаем следующий алгоритм инверсии знака. Алгоритм 5. Шаг 1. Полагаем к = 0.
Шаг 2. Если -ак = 0 или -ак = -1 , то переход к шагу 3.
Если -ак = 1 , то в текущий разряд записываем -1 и прибавляем -1 к разряду к + 2 . Переходим к шагу 3.
Шаг 3. к = к +1.
Если к больше длины исходного числа b, то алгоритм закончен.
Иначе переходим к шагу 2. ■
Сходимость всех алгоритмов для кольца S (/'V2)
обосновывается аналогично сходимости алгоритмов для кольца S (i).
Квазиканонические системы счисления в S(iy[7)
Кольцо S(iVl) целых элементов поля Q (iyfl) состоит из элементов
a + bijl , z =---; a ° b (mod2), a,b e Z.
При делении с остатком по норме на a, Norm (a) = 2 , норма ненулевого остатка может равняться только единице. Таких остатков ровно два: {±1} , что в сочетании с вариантами выбора a:
Г±1± iVl!
2
даёт 8 потенциальных комбинаций воз-
можных оснований а и множества I, то есть, 8 бинарных квазиканонических систем счисления. Учитывая свойство 3, получаем, что в кольце £ (г ) достаточно исследовать лишь две системы счисления, а именно:
\1 + ^-;{0,-1}1 и \ ;{0,-1)1.
2
2
Следующая теорема описывает все возможные квазиканонические системы счисления в кольце £ (гч/7).
Теорема 3. В кольце целых алгебраических чисел £ (/л/7) существуют ровно 8 бинарных квазиканонических систем счисления, а именно: системы счисле-
±1 ± .
и множествами цифр
ния с основаниями a =
2
{0,1}, {0, -1} .
Доказательство проводится по схеме доказательства теоремы 1.
Из доказательства теоремы 3 легко получается алгоритм записи целого алгебраического числа
go =-
a +
b0iVl
2
; a„, b„ e Z , в системе счисления с ос-
нованием а = 1 ''и алфавитом ^ = {0; (-1)к} .
Алгоритм 6.
Шаг 1. Полагаем р = 0 .
Шаг 2. Если для
ар + ^'Т7
g р =-
2
a1ap -a2bp ° 0 (mod4).
то гр = 0 .
Если а1ар -а2Ьр ° 2 (mod4), то гр = (-1)к.
Переходим к шагу 3.
Шаг 3. Вычисляем урпо формуле
(ур -гр )а
ур+1
2
Если у р+1 = 0 , то алгоритм закончен.
Если ур+1 Ф 0, то р = р +1 и переходим к шагу 2. ■
Рассмотрим теперь арифметические операции в таких системах счисления. Согласно свойству 3 и доказанной теореме, достаточно рассмотреть сложение лишь для двух систем счисления, например:
[-1 + л/7
;{0,-1)!
[1+Ф
;{0, -1}!.
Сложение. При сложении двух чисел в системе {-1 + ¡у17
счисления
2
;{0, -1}!, иначе говоря,
двух
многочленов, получаем новый многочлен с коэффициентами 0, -1 или -2. При этом, поскольку -2 = (-1)а3 + (-1)а , то слагаемое вида -2а' преобразуется по формуле
-2а' = ((-1) а3 + (-1) а) а' = (-1) а'+3 + (-1) а'+'.
Замечание. В некоторых случаях преобразование суммы двух чисел с использованием последней формулы приводит к тому, что алгоритм не сходится за конечное число шагов. Но данный недостаток можно компенсировать следующим образом.
Очевидно, что любой многочлен от а, корнем которого является а = 1 , также будет обращаться в нуль.
Таким образом, любой «нулевой» многочлен должен делиться на выражение
(
-1 + /л/7 У -1 - ^/7
а —
Л
а-
= а2 + а + 2.
При сложении двух чисел в системе счисления <|1 + ;{0,получаем новый многочлен с коэффициентами 0, -1 или -2. В этом случае любой «нулевой» многочлен должен делиться на выражение
(
а —
1 + /л/7 У 1 -/77
2
Л
а--
2
= а2 -а + 2.
Из сказанного выше следует алгоритм сложения двух чисел, записанных в системе счисления с осно-
±1+/л/7
ванием
2
Алгоритм 7.
Шаг 1. Складываем по разрядам два данных числа. При этом в записи суммы может присутствовать цифра -2 , не входящая в алфавит систем счисления. Тогда переходим к шагу 2. Если таковой цифры не встретилось, то получаем искомую сумму.
Шаг 2. Используем формулу из таблицы сложения для каждой -2 в записи числа (по одному разу для каждого разряда), при этом в записи может появиться и цифра -3 . После этого, двигаясь от нулевого разряда, находим первую цифру справа, большую единицы. Эта цифра и все другие, стоящие слева от неё, определяют некоторый многочлен Р(х). Если Р(х) делится без остатка на (-1) х2 +(-1) х +(-2) для системы счисления
Г-1+/77
2
-;{0,-1}! или на(-1)х2 + х + (-2) для систе-
Г1 + л/7 {п }{ мы счисления < —-— ;{0, -1}!, то считаем его «нулевым». Если с остатком, то повторяем шаг 2.
Если в сумме не осталось цифр, не принадлежащих алфавиту {0, -1} , то получаем искомый результат. ■
Умножение. Согласно свойству 3, алгоритм умножения чисел в системе счисления {а, I} легко получается из алгоритма умножения чисел в системе счисления {а, I} , поэтому достаточно рассмотреть лишь 4 системы из 8.
Для {-^ ;{0,-1}}
(-1)2 = 1 = (-1) а2 + (-1)а + (-1); {-1 + ¡у/7
для
2
;{0,1}! (1)2 = 1;
для (^ ;{0,-1}{ (-1)2 = 1 = (-1)а3 +(-1)а + (-1); для ;{0,1}| (1)2 = 1.
Поскольку алфавит системы счисления {а;{0,(-1)к}} состоит из цифр 0 и (-1)к, то умножение чисел а и с в этой системе счисления сводится к сложению ш чисел, где ш - количество цифр единичной нормы в записи числа с . Складываемые числа получаются из числа а следующим образом. При умножении числа на цифру (-1)к, стоящую в разряде,
соответствующем ар, к записи числа а справа добавляется р нулей. Числа, полученные при умножении на цифры единичной нормы некоторых разрядов, складываются последовательно по два числа в соответствии с алгоритмом сложения.
и
2
2
2
2
Инверсия знака. Следует отметить, что инверсия знака будет одинаковой в различных системах счисления. Поэтому достаточно рассмотреть алгоритм лишь для одной системы счисления.
Пусть представление исходного числа Р в систе-
ме счисления
{a;{0,-1}}
имеет
вид b = £ ak ak , то
есть -р = £ (-ак )ак . Тогда, учитывая формулу
к=0
1 = (-1)а2 + (-1), получаем следующий алгоритм инверсии знака. Алгоритм 8. Шаг 1. Полагаем к=0.
Шаг 2. Если -ак = 0 или -ак =-1, то переход к шагу 3.
Если -ак = 1 , то в текущий разряд записываем -1 и прибавляем -1 к разрядам к+1 и к+2 для системы
1 +1"^_;{0,-1}1 (прибавляем -1 к раз-
счисления
2
рядам к +1 и к + 3 для системы счисления
h+iV7
;{0,-1}[).
Если -ак= -2,-3,..., то раскладываем его в данной системе счисления и добавляем его к текущему представлению, начиная с разряда к, то есть действуем, как в алгоритме сложения. Переходим к шагу 3.
Шаг 3. к=к+1.
Если к больше длины исходного числа р и ак+1 = 0, ак+2 = 0 , то алгоритм закончен.
Иначе переходим к шагу 2. ■
Сходимость всех алгоритмов для кольца £ (/ч/7)
обосновывается аналогично сходимости алгоритмов для кольца £(/).
Заключение
В работе подробно рассмотрены алгоритмы представления целых элементов (в том числе и обычных целых чисел) и реализации основных арифметических операций в кольцах целых алгебраических чисел мнимых квадратичных полей.
В отличие от метода работы [26], для представления чисел в системах счисления с основаниями в виде целого алгебраического числа используется факт наличия в кольцах целых алгебраических чисел квадратичных полей алгоритма деления с остатком по норме.
Предложенный подход достаточно легко обобщается на случай других квадратичных расширений, для элементов которых есть алгоритмы деления с остатком по норме и на случай небинарных систем счисления.
Рассмотренный подход обеспечивает дополнительную криптостойкость системы кодирования по методу работы [28] или новые алгоритмы параллельного вычисления произведения больших целых чисел методом, описанным в монографии [25].
Благодарности Работа выполнена при финансовой поддержке
РФФИ (гранты 09-01-0511а, 12-01-00822а, 12-0131316 мол а).
Литература
1. Grunwald, V. Intorno all'aritmetica dei sistemi numerici a base negativa con particolare riguardo al sistema numerico a base negativo-decimale per lo studio delle sue analogie coll'aritmetica ordinaria (decimale) / V. Grunvald // Giornale di matematiche di Battaglini. - 1885 - N 23 - P. 203-221.
2. Knuth, D. E. The Art of Computer Programming. Vol. 2 Semi-numerical Algorithms / D.E. Knuth. - 3rd edition. -London: Addison Wesley, 1998.
3. Katai, I. Canonical number systems for complex integers / I. Katai, J. Szabo // Acta Sci. Math. (Szeged). - 1975. -Vol. 37 - P. 255-260.
4. Kovacs, B. Canonical number systems in algebraic number fields / B. Kovacs // Acta Math. Hungar. - 1981. - Vol. 37.
- P. 405-407.
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. Gilbert, W.J. Radix representations of quadratic fields / W.J. Gilbert // J. Math. Anal. Appl. - 1981. - Vol. 83 -P. 264-274.
8. Akiyama, S. Topological properties of two-dimensional number systems / S. Akiyama, J.M. Thuswaldner // J. Th'eor. Nombres Bordeaux. - 2000. - Vol. 12. - P. 69-79.
9. Akiyama, S. On the topological structure of fractal tilings generated by quadratic number systems / S. Akiyama, J.M. Thuswaldner // Comput. Math. Appl. - 2005. - Vol. 49, N 9-10 - P. 1439-1485.
10. Katai, I. Number systems and fractal geometry / I. Katai -Jannus Pannonius University Pecs, 1995.
11. Grochenig, K. Multiresolution analysis, Haar bases, and self-similar tilings of Rn. / K. Grochenig, W. R. Madych // IEEE Trans. Inform. Theory - 1992 - Vol. 38 - P. 556-568.
12. Gilbert, W. J. Complex numbers with three radix representations / W. J. Gilbert // Canadian J. Math. - 1982. - Vol. 34
- P. 1335-1348.
13. Indlekofer, K.-H. Some remarks on generalized number systems / K.-H. Indlekofer, I. Katai, P. Racsko // Acta Sci. Math. (Szeged) - 1993. - Vol. 57 - P. 543-553.
14. Katai, I. On number systems in algebraic number fields / I. Katai, I. Kornyei // Publ. Math. Debrecen - 1992. -Vol. 41. - P. 289-294.
15. Praggastis, B. Numeration systems and Markov partitions from self-similar tilings / B. Praggastis // Trans. Amer. Math. Soc. - 1999. - Vol. 351, N 8. - P. 3315-3349.
16. Duvall, P. The Hausdorff dimension of the boundary of a self-similar tile / P. Duvall, J. Keesling, A. Vince // J. London Math. Soc. - 2000. - Vol. 61. - P. 748-760.
17. Gilbert, W.J. Complex bases and fractal similarity / W.J. Gilbert // Ann. sc. math. Quebec. - 1987. - Vol. 11, N 1 - P. 65-77.
18. Scheicher, K. Canonical number systems, counting automata and fractals / K. Scheicher, J.M. Thuswaldner // Math. Proc. Cambridge Philos. Soc. - 2002. - Vol. 133, N 1. - P. 163-182.
19. Veerman, J.J.P. Hausdorff dimension of boundaries of self-affine tiles in Rn. / J.J.P. Veerman // Bol. Mex. Mat. -1998. - Vol. 3, N. 4. - P. 1-24.
k=0
2
20. Wang, Y. Self-affine tiles / Y. Wang // Advances in Wavelet, Springer. - 1998. - P. 261-285.
21. Solomyak, B. Dynamics of self-similar tilings / B. Solomyak // Ergodic Theory Dynam. Systems. - 1997. -Vol 17, N 3. - P. 695-738.
22. Bratteli, O. Iterated function systems and permutation representations of the Cuntz algebra / O. Bratteli, P.E.T. Jorgensen // Mem. Amer. Math. Soc. - 1999. -Vol. 139, N 663.
23. Wang, Y. Wavelets, tiling, and spectral sets / Y. Wang // Duke Math. J. - 2002. - Vol. 114, N 1 - P. 43-57.
24. Боревич, З.И. Теория чисел / З.И. Боревич, И.Р. Шафа-ревич - М.: Наука, 1985. - 504 с.
25. Чернов, В.М. Арифметические методы синтеза быстрых алгоритмов дискретных ортогональных преобразований / В.М. Чернов - М.: ФИЗМАТЛИТ, 2007 - 264 с.
26. Kovacs, A. Generalized binary number system / A. Kovacs // Annales Univ. Sci. Budapest, Sect. Comp. - 2001. -Vol. 20 - P. 195-206.
27. Богданов П. С. О представлении целых гауссовых чисел в системе счисления Пенни / П. С. Богданов // Компьютерная оптика. - 2010. - Т. 34, № 4. - С. 561-566.
28. Fedoseev, V. Cryptography and Canonical Number Systems in Quadratic Fields / V. Fedoseev, V. Chernov // Machine Graphic & Vision. - 2006. - Vol. 15, N %. - P. 363-372.
References
1. Grunwald, V. Intorno all'aritmetica dei sistemi numerici a base negativa con particolare riguardo al sistema numerico a base negativo-decimale per lo studio delle sue analogie coll'aritmetica ordinaria (decimale) / V. Grunvald // Giornale di matematiche di Battaglini. - 1885. - N 23. - P. 203-221.
2. Knuth, D. E. The Art of Computer Programming. Vol. 2 Semi-numerical Algorithms / D. E. Knuth. - 3rd edition -London: Addison Wesley, 1998.
3. Katai, I. Canonical number systems for complex integers / I. Katai, J. Szabo // Acta Sci. Math. (Szeged) - 1975. -Vol. 37. - P. 255-260.
4. Kovacs, B. Canonical number systems in algebraic number fields / B. Kovacs // Acta Math. Hungar. - 1981. - Vol. 37. - P. 405-407.
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. Gilbert, W.J. Radix representations of quadratic fields / W.J. Gilbert // J. Math. Anal. Appl. - 1981. - Vol. 83 - P. 264-274.
8. Akiyama, S. Topological properties of two-dimensional number systems / S. Akiyama, J.M. Thuswaldner // J. Th'eor. Nombres Bordeaux - 2000. - Vol. 12. - P. 69-79.
9. Akiyama, S. On the topological structure of fractal tilings generated by quadratic number systems / S. Akiyama, J.M. Thuswaldner // Comput. Math. Appl. - 2005. -Vol. 49, N 9-10. - P. 1439-1485.
10. Katai, I. Number systems and fractal geometry / I. Katai -Jannus Pannonius University Pecs, 1995.
11. Grochenig, K. Multiresolution analysis, Haar bases, and self-similar tilings of Rn. / K. Grochenig, W. R. Madych // IEEE Trans. Inform. Theory. - 1992. - Vol. 38 - P. 556-568.
12. Gilbert, W. J. Complex numbers with three radix representations / W. J. Gilbert // Canadian J. Math. - 1982. -Vol. 34. - P. 1335-1348.
13. Indlekofer, K.-H. Some remarks on generalized number systems / K.-H. Indlekofer, I. Katai, P. Racsko // Acta Sci. Math. (Szeged). - 1993. - Vol. 57. - P. 543-553.
14. Katai, I. On number systems in algebraic number fields / I. Katai, I. Kornyei // Publ. Math. Debrecen. - 1992. -Vol. 41 - P. 289-294.
15. Praggastis, B. Numeration systems and Markov partitions from self-similar tilings / B. Praggastis // Trans. Amer. Math. Soc. - 1999. - Vol. 351, N 8. - P. 3315-3349.
16. Duvall, P. The Hausdorff dimension of the boundary of a self-similar tile / P. Duvall, J. Keesling, A. Vince // J. London Math. Soc. - 2000. - Vol. 61 - P. 748-760.
17. Gilbert, W. J. Complex bases and fractal similarity / W.J. Gilbert // Ann. sc. math. Quebec. - 1987. - Vol. 11, N 1 - P. 65-77.
18. Scheicher, K. Canonical number systems, counting automata and fractals / K. Scheicher, J. M. Thuswaldner // Math. Proc. Cambridge Philos. Soc. - 2002 - Vol. 133, N 1 - P. 163-182.
19. Veerman, J. J. P. Hausdorff dimension of boundaries of self-affine tiles in Rn. / J.J.P. Veerman // Bol. Mex. Mat. -1998. - Vol. 3, N. 4. - P. 1-24.
20. Wang, Y. Self-affine tiles / Y. Wang // Advances in Wavelet, Springer. - 1998. - P. 261-285.
21. Solomyak, B. Dynamics of self-similar tilings / B. Solomyak // Ergodic Theory Dynam. Systems. - 1997. -Vol 17, N 3. - P. 695-738.
22. Bratteli, O. Iterated function systems and permutation representations of the Cuntz algebra / O. Bratteli, P.E.T. Jorgensen // Mem. Amer. Math. Soc. - 1999. -Vol. 139, N 663.
23. Wang, Y. Wavelets, tiling, and spectral sets / Y. Wang // Duke Math. J. - 2002. - Vol. 114, N 1. - P. 43-57.
24. Borevich, Z.I. Number theory / Z.I. Borevich, I.R. Shafarevich
- Moscow.: "Nauka" Publisher, 1985. - 504 p. - (in Russian).
25. 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).
26. Kovacs, A. Generalized binary number system / A. Kovacs // Annales Univ. Sci. Budapest, Sect. Comp. - 2001. -Vol. 20. - P. 195-206.
27. Bogdanov, P.S. Gaussian integers representation in Pitti's number system / P.S. Bogdanov // Computer Optics. - 2010.
- Vol. 34, N 4. - P. 561-566.
28. Fedoseev, V. Cryptography and Canonical Number Systems in Quadratic Fields / V. Fedoseev, V. Chernov // Machine Graphic & Vision. - 2006. - Vol. 15, N %. - P. 363-372.
CLASSIFICATION OF BINARY QUASICANONICAL NUMBER SYSTEMS IN IMAGINARY QUADRATIC FIELDS
P. S. Bogdanov, V. M. Chernov Image Processing Systems Institute of the RAS
Abstract
In this paper all possible binary 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 these number systems are synthesized.
Key words: canonical numerical system, norm division with remainder, quasicanonical numerical system, imaginary quadratic fields.
Сведения об авторах
Богданов Павел Сергеевич, 1989 года рождения, аспирант Самарского государственного аэрокосмического университета имени академика С.П. Королёва. Стажёр-исследователь института систем обработки изображений РАН. Область научных интересов: обработка изображений, программирование, прикладная математика. E-mail: [email protected] .
Pavel Sergeevich Bogdanov (b. 1989) is 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 Mikhailovich Chernov (b. 1949) is mathematician, doctor of physical and mathematical sciences. Chief researcher of Image Processing Systems Institute of the RAS. Professor of department of Geo-Information Science and Information Security of S. P. Korolyov Samara State Aerospace University (SSAU). Research interests are algebraic methods in digital
signal processing, cryptography, computer arithmetic.
Поступила в редакцию 18 октября 2012 г.