Синтез параллельных алгоритмов преобразований Фурье-Галуа в прямых суммах конечных колец
Автор: Чернов В.М.
Журнал: Известия Самарского научного центра Российской академии наук @izvestiya-ssc
Рубрика: Компьютерная оптика и обработка изображений
Статья в выпуске: 1 т.2, 2000 года.
Бесплатный доступ
Рассматривается метод синтеза быстрых алгоритмов дискр етных преобразований, позволяющих, в частности, безошибочно и с минимальным числом умножений в ычислять дискретные свертки целочисленных последовательностей. Предложенный подход базируется на неоднозначности разложения на простые множители в алгебраических кольцах. Выбор подходящего разложения определяется особенностями машинной реализации модулярных вычислений.
Короткий адрес: https://sciup.org/148197561
IDR: 148197561
Текст научной статьи Синтез параллельных алгоритмов преобразований Фурье-Галуа в прямых суммах конечных колец
Модулярные аналоги дискретного преобразования Фурье (теоретико-числовые преобразования, ТЧП, преобразования Фурье-Галуа)
N - 1
x ( m ) = X x ( n ) ® mn ( mod Р ) ® N = 1 ( mod p ) (1) n = 0
были впервые введены в работах Р.Г. Фарад-жиева и Я.З.Ципкина [1, 2] , А.Штрассена и В. Шёнхаге [3] и переоткрыты в работе Ч.М. Рейдера [4] . Последняя работа получила наибольшую известность и явилась основой для различных модификаций и обобщений ТЧП. Наибольшая популярность этой тематики приходится на 70-е годы, что объясняется, в основном, вычислительными преимуществами целочисленной арифметики для использовавшихся цифровых устройств и возможностями эффективного решения массовых задач информатики - “безошибочного” вычисления циклической свертки (целочисленных) последовательностей [5] и быстрого умножения больших целых чисел [3] . Возрождение интереса к ТЧП, наметившееся в последние годы, связано с разработкой нового поколения СБИС-устройств, использующих модулярные вычисления для реализации арифметических операций [6 - 9] .
Наиболее существенным недостатком ТЧП является то, что простые числа p c “удобной” машинной реализацией (простые числа Мерсенна, Ферма, Голомба и т.п) встречаются в натуральном ряду достаточно редко [10] , что существенно ограничивает возможности ТЧП, например, в задачах цифровой обработки многомерных цифровых массивов
(в частности, изображений).
В настоящей работе рассматривается метод синтеза параллельных алгоритмов “безошибочного” вычисления сверток целочисленных последовательностей с использованием “ТЧП-подобных” преобразований, реализуемых в кольцах классов вычетов по модулю составных чисел. Метод базируется на двух независимых и хорошо апробированных идеях:
-
- вложение кольца классов вычетов по (составному) (mod m) в прямую сумму некоторых конечных колец;
-
- представление данных в «нетрадиционных» системах счисления.
Существенно новым в рассмотренном методе является согласованный выбор конечных колец, способа вложения кольца классов вычетов в прямую сумму этих колец, а также систем счисления «с иррациональным основанием», наследующих свойства двоичной системы счисления в кольцах классов вычетов по модулям простых чисел Ферма. Аналогичная задача для вычислений в кольцах классов вычетов по модулям составных чисел Мерсенна рассмотрена автором в работе [13].
Теоретико-числовое преобразование Ферма
Исторически первым ТЧП, нашедшим эффективные применения в задачах цифровой обработки сигналов, явилось преобразование (1) при р = fs = 22s +1 = 2B +1, s = 0,1,2, 3,4. (2)
Числа fs называются числами Ферма и являются простыми только при пяти указанных значениях 5. Преобразование (1) при p = fs называется ТЧП Ферма или просто преобразованием Ферма.
Привлекательность преобразования Ферма обуславливается по меньшей мере двумя факторами:
-
- существование удобного для машинной реализации “битового” представления элементов поля ( mod f s ) c просто реализуемыми операциями сложения и умножения элементов.
-
- наличие хорошей алгоритмической поддержки вычисления преобразования (1) в виде структурно простых модулярных аналогов классического быстрого алгоритма Кули-Тьюки дискретного преобразования Фурье.
Действительно, любое целое число x из диапазона 0 < x < f s - 1 = 2B может быть представлено ( B +1 ) - битовым разложением
x = x
B
2 + xB-1
B - 1
+... + X12 + Xo 2 ,
xj = 0,1.
Ассоциированный с разложением (3) ( B +1 ) - битовый вектор
< x >= ( хв , x b _b... x b x o ) . (4)
будем называть кодом элемента x ( mod f s ) .
Операции в кольце классов вычетов ( mod f s ) индуцируют формальные правила преобразования кодов, вполне определяемые соотношением
2 B = -1 ( mod fs ) (5)
Именно, сложение производится по почти обычным правилам двоичного сложения “с переносом в старший разряд” ; при переполнении B - го разряда “лишняя” единица вычитается из B -разрядной части результата (или, в терминах кодов, “с инвертированным знаком переносится в самый младший разряд кода) ; умножение на 2 элемента x индуцирует преобразование кодов по правилу
< x >= (xB, xB-1, ••• x 1, x0 ) a a
a a < 2 x > ( x b - 1 , ••• x 1 , x о , xв ); умножение элементов общего вида сводится к сложениям и умножением на степени 2.
Заметим, что код в правой части соот
ношения (5) не обязательно является битовым вектором, но может быть легко преобразован к битовому виду с использованием тривиального соотношения xj+i2j+1 = xj+i2 j + xj+i2 j. (6)
Такие векторы, преобразованные по правилу (6) к битовому представлению, будем называть редуцированными кодами и обозначать < x > * .
Далее, в отличие от поля комплексных чисел , в конечном поле ( mod p) существуют корни не любой степени N единицы, а только удовлетворяющие условию делимости :
N | | (p-1). (7)
Для чисел Ферма это стеснительное, в общем случае, ограничение (7) гарантирует существование структурно простых быстрых алгоритмов вычисления преобразования (1).
Наиболее просто реализуется преобразование (1) при ш = 2 ( mod f s ). В этом случае умножения на фазовые множители в модулярной версии алгоритма Кули-Тьюки (БПФ) реализуются без нетривиальных вещественных умножений [15] .
К сожалению, в силу соотношения (5), элемент ш = 2 ( mod f s ) является корнем степени N = 2B ( mod f s ), что ограничивает максимальную длину преобразования Ферма, реализуемого без умножений, числом N = 32 .
Кроме того, для “безошибочного” вычисления свертки спектральным методом с использованием ТЧП, число p должно быть достаточно велико [16]. В частности, при решении типичной для цифровой обработки изображений задачи вычисления двумерной свертки двух целочисленных массивов размера (512x512) с динамическими диапазонами 0 + 255, для числа p должно выполняться неравенство :
p > (512) 2 (256) 2 = 234 > f 4 = 216 +1.
Это существенно ограничивает возможности применения ТЧП Ферма в задачах обработки многомерной цифровой информации. Использование в качестве модулей в преобразовании (1) составных чисел Ферма доставляет серьезные трудности, связанные с существованием в модулярных кольцах по составным модулям делителей нуля и, как
следствие, с необратимостью некоторых элементов соответствующих колец и/или с не-ортогональностью базисных функций преобразования (1). Кроме того, даже при условии частичной компенсации отмеченных проблем, например, при распараллеливании вычислений в системе остаточных классов [11, 12], характерные преимущества “битовой” реализации арифметических операций именно в полях по модулям чисел Мерсенна и Ферма не наследуются для вычислений в полях по модулям целых делителей составных чисел Мерсенна или Ферма. Действительно, f5 = 232+1 = 641 -6 700 417
и сомножители уже не являются числами Ферма.
Альтернативное разложение чисел Ферма
Пусть, для определенности, число Ферма f имеет вид f = 2 B +1, B = 2r = 3t +1 (8)
и обладает свойствами:
-
(а) при всех 1 < s < 3t +1 числа f и 2 s -1 взаимно просты ;
-
(b) элемент 2(31 +1) обратим в фактор-
- кольце

