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

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

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

Аннотация научной статьи по математике, автор научной работы — Росошек Семен Константинович, Литвин Анатолий Иванович, Черняева Наталья Евгеньевна

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

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

Fast algorithm of two hypercomplex numbers product computation

Fast algorithm of two elements product computation in hypercomplex numbers algebra which dimension is N = 2 n, is considered. This dimension gives the possibility of orthogonal Walsh-Hadamar matrices application and raising the algorithm efficiency.

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

УДК 518:512-25

С. К. Росошек, А.И. Литвин, Н.Е. Черняева БЫСТРЫЙ АЛГОРИТМ

ПРОИЗВЕДЕНИЯ ДВУХ ГИПЕРКОМПЛЕКСНЫХ ЧИСЕЛ

Работа выполнена при финансовой государственной поддержке ведущих научных шкод РФ, грант AS 96-15-96095 *Исследования по комплексному анализу и алгебре».

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

Алгебры гиперкомплексных чисел (в частности, двойных и дуальных чисел, кватернионов, алгебра Кэли) находят применение в различных разделах математики и ее приложений [1-4].

1. Матрицы Уолша-Адамара Н(п) порядка N=2" определяются по следующей рекуррентной формуле [5]:

H(k

>{

H(k-l)H(k-iy

Я(*-1)Я(*-1)]’

**1,2,

,п,

причем Я(0)=1. Тогда, например,

я(1К! -!]’я(2)

liii i-i i-i 1 i-1-i • i-1-i 1

Отметим следующие свойства матриц Уолша-Адамара [5]:

1 )Щк) - симметрическая матрица;

2) Н{к) - «почти ортогональная» матрица в смысле следующего равенства: Н(к)ТН(к)=2к Е(к), где Е(к) -единичная матрица порядка 2*;

3) Н-'(к) = \н(к).

2

Для изложения алгоритма необходимо обобщение кронекеровского произведения матриц. Под кронеке-ровским произведением матрицы А размера тхп на матрицу В будем понимать матрицу С размера mkx.nl вида

оиВ а\2В •• • <>]ЙВ

а2]В а22В .. . агпВ

оа1В а„2В ■■ • °мпВ.

Будем обозначать кронекеровское произведение С матриц А и В так: С=А®В. Обозначим строки матрицы В через В и В2,.... £*, а столбцы - &1\ &2).В(Г>.

Назовем кронекеровским произведением по строкам матриц Л и В матрицу С' вида

Г А®ВХ ‘ г,_ А®Вг

[А®В> J

В дальнейшем будем обозначать матрицу С’так:

С = А® В.

Заметим, что аналогично можно определить кронекеровское произведение матриц Л и В по столбцам так: С'=А®В=[а®В{')А®В{1)...А®В{1) ].

В [6] были изучены некоторые свойства матриц С и С. Отметим два из них, которые будут использованы в дальнейшем.

Теорема 1 [6]. Пусть С=А®В, С’=А®В и С’=А®В. Тогда матрица С'(С") приводится к матрице С перестановкой строк (столбцов).

Теорема 2 [6]. Матрицу Уолша-Адамара Я(и) можно представить в виде

Я(и)=[£(и-1)®Я(1)1\

где £(л-1) - единичная матрица порядка 2"~\

Я(1) =

Пример.

'1 1 1 1 1 1 1 Г 1-1 1-1 1-1 1-1

Я(3) =

1 1-1-1 1 1-1-1 1-1-1 1 1-1-1 1

1 1 1 1-1-1-1-1 1-1 1-1-1 1-1 1 1 1-1-1-1-1 1 1

1-1-1 1-1 1 1-1

11 0 0 0 0 0 0'

0 0 1 1 0 0 0 0

0 0 0 0 1 1 0 0

0 0 0 0 0 0 1 1

1 -1 0 0 0 0 0 0 '

0 0 1-1 0 0 0 0

0 0 0 0 1-1 0 0

0 0 0 0 0 0 1 -1

Как видно из примера, теорема 2 позволяет представить матрицу Уолша-Адамара, которая является плотно заполненной матрицей, в виде степени разреженной матрицы.

2. Перейдем теперь к алгебрам гиперкомплексных чисел. Пусть И=Н+(#+$ +A# где 1, /, j, к - базис алгебры Нс таблицей умножения

1 i j к

1 1 i j к

i i -1 к •j

j j -к -1 i

к к j -i -1

Пусть <72, <?з - кватернионы такие, что <7г<72=<7з. где ql=a0+ali+a2j+aJk,

q2 =b0 +6, i+b2 j+b} к,

<73 =c0+cli+c2j+c1k.

В [7] был предложен алгоритм умножения кватернионов. Используем теорему 2 для модификации это-

65

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

Имеем согласно [7]

-[coh 1^21^з]=1«2Рг 1"з/>зЗ^-

_2faA I <Фг I <Ф\ I

где [пй\пЛпг\пг\=[ао\аЛаг\аг]А>

1ро1а1л1л]=[ММ^1*>1^.

А =

1 1 1 Г

1-1 1-1 1 1-1-1 1-1-1 1

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

Пусть L - алгебра псевдокватернионов, т.е. четырехмерная вещественная алгебра l^P+fP+Cfi+C#, где 1, /, e,f- базис алгебры L с таблицей умножения

1 / е /

1 1 i е /

/ i -1 / -е

е е -/ 1 - i

е / 1

Если Z], z2ei, то Z]-z2=z2€i, где г\=ай+а\1+а2е+а£ z2=bQ+bli+bje+bif, z3=c0+cii+c2e+cyf. Тогда из равенства (ай +а, i+a 2 е+аг / ) (b0 +6, i+b2 e+b2f)=

