УДК 512.83
БЫСТРЫЙ АЛГОРИТМ ВЫЧИСЛЕНИЯ ПРИСОЕДИНЕННОЙ МАТРИЦЫ
© r.H. MajiauiOHOK
Malashonok G.I. Fast algorithm for computing adjoined matrix. The article proposes a method for computing adjoined matrices in commutative domains. The complexity of such methods has the same order as that of matrix multiplication. The former is evaluated and compared with the latter.
ВВЕДЕНИЕ
Вычисление присоединенной матрицы - одна из важных задач вычислительной коммутативной алгебры. Необходимость в вычислении присоединенной матрицы появляется в символьных вычислениях, при решении целочисленных и полиномиальных задач, в функциональных кольцах и многих других задачах.
Известен метод вычисления присоединенной матрицы в произвольном коммутативном кольце, который требует
операций сложения, вычитания и умножения [1]. Если же в кольце допустима операция сокращения (точного деления), то лучший известный метод для этого случая требует 0(п3) операций [2]. В настоящей работе предполагается, что в кольце имеется операция сокращения, и предлагается метод вычисления присоединенной матрицы, требующий, с точностью до константы, такое же количество операций, которое требуется для умножения матриц того же размера.
Рассмотрим разложение на множители
(Л С
обратной матрицы. Если Л = ( ^ ^
обратимая матрица и А - ее обратимый блок, то можно разложить на множители ее обратную матрицу Л~1:
=
I -А~1С 0 I
I 0
0 (D - ВА~ХС)~Х
*(-'» °){ло' !)• “>
При этом требуется только две операции умножения и две операции обращения блоков. Если предположить, что для обращения блоков мо-
жно снова воспользоваться разложением (1) и этот процесс можно продолжить до блоков второго порядка, то для такого разложения на множители матрицы Л-1 порядка п = 2Р потребуется 2р-1 операции обращения блоков второго порядка, а так же по 2р~к операций умножения блоков порядка 2к (к=1,2,... ,р-1). Если для умножения матриц воспользоваться алгоритмом Штрассена [3], то для вычисления всех сомножителей матрицы Л-1 необходимо N = п1од7 — п/2 мультипликативных операций.
В общем случае, если сложность матричного умножения 0(?г.а), то и вычисление множителей обратной матрицы имеет сложность 0(па).
Аналогичный подход, позволяющий вычислять присоединенную матрицу, предлагается в данной работе.
ТЕОРЕМЫ О ФАКТОРИЗАЦИИ ПРИСОЕДИНЕННОЙ МАТРИЦЫ
Пусть Н - коммутативное кольцо, Л = (сц¿) - квадратная матрица порядка п над кольцом Я. Обозначим
Ак =
(
а1,1
ai,l
ai,fc-i
ak-l,k-l &i,k— 1
al,j
&к— 1 ,j ai,j
N
/
(2)
ее квадратную подматрицу порядка к, полученную окаймлением верхнего левого блока порядка к — 1 строкой г и столбцом 0) ('¿)3 > к)- Обозначим ее определитель
Угловой минор порядка к обозначим 5к — к. Определитель матрицы, полученной заменой в верхнем левом блоке Ак к порядка к столбца г на столбец j, обозначим 4(г,Л? {1 <г < к,к < j <п).
Введем также матрицы
^ = {а\,о)з=8,..'.,Ь И @8^ = (^(г,я)3-=т’...,п
размера (£ — 5-(-1) х (£ — я-Ь 1) и (/. — в +1) х (7г—¿) соответственно.
В этих обозначениях детерминантное тождество Сильвестра [4] можно записать так
(3)
где 1 < я < £ < п.
Докажем две главные теоремы о факторизации присоединенной матрицы.
Теорема 1 Пусть квадратная матрица А порядка п над кольцом Я разбита на блоки
А =
А С В [) ))
А - квадратный блок порядка в, (1 < в < п), определитель которого, 68, не является нулем, или делителем нуля в К, тогда присоединенная матрица А* раскладывается на множители
А* =
бгЧп! -б-^С \ ( I 0
0
1
I
о с
о
-В 6.1
(4)
где F = А*, С? = 5$ п+5+1 Лп+1^*, I - единичная матрица и справедливо тождество
Л<3+1) =5,1) -ВЕС.
(5)
Доказательство: Вычислим последовательно результаты произведения матрицы А на сомножители матрицы (4) справа налево:
561 F6, В Г)
681 РС О 6ЯГ) - ВЕС
6п1.
681 РС О 6п1
При этом необходимо доказать только тождество (5) и тождество
6-п+в+1л(е+1)*А(8+1) = 6п1 (б)
Так как = ^¡=1 а1^а1,3’ где
обозначает алгебраическое дополнение элемента (/,7) в матрице А86 то F6, = А*С =
А так как а^1 = а^68 - а»А(1,7)>
то а{п+1) = б8п - вд[8) = 68Г) - ВЕС.
Тождество (6) следует из детерминантного тождества Сильвестра (3)
аеьд<1'+1> = ¿г’"1'*»-
Теорема 2 Пусть квадратная мат.рица Лп+1^ порядка п — в, (з > 0, п — в > 2), над кольцом Я разбита на блоки
¿с+.) -( А с'\
\ в о ) ’
А - квадратный блок порядка Ь — в, (1 < в < £ < п), 68 и не являются
нулями или делителями нуля в Я, тогда матрица <57п+в+1 Л[гл4 раскладывается на множители
¿ГЧ,/ -¿г’РС \ п о
о гг’с
’“-в*°/)(о ?)’ (7)
где Р = ¿-‘+>+1Л['+1)*, в = бГ"+,+ 1д!,‘+1)', / - единичная матрица и справедливо тождество
А£+1)=671{кЪ-Ъ¥С). (8)
Доказательство: Вычислим последовательно
Л (5+1)
результаты произведения матрицы Лп на сомножители матрицы (7) справа налево:
д!Г1}
5Ь1 гс О <5(Б - ВРС
8Ь1 РС В Б
( 6,1 РС
V о бп
РС
I
6п1.
При этом необходимо доказать только тождество (8) и тождества
РА = 5Ь1 (9)
¿(-п+1+‘Л(»+1>М(е+Х) = 5п;_ (]0)
Так как А = Д^+1\ то (9) следует из
тождества Сильвестра
склл[в+1) =
Тождество (10) следует из тождества Сильвестра
с1е1.4<‘+1) = ¿¡'“‘“‘¿п.
Перейдем к доказательству тождества (8). Обозначим алгебраическое дополнение
элемента (1,7-) в матрице л[в+1\ тогда по детерминантному тождеству Сильвестра получим
ДЬ—8—1с __ \ Л + 1
°8 ~ а1,х а1,3 ‘
1=8+ 1
ма-
Так как Р = 6;ь+3+1А{6+1)\ а С - блок трицы Ап + 1\ то из последнего равенства для
143
элементов следует матричное тождество У1 = ГС.
Раскладывая определитель матрицы А**1 по последнему столбцу, получим
в
= ~ ^ ^ а1,3^8(1,])) (11)
1=1
где ~ определитель матрицы, полученной
из Л* 3 заменой строки I на строку Обозначим
о: = (а 1(^-, • • • > а4,з)>
^ К(1,ф ^«(2,*)> • ■ •) *^5(5,1)’ 0, 0, . .., 0)
строки из £ элементов, тогда в соответствии с (11) получим матричное тождество
1 0 \ .t+1 _ / A\t ат
-а s. )'А^ - V ß
Запишем соответствующее ему детерминантное тождество, в котором детерминант матрицы, стоящей справа, разложен по последней строке
(=1
В матричном виде это уравнение запишется так
- вд[‘\
Принимая во внимание, что = РС,
приходим к тождеству (9).
Замечание 1: В теореме 2 рассмотрен
случай, когда порядок матрицы Лп 1 1 ^ больше двух. Если же он равен двум, т.е. п = 5 + 2, то, Л5 + 1Н ( А&+1 -Св+1
очевидно,
ап-1,п А
“ V -<+п 1 <+\п , У
\ 1 71— 1,71— 1 /
Если же п = 5 + 1, ТО Лп+1)* = 1.
Замечание 2: Определитель 5п в разложении (4) можно найти по тождеству Сильвестра
(3)
6п = 6^п+8+16еЬА(п8+1).
Если же п = в + 2, то 6п = detG.
Аналогично находятся определители и 6п в разложении (7) : <5* = <57*+в+Ме1.4[А+1\ <5П =
►t"n+í+1de^íí+1). detF. Если п = t + 2, то <5n = detG.
6t n+t+1det^n^‘;. Если же t = s + 2, то 6t =
БИНАРНАЯ ФАКТОРИЗАЦИЯ
Размеры верхнего левого блока А при факторизации матрицы могут выбираться произвольным образом. Рассмотрим случай, когда размеры блока А являются степенью 144
числа два. Будем называть такое разложение присоединенной матрицы бинарной факторизацией.
Пусть п - порядок матрицы А, 2,г < п < 2 іі+і
И все миноры ¿2г? * = 1, 2, . . . НЄ ЯВЛЯЮТСЯ нулями или делителями нуля в кольце И. По теоремам 1 и 2 будем последовательно вычислять присоединенные матрицы для левых верхних блоков порядка 2,4,8,16,... матрицы
А.
1. Для блока второго порядка.
■^2,2 = (аі,і)ї,І=1,2> ^>2 = det Л2|2,
А2* = I 0,2,2 -аі>2
2,2 * — a2ti аі,і
2. Для блока четвертого порядка.
л4* Í 1 S^FC
<4 = 204 / |Х
I 0 \ f 1 0 \ f F 0
0 G )\ -В hl ) \ 0 / ) '
где F = А%2, В = (oíj)^*, С = («*,,)£&
D = j=3,4) A{3) = 52D - BFC =
«Ík3=3,4. G = ¿2-U<3)*, <S4 = detG.
3. Для блока восьмого порядка.
а8* _ u4 "8
Л8.8 - I 0
STli.I -67lFC
-1
І о
О G
I 0
-В 641
F 0 0 I
где F = А*у, В = С
(ai,j)j=5’,...,8’ D = (Oi,j)i,j=5,...-,8i
0
0 S^G
I 0
-B S6I
F 0
0 I
45) = 64D - BFC = (a$j)iJss5,...)8, F =
«4-45>*. ^ = detF» B = C =
D = «^¿=7,8, 4?) = ^4_1(^D -BFC) = «^¿=7,8, G = *e UiT)*, 68 = detG.
ОЦЕНКА СЛОЖНОСТИ
Пусть M(n) — это сложность вычисления (количество мультипликативных операций) для произведения двух матриц порядка п, ап& — асимптотическая оценка М (п), т.е.
lim М(п)/п/3 = а.
Тогда сложность вычисления присоединенной матрицы порядка п = 2Р с помощью бинарной факторизации будет
р-2
С(п) = Е6-2'СМ(2П_,С”1)> fc=0
с точностью до членов ?г2, а асимптотическая оценка для вычисления присоединенной матрицы будет Зст^/(1 — 21-^).
Асимптотическая оценка отношения сложности вычисления присоединенной матрицы к сложности умножения двух матриц будет к((3) = Пгпп-юо = 1_231_^1 • Для стандартного матричного умножения А;(3) = 4, а для умножения по методу Штрассена /г(log27) = 4,2.
ПРИМЕР
Пусть А матрица восьмого порядка
А =
с квадратными блоками четвертого порядка
Будем вычислять последовательно присоединенные матрицы для левых верхних блоков порядка 2,4,8 матрицы А в соответствии с алгоритмом, описанным в разделе 3.
1. Для блока второго порядка:
^2,2 = | _з ^ > ¿2 = ^ л2 2 = —2,
М Мт Мт М ) ’
( 0 2 -2 2 \
1 -3 1 -2
3 0 -3 0
^ -1 3 -1 1 )
А2* -Л2,2 —
-3 -2 -1 0
2. Для блока четвертого порядка:
А4* —
Л4,4 —
/ 0
¿Ї164І -б^ЕС
-1
0 С где Р = -А2*2,
0
1 о
-В 621
I
Е о 0 I
в =
3 о -1 3
-2 2
1 -2
(_? Ч).4г)-Ы>~ВРО-( оа «),
= г2-и<3,* =
д4* _ л4,4 —
-1 3 О 3
, ¿4 = <52 с!еЬ 0 = 6,
( 1 0
V 1
/ -3 0 2 -1 > ( 1 0 0 0 \
0 -3 1 -1 0 1 0 0
0 0 1 0 0 0 -1 3
\ 0 0 0 1 ) ^0 0 0 3 /
0 0 0 \ ( . -3 -2 0 0 \
1 0 0 -1 0 0 0
3 0 -2 0 0 0 1 0
-3 0 -2 К 0 0 0 1)
/ -9 -12 -6 \
-6 -6 0
-9 -12 2 -6
\ 0 -6 0 -6
Для блока восьмого порядка: 48* —
С —
-Ь4'ЕС
о
I
1 о
о с
где
5 =
/ 0 \ / ^ 0
-В 641 )\ 0 7
6’ 5Т 5Т 5
( 17640 9135 10836 -8946 \
7182 441 4914 1575
1071 -945 -1323 -3654
V -10899 -8190 -5607 14553 )
Е = а44*4> в = с = мт, о = м,
45) = Ь4П - ВЕС =
( 112 -95
118 -152
-198 225
\ 74 -70
111 107 \
12 92
-171 -189
24 76 )
о-(
<Г1
о
¿4_1С
( 17640 7182 1071
6 б81 0
I
-¿6_1РС
I
о
г о
0 I
р
с
-В 661
9135 10836 -8946 \
441 4914 1575
-945 -1323 -3654
\ -10899 -8190 -5607 14553 ]
-1 л(5)* _
64 сІеЬ Р = —969, В =
(\Ч Ї )■ ° - (
= 5-1(№-ВРС) =
-152 95
-118 112 -198 225
74 -70
-171 -189
24 76
14553 3654
5607 -1323
С = - 1 ( “1323 ~3654
6 8 -969 ^ -5607 14553 )'
<58 = ¿6 det G = 41013.
ЛИТЕРАТУРА
1. Kaltofen Е. On Computing Determinants of Matrices Without Divisions Proc. Inter-nat. Symp. Symbolic Algebraic Comput. ISSAC’92, Wang, ed., ACM Press, 1992. P. 342-349.
2. Malaschonok G.I. Algorithms for the solution of systems of linear equations in com-
mutative rings, Effective Methods in Algebraic Geometry, Ed. by T. Mora and C. Traverso, Progress in Mathematics 94, Birkhauser, 1991. P. 289-298.
3. Strassen V. Gaussian Elimination is not optimal // Numerische Mathematik. 1969. V. 13. P. 354-356.
4. Akritas A.G., Akritas E.K., Malaschonok G.I. Various proofs of Sylvester’s (determinant) identity // Mathematics and Computations in Simulation. 1996. V. 42. P. 585-593.
Поступила в редакцию 6 января 2000 г.
Адрес журнала в сети Интернет: www.chat.ru/~tsureports