-
(с) число f не делится на 3 , то есть f Ф 0 (mod 3).
Рассмотрим кольцо S целых элементов поля F разложения полинома ф(z) = z3 + 2 над Q. В кольце S о Z для числа f наряду с обыч ным представлением составного числа в виде произведения целых рациональных чисел возможно представление в форме f = (zt 32 + 1)2y32 + 1)(2ty32 +1). (9)
где Y - примитивный корень третьей степени из единицы.
Лемма 3.1. Элементы f 1 , f2, f 3 е S:
f 1 = ( 2 t 3 2 + 1 ) , f 2 = ( 2 t γ 3 2 + 1 ) , f 3 = ( 2 t γ 3 2 + 1 )
попарно взаимно просты в кольце S.
Доказательство. Допустим, что существуют a, b 1, b2 е S, не являющиеся единицами кольца S, такие что f1 = a b 1, f2 = ab2. Нор- мальным полем для многочлена ф(z) является поле F=Q(y, З/2 ). Пусть NormYY(x) есть относительная норма элемента x е F в поле Q(Y). Трехэлементная группа Галуа полинома ф(z) над подполем Q(y) циклична и действует тождественно на Q. Относительная норма элемента
-
z = x + y З/2 е S
равна Norm YY ( z ) = x 3 +2 y 3 . Поэтому из очевидных равенств
f ; = Y f i + 1 - Y , f ; - f i = (f i —1)( Y - 1) следует
Norm YY ( f 1 —1) Norm YY ( Y - 1) =
= Norm YY ( a ) Norm YY ( b 1 - b 2),
2 B ( YY - 1) 3 =
= Norm YY ( a ) Norm YY ( b 1 - b 2). (10)
Так как Norm YY ( a ) не может быть четным числом, что противоречило бы равенству
Norm YY (f 1 ) = Norm YY ( ab 1 ) =
=f = 2 B +1 = Norm YY ( a ) Norm YY ( b 1 ), то равенство (10) может выполняться только при условии делимости
Norm YY ( a ) II ( y - 1) 3 .(11)
Так как Norm YY ( a ) е Q( y ), то вычисляя норму элементов (11) над Q , получаем:
Norm (Norm YY ( a )) II Norm ( y -1) 3 = 27, что противоречит условию f Ф 0 (mod 3). Аналогично доказывается взаимная простота остальных элементов в условии леммы.
Пусть элементы f, f2, f определены в лемме 3.1. Введем для удобства новые обозначения : P = f, Q= f., R = f3 .
Лемма 3.1 гарантирует возможность представления фактор-кольца Sf в виде прямой суммы
S ≡S ⊕S ⊕S fpqr фактор-колец
SSS
/ p, /q, /г
где f = (f),
p =(P), q =(Q), r =(R) - главные идеалы, порожденные элементами f, P, Q, R, и возмож ность вложения подкольца