= с0 + с,/ + с2е + с3/

с учетом таблицы умножения для базиса L получаем матричное равенство

где

В =

\агаг ]fi=[c*c с2 с

К 6. Ъг Ьг

-Ьг Ь0 — by Ьг

ь2 - Ь, Ь0 ~Ьг

Ьг Ьг Ь, V

Матрицу В можно представить в виде B=L\-2L2,

где

1,=

[А Ьг Ьг Ьг] г0 0 0 0 '

Ь, Ь0 Ьг Ьг Г — Ьг 0 Ьг 0

Ьг Ьг ь0 Ьг > ~ 0 Ьг 0 Ьг

IA Ьг Ьг ь0\ 1о 0 0 о )

.115.

Согласно [7] матрицу L, можно представить в виде >*000 0 рх о о 0 0 р2 о

0 0 0 pj

1

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

I, = А

А'',

где А-'=-А,[р01рх |р2\р3 ]=[й016, \Ь2 \Ь2 ]А.

Тогда [а0 |а, |а2 \а3]А

Ро 0 0 0

0

0 0

0 0 рг о 0 0 0 ;,

/Г' -

-2[а0|а,|а2|а3]12.

Обозначая [а0|а,|а2|а3]л[ = [»0K|w2|n3], получим

3

={wo|/ii|/i2|«3 ]

[с*|с,|с2|Сз ]=

Ро О О О

О р, О О О 0 р2 О О 0 Op,

-2[а^\а2Ъу\ахЬу\а2Ь^]=

=-\поРо\п\Р\\ПгР1^гРг )А-2[а1Ь^\а2Ьъ\з,Ьг\л2Ьх ].

4

Подобную схему вычислений можно организовать для алгебр гиперкомплексных чисел размерности 2", у которых в таблице умножения базиса структурные константы равны ±1. Матрица В для таких алгебр представима в виде B=L\-2L2, где матрица L\ имеет тот же вид, что для алгебр кватернионов и псевдокватернионов, а матрица L2 подбирается в зависимости от алгебры.

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

Заметим, что А=Н(2), и, следовательно, по теореме 2 имеем

А =

1 1 0 0

0 0 1 1

1 -1 0 0

0 0 1 -1

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

В то же время при представлении матрицы А в виде квадрата разреженной матрицы умножение на А равносильно выполнению 8 операций сложения (умножение строки на разреженную матрицу дает 4 операции сложения, еще одно умножение на эту же матрицу - 4 операции сложения). Всего при таком представлении матрицы А три умножения строк на матрицу А дают 24 операции сложения.

Итак, вычисление произведения кватернионов или псевдокватернионов обычным способом требует 16 операций умножения вещественных чисел и 12 операций сложения. При использовании изложенной выше схемы вычислений без применения теоремы 2 требуется выполнить 8 операций умножения вещественных чисел и 40 операций сложения. Наконец, при использовании схемы вычислений с применением теоремы 2 необходимо выполнить 8 операций умножения вещественных чисел и 28 операций сложения (умножения на абсолютные константы 1/4 и 2, присутствующие в данном алгоритме, не учитываются).

3. Естественно предположить, что с ростом размерности алгебры выигрыш в числе операций за счет использования разреженной матрицы будет расти. Рассмотрим теперь восьмимерную вещественную алгебру Кэли P=MiR+i2P+...+i7R. где 1, /ь /2,..., »7 - базис алгебры Р с таблицей умножения

66

1 h >2 h u is k h

1 1 h >2 /3 и is 4 h

*1 h -1 k -i2 is -i* -h is

*2 h -h -1 h k ii -i* -is

h h h -»i -1 h -it is -u

и U -b -*6 “ h -1 <i '2 h

h h U -h k -ii -1 -h »2

h h U -is “»2 h -1 -i\

h h -‘6 is U -h -'2 i\ -1

Если Wu W2e?, то fVvJV2=fV3eP, где Wi=a0+alil+a2i2 + ...+a7i7,

W2= b0 +6, /, +b2 i2 +... +b7i7, W3 = c0 +c,/, +c2i2 +... +c7i7.

Тогда из равенства

(a0 + a,/, + a2i2 +...+ a7i7)x x(b0 +b]il + 62/2 +... + b7i7) — c0 +c,i, +c2i2 +... + c7i7

с учетом таблицы умножения для базиса Р получаем матричное равенство

где

К К \а21....|о7 ]В=[-са |с, \с21....|с7 ],

\-bo bx b2 63 64 6S be bn '

b0 -ь3 b2 -bs bA bn -be

b3 bo ~b\ ~b6 -b7 be ~bs

B= ~b2 bx bo ~bn b6 ~bs be

bs be bn b0 -6, ~b2 ~b3

~b< bn ~b6 b, 60 b3 ~b2

-b2 -b< 6S 62 -63 b0 bx

. b7 К -bs —64 63 62 ~bx \ О

Матрицу В можно представить в виде B=LX-2L2, где

^0 bx b2 b3 be bs be bn]

bx bo b3 b2 bs be bn be

b3 b3 bo bx be bn be bs

b3 b2 bx bo bn be bs be

be bs be bn b0 bx b2 b3 9

bs be bn be bx bo b3 b2

be bn be bs b2 b3 bo bx

bn be bs be b3 b2 bx bo\

'60 0 0 0 0 0 0 0 '

О О 63 0 bs О О Ь6 0 0 0 6, Ь6Ь7 О О О Ъ2 О О Ъ7 0 65 О

2" о о о о о ь,ь2ь3 ' О 64 о ъ6 о о о ъ2 о 6764 о о 63 о о О 0 b}b4 0 0 6, о

Тогда

’ Po 0 0 0 0 0 0 ■

0 Px 0 0 0 0 0

0 0 0 0 0 0

Lx=H( 3) 0 0 0 0 0 0

0 0 0 0 0 0

0 0 0 0 0 0

0 0 0 0 0 0 Pi.

где

я;1 (з)=I я(з* к I Pi I...! Pi ]= к IМ -1 ь7 ]я(з).

Продолжая подобно как для кватернионов и для псевдокватернионов, получим

[- с01 с, | с21 ...| с7]=^ [поРо | л,/?, | п2р21 ...| /ьлК(з)-

-2[а060 |а362+а564+а667 |а,63+а664+а765 |а26,+ +а566 + а7641 а,65 + а266 + а3671 а2Ъ7 + а46, + а6*3 |а365+а462+а76, |а,66+а463+а562 ].

Сравним число операций при обычном умножении чисел Кэли, умножении по алгоритму без применения теоремы 2 и по алгоритму с применением разреженного представления по теореме 2.

При обычном умножении чисел Кэли используются 64 вещественных умножения и 56 сложений, при умножении по алгоритму без применения теоремы 2 - соответственно 30 вещественных умножений и 190 сложений. А при умножении по алгоритму с применением разреженного представления используются 30 вещественных умножений и 46 операций сложения.

Таким образом, используя факторизацию матриц Уолша-Адамара с применением обобщенного кроне-керовского произведения матриц, удается существенно повысить эффективность алгоритма.

ЛИТЕРАТУРА

Арнольд В.И. Геометрия сферических кривых и алгебра кватернионов // Успехи матем. наук. 1995. Т. 50, вып. 1. С. 4-68.

2. Монин Ю.И. Калибровочные поля и комплексная геометрия. М.: Наука, 1984.

3. Кантор И.Л., Солодовников А.С. Гиперкомплексные числа М: Наука, 1973.

4. Яглом ИМ. Комплексные числа и их применение в геометрии. М: Наука, 1976.

5. Ахмед Н„ Рао К. Ортогональные преобразования при обработке цифровых сигналов. М.: Связь, 1980.

6. Быков В.И.. Кожуховский А.Д., Росошек С.К., Литвин А.И., Иванова В.А. Обобщенные кронекеровские произведения матриц и их применения И Электронное моделирование. 1991. Т. 13, № 5. С. 14-19.

7. Макаров ОМ. Алгоритм умножения двух кватернионов // Журн. вычислит, матем. и матем. физики. 1977. Т. 17, № 6. С. 1574-1575.

Статья представлена кафедрой алгебры механико-математического факультета Томского государственного университета, поступила в научную редакцию «Математика» 24 декабря 1999 г.

67

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