в эту
прямую сумму. Поэтому следующая лемма является частным случаем китайской теоремы об остатках [14] . Её доказательство приводится только для явного описания такого вложения.
Лемма 3. 2 . Для любого W е
Z
7f z су-
ществуют эффективно определяемые элемен ты X, Y, Z е
S у (f) и константы a, b, c е
Zf- z такие, что:
-
(а) справедливо равенство
W = aXQR + bYPR + cZPQ, (12)
причем
X = W (mod (P)), Y = W (mod (Q)), Z = W (mod (R));
-
(б) числа X, Y Z допускают представления в форме :
X = X 1 + X 23 2 + X 3 3 4;
Y = Y 1 + Y 2 3 2 + Y 33 4;
Z = Z 1 + Z 23 2 + Z 3 3 4;
0 < X 1 , Y 1 , Z 1 < 2 t+1 ;
0 < X 2 , Y 2 , Z 2, X 3 , Y 3 , Z 3< 2 t .
Доказательство. Соотношение (12) является следствием китайской теоремы об остатках. Для доказательства свойства (а) не- обходимо доказать, что a,b,c е

. Непос редственно проверяются равенства:
RQ = (P - 3)P + 3, PR = (Q - 3)Q + 3, PQ = (R - 3) +3.
Поэтому для выполнения равенств aQR = 1 (mod P), bPR = 1 (mod Q), cPQ = 1 (mod R) достаточно положить a = 3-1 (modf), b = 3-1 (modf), c = 3-1 (modf).
Опуская рутинные выкладки, связанные с применением метода неопределенных коэффициентов, приведем выражения для X, Y j, , Z , (j = 1,2 ,3 ) в форме:
X 1 +(-X 3 ) 2 t +1 + X 2 2 2 t +1 = (3a) -1 W ,
Y 1 +(- Y 3 ) 2 t +1 + Y 2 2 2 t +1 = (3 b ) -1 W ,
Z 1 +(- Z 3 ) 2 t +1 + Z 2 2 2 t +1 = (3 c ) -1 W . (14)
Из соотношений (14) эффективно определяются значения X, Y, Z. Действительно, пусть % есть наименьший неотрицательный вычет для (3 a ) -1 W (mod f) . Пусть далее quot ( и // v ) и exc ( и // v ) - неполное частное и остаток от деления числа и на v , соответственно . Тогда, например, для X имеем:
X = exc ( х // 2 t +1 ), X 2 = quot ( x - X , //2 2 t +1 ), ( -X 3 ) = ( x - X 1 ) 2 - t -1 - X 2 t .
Нетрудно заметить, что элементы X 2 , X 3 допускают t-битовое представление, а элемент X 1 допускает (t+1)-битовое представление.
Рассмотрим первое из равенств (13). Пусть
X, = X l 2 t + ... + X „2 0 , X2 = X 2A 2 t — 1 + ...
1 t 0 7 2 t — 1
+ ... + X 02 2 0 , X3 = X ^2' — 1 + ... + X 0 3 2 0 0 3 t — 1 0
есть битовые представления элементов X 1 , X 2 , X 3 . Тогда соотношение (13) для X можно переписать в виде :
X = X , (V2 У + X* — , (V2 )*'— 1 + X , 3 — , (V2 У'— 2 +
+ X 1 —> f — 3 +... + X 0 (3/2 у. (15)
Равенство (15) можно интерпретировать как представление элемента X “в системе счисления с основанием (32)”, равенства, аналогичные (15), для Yи Z - как представления элементов Y и Z “в системах счисления с основанием
у( 3 2 ) и у( 3 2 ) ”,
соответственно.
Замечание 3.1. Несмотря на не вполне привычную терминологию (“системы счисления с иррациональным основанием”), никаких “приближенных” вычислений в данной работе не производится. Элементы, обозна ченные
( 3/ 2 ) , У( 3 2 ) и у( 3/ 2 )
, есть просто три
различных корня уравнения W3 = 1 в фактор кольце Sf . Как будет показано ниже, такая
(неформальная) интерпретация равенства (15) позволяет ввести простые правила преобразований ассоциированных кодов
< X >= (X1,X2 — 1 ,X3 — 1 ,X1 — ! ,...,X J ). (16)
Отметим также, что существует необходимый математический формализм для придания корректности понятию “системы счисления с иррациональным основанием”. Такие системы счисления достаточно давно и успешно применяются в информатике [17, 18] .
Арифметические действия над элемен- тами кольца yf индуцируют правила пре образования кодов (16): при сложении элементов коды преобразуются по правилу “перенос в старший разряд через две позиции”;
умножение элемента X на
(У 2 )
равносиль
но циклическому сдвигу кода с инвертированием знака младшего бита и т.д. Как и в случае обычной арифметики кольца вычетов ( mod f S ), в результате таких преобразований получаются не обязательно битовые векторы, которые, тем не менее, могут быть легко преобразованы к битовому виду с использованием соотношения (6). Такие векторы, преобразованные по правилу (6) к битовому представлению, будем также называть редуцированными кодами компонентов элемента кольца Sf и обозначать < X > * , < Y > * , < Z > * .
Шифт-преобразования Ферма
Определение 4.1. Оператор 3, определенный на множестве (к+1)-мерных редуцированных кодов, такой что
-
3 : < X > • = ( X„ X.„.Л„ X , ) • ^
-
< 3 X >•= ( X , .„... X„X ,,. X , )• (17) будем называть оператором левого сдвига Ферма. Аналогично определяется оператор правого сдвига Ферма, являющийся обратным к 3 .
Следующие два утверждения, сформулированные как леммы, приводятся без доказательств.
Лемма 4.1. Для любого ( k +1)- мерного битового вектора X период последовательности < 3 n X> * является делителем числа 2( k+1 ) .
Определение 4.2. Пусть < X ( n )> • есть N - периодическая последовательность ( k +1)- мерных редуцированных кодов. Определим шифт-преобразование Ферма соотношением
N - 1
-
< X(m) > * = £ 3"т< X (n) > * , (18)
n = 0
где m = 0,1,., N -1.
Замечание 4.1. При интерпретации редуцированных кодов как битовых представлений элементов поля классов вычетов по модулю f простого числа Ферма введенное шифт-преобразование совпадает с ТЧП Ферма при ш = 2 (mod f ). В этом случае при m Ф k (mod 2B) равенство
T - 1
^ 3-rnk <3^ < E > * > * n = 0
равносильно очевидному равенству
2 B - 1
0 . £ 2 n ( m - k ) (mod f ). (20)
n = 0
При m = k (mod 2 B ) значение сумм (19) и (20) равны 2B (mod f). В общем случае шифт-преобразований значение суммы (19) определяется конкретной интерпретацией действий над кодами, связанной с арифметическими операциями в ассоциированном конечном кольце.
Лемма 4.2. Пусть < E > • = (0, 0,., 0, 1), T = 2 B есть период последовательности
SSS
<3n E > . Тогда для колец K = Sp, Sq , /r при m Ф k (mod 2B) справедливо соотношение (19). При m = k (mod 2B) значение суммы (19) равно 2B (mod p), (mod q), (mod r), соот ветственно.
Доказательство. Если рассматривать соотношение (17) как преобразование, инду цированное умножениями на элементы
(V 2 ) ,
y ( 3 2 ) и у ( з/2 )
соответственно, то единствен ной причиной нарушения равенства (19) мо жет служить, например, для кольца

нео-
братимость элементов
( 3 2 V - 1 = ( 3 2 ) Г -1 при суммировании членов геометрической прогрессии. Этого не
_ мI ЗА происходит, если Normy^ I \v2 / 1 есть число, взаимно простое с f.
Но при т Ф 0 (mod 3) имеем
NormyY х х^(3/2)с-1 J=^(3/2f- 1р(3/2)с- 1р(3/2 Г-1^= 2т-1.
При т = 0 (mod 3 ) имеем

и существование нетривиального общего де лителя чисел Normy^v 32) - 1J невозможно при и = 0, 1, 2 и т > 3. При т = 1, 2, 3
((3R элементы I v 22-) 1 являются единица- ми кольца S и, следовательно, обратимы в соответствующих фактор-кольцах.
Лемма 4.2 позволяет рассматривать “правое” шифт-преобразование как обратное по отношению к “левому” шифт преобразованию (18) и наоборот.
Вычисление свертки
Рассмотренные выше шифт-преобразо-вания позволяют вычислять циклическую свертку целочисленных 2 B- периодических последовательностей c помощью ( B+1) -битовых процессоров по обычной спектральной схеме (см., например , [16]). Опуская детали описания такой схемы, сформулируем окончательный результат.
Теорема. Если для числа Ферма (8) выполняются условия (а)-(с),то для вычисления циклической свертки длины N = 2(3 t + 1) достаточно выполнения:
-
1. девяти (шести левых и трех обратных) шифт-преобразований;
-
2. вычисления произведений компонентов спектров шифт-преобразований;
-
3. реконструкции значений свертки по китайской теореме об остатках в форме (12).
Если число Ферма имеет вид f = 2 B +1, B = 2r = 3t -1 и обладает свойствами:
-
(d) при всех 1 < s < 3t -1 числаf и 2 5 -1 взаимно просты ;
-
(e) элемент 2(31 -1) обратим в фактор-
- кольце

-
(f) число f не делится на 3 , то есть f Ф 0 (mod 3),
то достаточно рассмотреть разложение числа f на множители в кольце S целых элементов поля разложения полинома ^ ( z ) = 2 z 3 + 1 над Q .
В S для числа f наряду с представлением в виде произведения целых рациональных чисел возможно представление в форме, аналогичной ( 9 ):

где у - примитивный корень третьей степени из единицы. Как и в лемме 3.1, доказывается взаимная простота элементов

Доказательства аналогов соответствую щих лемм и теоремы также существенно не отличаются от приведенных выше.
Непосредственная численная проверка показывает, что числа Ферма f , f , f удовлетворяют условиям ( a ) -(c) или (d)-(f), что позволяет вычислять свертки длин 64, 128, 256 с помощью описанного метода.
Заключение
Возможности рассмотренного метода, по мнению автора, не ограничиваются задачей «безошибочного» вычисления свертки. Представляется перспективным его использование, например, при быстром параллельном возведении в степень в конечных полях (массовая криптографическая задача), при сжатии информации и т.п.
В этой связи основную техническую трудность при обобщении на случай иррациональностей высших порядков представляет отыскание явного вида вложения кольца вычетов (mod f в прямую сумму колец (лемма 3 .2).
Экстраполяция результатов на случай модулейp более общего видаp = bk ± 1 также не вызывает принципиальных затруднений. В [19] приведены разложения чиселp на простые множители. Практическая целесообразность такого обобщения ограничивается ис- ключительно возможностями вычислительных средств, ориентированных на недвоичное представление информации [10].