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

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

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

Аннотация научной статьи по математике, автор научной работы — Малашонок Геннадий Иванович

A theorem is stated of solving the linear equations systems over a commutative domain and the field of fractions. Two algorithms are described for rings of principal ideals with zero devisors: an algorithm for computing the characteristic polynomials and one for computing adjoint matrices. Both algorithms have complexity O(n3) ring operations. The article also discuss the use of the modular method for solving problems in Euclidean domain.

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

SOME PROBLEMS IN THE MODULUS OVER COMMUTATIVE RINGS

A theorem is stated of solving the linear equations systems over a commutative domain and the field of fractions. Two algorithms are described for rings of principal ideals with zero devisors: an algorithm for computing the characteristic polynomials and one for computing adjoint matrices. Both algorithms have complexity O(n3) ring operations. The article also discuss the use of the modular method for solving problems in Euclidean domain.

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

УДК 512.715:519.61 НЕКОТОРЫЕ ЗАДАЧИ В МОДУЛЯХ НАД КОММУТАТИВНЫМИ КОЛЬЦАМИ © Г.И. Малашонок

Malashonok G.I. Some problems in the modulus over commutative rings. A theorem is stated of solving the linear equations systems over a commutative domain and the field of fractions.

Two algorithms are described for rings of principal ideals with zero devisors: an algorithm for computing the characteristic polynomials and one for computing adjoint matrices. Both algorithms have complexity 0(?г3) ring operations. The article also discusses the use of the modular method for solving problems in the Euclidean domain.

О РЕШЕНИИ ЛИНЕЙНЫХ СИСТЕМ В КОММУТАТИВНЫХ ОБЛАСТЯХ

Известны алгоритмы решения линейных систем в поле частных коммутативной области (см. обзор в [1] и [2]). В работе [3] описан метод решения линейных систем для случая коммутативного кольца главных идеалов. Сложность этого метода - 0(7?^) кольцевых мультипликативных операций (такая же, как и сложность матричного умножения). Этот метод позволяет построить наиболее быстрый из известных методов решения систем линейных диофантовых уравнений со сложностью 0(»'*) бит операций для квазиквадратных систем и 0(тп^+1) для прямоугольных п х т систем. Оценки приведены с точностью до логарифмического множителя.

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

Метод, позволяющий строить такую обратимую матрицу для колец главных идеалов, описан в [3]. Он требует 0(цР) операций в кольце.

Теорема 1 Пусть Ах = 1> - неоднородная система линейных уравнений над коммутативной

областью R , А 6 RnXm , с = ( А* =(Ь, А), А = (А'Т,еТ), 1,0,. .., U) Е Rm+l

U АР = Т,

(Vo Ui \ / Тг \

где U = 1 хо х\ 1 , Т = <

V Wo Wi J V 0 )

U - обратимая матрица, Т - верхняя треуголь-ная матрица, Т\ - верхний треугольный блок,

диагональные элементы которого не равны нулю, t - последняя ненулевая строка матрицы Т , (а;о, £i) - строка матрицы U с тем otee нол1ерол1, что и строка I, xq - первый элемент этой строки, Р = diag(Pi, 1), Р\ - матрица перестановок. Тогда

(1) Система Ах = Ь совместна в поле частных кольца R в том и только в том случае, когда в строке t отличен от нуля только один последний элемент.

(2) Если система Ах = Ь совместна в поле частных, то х = —xq~xx[ - ее решение, а строки магприцы Wi образуют базис пространства всех решений однородной системы Ах = 0 .

(3) Система Ах = Ь совместна в кольце R в том и только в том случае, когда хо - обратимый элемент R . При этом х = —x0~l x'¡ - решение системы в кольце R , а строки липприцы W\ образуют базис модуля всех решений однородной системы Ах = 0 .

Доказательство.

Пусть в строке t найдется ненулевой элемент, стоящий не в последнем столбце, тогда ранг матрицы Т не уменьшится после вычеркивания последнего столбца. Так как U и Р обратимы, то значит и ранг А не уменьшается при вычеркивании последнего столбца. Но система с расширенной матрицей А1 , очевидно, несовместна. Следовательно несовместна система с расширенной матрицей А* .

Пусть теперь в строке t только последний элемент не равен нулю. Имеем

U йМГ'Н

Очевидно, что первый столбец матрицы U совпадает с последним в матрице Т, поэтому х0 ф О

и Wo = 0. Получим Ах] = —хоЬ и AW{ = Ü. Строки матрицы W\ линейно независимы, так как U обратима и Wo = 0 . Число строк в матрице Т\ равно гапк(Л) , поэтому число строк в матрице W\ будет m — гапк(Л) . Следовательно, строки матрицы W\ образуют базис пространства всех решений однородной системы Ах = 0 , и X = —Хо~1хТ - решение системы Ах = b в поле частных.

Если хо обратимый элемент кольца Я, то решение X = — Хо~ХХ1\ лежит в кольце R. Предположим теперь, что хо необратим в Я и докажем, что система Ах = b несовместна в Я.

Пусть у - некоторое решение системы Ах = b в поле частных. Тогда найдется такой вектор д в поле частных, что ут = — ar0_1£i + gW\. Запишем вектор д в виде д = gó'gx , где д0 Е R, д\ Е Е Rm , до необратим или равен 1, когда д Е Rm • Получим

ут - + gñ l9iWi.

Предполагая, что у Е Rm , получим вектор —<JoX\ + x0g\W\ = ходоут , все компоненты которого являются кратными ходо •

Если строку (х'о,Х]) матрицы U заменить на линейную комбинацию до{хо, ari) — xogi{Wo, W\) , то определитель матрицы U умножится на до. Но все компоненты новой строки кратны ходо • Следовательно, определитель должен делиться на ходо • Запишем </о clet(Г/) = Ara*oí/o » отсю-

да go(det(U) — кхо) = 0, к Е R- Но в R нет делителей нуля, и clet(Í/) обратим, поэтому det(U)~lkxo = 1. Следовательно, и яо обратим. Мы пришли к противоречию.

Осталось доказать, что когда хо обратим в R, то строки матрицы Wi образуют базис модуля всех решений однородной системы Ах = Ü над кольцом Я.

Строки матрицы W\ образуют базис пространства всех решений однородной системы Ах = 0 в поле частных, поэтому всякое решение однородной системы у имеет вид ут = gW\ .

Запишем вектор д в виде д = д$ хд\ , где до Е € Я, д\ Е Rm , получим д0ут = g\Wx .

Пусть строки матрицы W\ не образуют базис модуля и у - решение системы, которое не может быть получено как линейная комбинация строк Wi с коэффициентами из R. Следовательно, хоть одна из компонент вектора д\ не делится на до . Пусть это будет компонента дг .

Если соответствующую компоненте дг строку матрицы W\ заменить на g\W\ , то определитель матрицы U умножится на дг . Однако g\W\ = доут , поэтому этот определитель должен делиться на до: gr c\et(U) = кд0, к Е Я. Мы пришли к противоречию, так как det(U) - обратим в R. а дг не делится на до .

Пример. Пусть Зж + 4у = — 2 - диофанто-вое уравнение. А = (3, 4), Ь = (—2). Матричное уравнение иА — Т имеет вид

1 1 U \ / "2

1 2 -1 3

0 4 -з / V 4

Так как элемент в первой строке 1У[2, 1] = 1 , то

— (1У[2,2], И^[2,3]) = (—2,1) - диофантово решение (И^[3,2], И^[3,3]) = (4,-3) - решение уравнения Зж + Ау = 0 .

ОБОБЩЕННЫЙ МЕТОД РЕШЕНИЯ СИСТЕМЫ ЛИНЕЙНЫХ УРАВНЕНИЙ

Пусть Яд ~ коммутативная область, Вх = с система линейных уравнений над Яд , с матрицей коэффициентов А = (Б, с) = (а^) Е Обозначим миноры матрицы А : ак — верхний левый угловой минор порядка к матрицы А ,

— минор порядка к , полученный окаймлением верхнего левого углового минора порядка к — 1 строкой г и столбцом 1 в матрице А .

6к^ — верхний левый угловой минор порядка к после замены столбца i на столбец 1.

Введем матрицы миноров матрицы А . Пусть / = гшп(п, т). Для к = 1,2,...,/ определим Лк=Лк{А) = (а*,-) € Я,,хт,

Г = Т(А) = (ау’еДпХт,

дк = дк{А) = (6^) Е ятхт, е = 8{А) = (6'и)€#*т,

А'°^ — подматрица, стоящая на пересечении

строк г'о + 1,..., г и столбцов ^'о + 1,.

Будем предполагать, что т > п, гапкЛ = п и все диагональные миноры матрицы А отличны от нуля ак ф 0, к — 1,2,..., п. этих условиях решением системы будет

/-»0 ,п _ -*тп — 1,г

_ í7°»n

а7

где V - свободные переменные. Решение системы Вх = с сводится к вычислению матрицы 0 = §(А).

Обобщенный алгоритм для решения этой задачи был опубликован в работе |1()|. Ниже приводится подробный анализ оценок сложности этого алгоритма. В основе алгоритма лежит идея обье-динения метода прямого и обратного хода (РВ) и метода одного прохода (ОР) (11). Исходная система разбивается на две подсистемы. Первая состоит из первых г уравнений, вторая - из остальных.

Соответственно разбивается матрица А на две ча-

,*0.Г Л Г.»

сти Л0,т и 0,т •

Алгоритм состоит из пяти этапов.

Первый этап. Вычисляется матрица •

Для этого последовательно вычисляются матрицы

гк+1;0,к+1 г __ . »•* 1

Ук,т , А. — 1, 7 1 .

Ь?*,т Лку,п ~А0,к Ук,т ’ *к,к+1

$*+1,т = (° + ^Л + 1,т - ^У+1^ + 1,т Ж-Второй этап. Вычисляется матрица .Д|!+11;г’п

лг-Н;г,п _ ЛГ,П _ л г>п /7г;0,г *^г,т ” Лг,т Л0,г=^г,т *

Третий этап. Вычисляется матрица 77т • Для

ЭТОГО при Л = Г 4- 2, 7* + 3, ... , 71 вычисляем *к+1\к,п _ 22-,к,п,.к;к-1,П}, к-1 к.т — к,т 1,т >/и

Четвертый этап. Вычисляется матрица •

Для этого при к = п — 1,..., г + 1 вычисляем

(>щк-1,к _ (^п Лк;к-1,к _ Лк’к~1'кПп1к*п\/п/к ~/п,т "™к,п п,т )/'* '

Пятый этап. Вычисляется матрица (7£’^г

£п;0,г ( п(уг;0,г _ (¡г;0,гсп;г,п\/ г

Утг,т Vе* ^п,т 7*,п п,т //*•* *

Матрица (7 определена блоками (7"т" и С7”’^г . Оценки сложности алгоритмов. Оценим сложность каждого из алгоритмов, которые получаются при различном выборе числа уравнений г В первой подсистеме, 1 < Г < 77 .

Обозначим через Ai¿,Mi¿,Di¿ время выполнения операций сложения/вычитания, умножения и сокращения двух операндов, один из которых является минором порядка г, другой - минором порядка 1. Тогда полное время /., необходимое для проведения всех вычислений, будет

< = £«* + «; + Е Е 4+^

к= 1

к = г +1

¿1 = (2т - 3)(2ММ + Д,.,),

/£ = (77i — А?)((Л; + 1)А/^э 1 + kAk+i,k+i) +

+к(т — к — 1)(2Мь,к+1 + A2k+i,2k+i + ihk+\,k),

t2r - (ill - 7*)((7i - 7*)((?• + 1)МГ|1 + 7-Лг+1)Г+1),

/3 = (777 — к)(п — к)(‘2Мь,к + Аък,2к + Dzk,k-1)>

= (771 - 7l)((7J + 1 - k)Mn,k + (77 - k)Ak+n,k+n +

+ Dk+n,k)i

/5 = r(777. - 7l)((7l + 1 - 7*)A/„,r + (71 - Г)ЛГ+П,Г+П + + Dr + n,r ) •

Оценка по количеству операций в области. Оценим общее количество операций сложения/вычитания /V“ , умножения NTrn и сокращения Ny в коммутативной области Яд .

7V® = (6712771 — 4773 — 677777 -f Зп2 + 71)/6;

jty”* = (9 7?.2 777 — 57*3 + б7777*2 + 3777*2 — 6777777' — 47’3 +

+ 3 77777 — 3 772 — 3 77.7* — 12 777 + 8 77 + 4?')/6;

N? = (3 77 2 771. — 773 — 371771 — 6?72 + 1371 — 6)/6,

N? = (3?72 777 — 773 + бтпт*2 + ЗПГ2 — 6777777' — 4?’3 + 4-377777 — б772 — 37-2 + 3 777'— 12Г714" 7п 4" 7* 4" 12)/б , При 7* > 1 .

Число аддитивных операций не зависит от г. Функции от 7- N? и N™ имеют минимум в точках (2777 4- 77 — 1)/4 — ((2777 — 77 — 1 )2/16 4* 1 / 1 2) 1 ^2

И (2777 4- 7г)/4 — ( (2771 — 77)2 / 1 6 — 77-/4 + 1 /3) 1 ^2, соответственно. Так как г должно быть натуральным, то наименьшее число операций будет в случае г = (77 4- г>)/2, где V = 0, если п четное, и V = 1 , если 77 нечетное. В этом случае получим следующее число операций:

Ьа = (6772777 — 4?г3 — 677777 + 3772 4* 77)/6,

Сп — (3 0 77 2 777 — 1 У773 4* 1277777 — 18?72 — 48777 4" 6 77717 4*

+4077 — 9»7 и + 6у)/24,

1л — (6712 777 — 3/73 + 1277777 — 2 1 772 — 48777 + 67771? + + 3077 — 3 77 7^ + 3 V + 48)/24,

Если число неизвестных и уравнений в системе равно 77 , то

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

¿ДГс = (2Т73 + 3/72 - »377)/6,

= (1 1773 + 24п2 + (4 - Зи)п + 12« - 48)/24,

= (З773 — З772 + (Зи — 6)77 + Зи)/24.

Можно сравнить три метода, метод прямого и

обратного хода (РВ), метод одного прохода (ОР)

и обобщенный метод (О) при 7- = гг/2 , по общему

числу мультипликативных операций:

-т+а _ 3

NFB

(6773 — 3772 + 977 — 12)/6 ,

1ЫОР — (4"3 _ 7,2 “ Ю77)/6 ,

t™+d = ( 14773 + 21772 - 277 + 15v - 48)/24.

Если брагь отношение коэффициентов при 773 , то получим для общего числа мультипликативных операций отношение

t-NFB ’ tNOP ’■ Ing = 12 : 8 : 7.

Оценка алгоритмов в кольце R[xi, х2,.. .xs]. Пусть Rd - это кольцо полиномов над R от s переменных и каждый элемент «,j матрицы А является полиномом степени р но каждой из переменных. Будем полагать, что для умножения полиномов используются стандартные алгоритмы. Оценим время выполнения аддитивных операций A{j , операций умножения M,j и сокращения D,j , когда операндами являются миноры порядка г и j матрицы А :

Aij = ÜP+ 1 )*a,i,

Mij = (ip + l)S(jp + l)S(777,j + ),

Dij = (ip - jp + 1 Y(dij + (jp + l)e (7T7i_j,j + Oii))-Здесь niij,dijy(iij - это время выполнения операций над коэффициентами полиномов, которые являются минорами порядка inj.

Будем предполагать, что т = 77+1 и каждый коэффициент полинома - действительное число, записанное в одном машинном слове, a,j = 0, 777ij — dij — 1, A{j — 0, Л/jj — i j' p , Dij —

0i-iYi’p2% EL'iV =»',+1/(p+ l) - «p/2.

Сохраняя только старшие члены по п и

< 2 si n2,+2(6n+2s-(-3l ,

г, получим tG(r) = Р ((2a+1)(^+2)(a+J3) +

+nsra+1(n£±3s±± - г) - - г2М±Зз±5 +

7 V «2+35+2 I 2 V24+3 s + 1 ^

+П7‘ 2П2Д+1+9 “ Зп2))‘

Время вычислений для ОР и FB алгоритмов будет top = ¿G(n—1) И tFB - tG{ 1) . Лучшее время у

обобщенного алгоритма при ГЬезі — п/2 — Зв/2 + 2 — 2е («2 + 2я — 2)/6(в + 2). Для п >> « получим гье.и = п/2 и

¿оя • ірв '• ¿в = (2« + 1) : 2 : (2 — 2

-25-1

(в + 2.5)).

Оценка алгоритмов в кольце 2[х 1, Х2 ... х3], классический случай. Пусть Ко _ это кольцо полиномов над Ъ от я переменных и пусть каждый элемент матрицы А является полиномом степени р по каждой переменной, а коэффициенты - это целые числа, для записи которых требуется / машинных слов.

Будем полагать, что коэффициенты полиномов, которые являются минорами порядка г, требуют для записи И машинных слов, а для умножения целых чисел и полиномов используются стандартные алгоритмы, тогда ту = 2(т + 2а),

(/у = (Ц — ^7 + 1)(с/ + ¿1(т + 2а)) , ау = 2.?7а. Здесь

а, т, (I — соответственно, время выполнения аддитивных операций, операций умножения и сокращения над одним машинным словом.

Полагая, что а = 0,771 = (I = 1, получим следующую оценку времени выполнения полиномиальных операций , = (г — j)a+lja+íl2p2a, му = и/2(иУ2)‘\ Ау = 0.

Следовательно, оценка времени вычислений будет здесь такая же, что и в кольце Х2, •.., х5],

если заменить всюду в на .5 + 1 и ра на 1ра .

Следовательно, наилучшая оценка будет у обобщенного алгоритма при 7-*,е5( = п/2 — Зв/2 4-+2 — 2а (в2 + 4в + 1)/3(в 4- 3) . Полагая, что п >> я , получим 1‘Ье= п/2 и

1~ор ’• ^в : ~ (“5 + 3) : 2 : (2 — 2 25 3(й 4- 3.5)).

Оценка алгоритмов в кольце 2[хх, Х2 • • • х5], модулярный случай. Пусть Кв - это то же

кольцо полиномов, что и в предыдущем разделе. Но теперь для решения системы будем применять модулярный метод.

Нужно оценить количество модулей, которые требуются, чтобы восстановить решение в исходном кольце из частных решений по отдельным модулям. Будем считать, что каждый простой модуль т,- - это простое число, которое записано в одном машинном слове. Воспользуемся неравенством Адамара для оценки определителя матрицы порядка и . Тогда для охвата коэффициентов полинома, который является минором 71 -го порядка, надо íJ (/-^-log(?^^/)/2 logmJ•) модулей. Для каждой из .5 переменных, которая появится в результате с максимальной степенью 7гр, потребуется пр модулей. Следовательно, общее количество модулей будет ц = р«7»2 (/ log(71ра)/2 log т,-).

Количество операций для решения системы по простому модулю для каждого метода РВ, ОР и @(г) Уже найдено раньше. Обозначим и =

= Ц71л/ Р2. Тогда общее число мультипликативных операций для решения системы, соответственно для каждого из трех методов, будет

СрВ = \‘2и, 11£Р = 8^, 1™ = 1и.

ВЫЧИСЛЕНИЕ ХАРАКТЕРИСТИЧЕСКОГО МНОГОЧЛЕНА НАД КОЛЬЦОМ ГЛАВНЫХ ИДЕАЛОВ

Вычисление характеристического многочлена для матрицы над полем имеет асимптотическую оценку сложности такую же, как и матричное умножение - О(п^) . Для матриц над произвольным коммутативным кольцом лучшая сегодня оценка сложности - 0(?11+^ ^ п) , для коммутативных областей - 0(п3) [4].

Рассмотрим случай коммутативного кольца главных идеалов И., которое может не являться областью и содержать делители нуля. Приведем алгоритм вычисления характеристического многочлена ДЛЯ ЭТОГО Случая СО СЛОЖНОСТЬЮ 0(713).

Элементы матрицы, стоящие сразу под элементами главной диагонали, образуют поддиагональ. Квазитреугольной матрицей называют матрицу, у которой все элементы, расположенные ниже под-диагонали, нулевые. Ее характеристический многочлен вычисляется непосредственно разложением определителя с1еЬ(А/ — .4) по правому столбцу. Асимптотическая оценка числа умножений в кольце II при таком вычислении определителя составляет 713/б [4].

Приведем алгоритм, основанный на вычислении подобной квазитреугольной матрицы.

Диофантовы матрицы. Пусть К кольцо главных идеалов, в котором существует алгоритм вычисления генератора у идеала (р, г/), р, </€ К . Будем называть его С1 алгоритм:

{у, а, 6} = 67(р, </),

Ы = (Р,9), ар + Ь(] = у.

Для ненулевой пары о = (р, </) диофантовой матрицей будем называть матрицу

а с \ </,1 + Ьс

Ь с1

Е* =

ч »

, где с =----------, (/ =

<!

Два главных свойства диофантовой матрицы - это унимодулярность сІеЦ/?«) = 1 и обращение первого элемента пары в ноль аЕа = (0, г/), уф 0. Если у не делитель нуля, то диофантова матрица определена однозначно. В этом случае Н = ^ . Если у - делитель нуля, то с и (I определяются неоднозначно. Число с определяется с точностью до аннулятора у , а число (1-е точностью

до аннулятора а. Если в кольце ввести порядок и выбирать сиг/ как минимальные из множеств с + Апп(д) и (/ 4- Апп(а), то диофантова матрица будет определена однозначно.

Для нулевой пары диофантовой матрицей будем называть единичную. Заметим, что для евклидовых колец GI алгоритм - это алгоритм Евклида.

Алгоритм вычисления подобной квазитреугольной матрицы. Пусть А = - ма-

трица порядка п над R . [к, я] - обозначение для квадратной подматрицы, стоящей на пересечении строк и столбцов с номерами Л:, Л- -|- l,...,s. D,j

- диофантова матрица для пары (ctij,a»,j+i), Eij обозначает матрицу, полученную из единичной матрицы порядка 71 заменой блока [j, j + 1] на Д, , det(£’,j) = 1 . Тогда в матрице AEij элемент (ij) равен нулю.

В дальнейшем будем считать, что матрица А, из которой берутся элементы для построения матриц Eij , не является фиксированной, элементы (я,-,/, rtj,j+i) всегда берутся из той матрицы, на которую умножается матрица Eij . Тогда в матрице АЕк'\Ек,2 * • • Elt}k-2 будут нулевыми элементы 1,2,..., к — 2 строки к , (к = 3,4,*-* , п).

Обозначим Ек = Ek,iEk,2 • • • Ек,к-2, к = 71,71 — 1,.. -, 3 и для об|жгных матриц Е^х =

^к,к-2^к,к-3 ’ ' * ^к, 1 » = ' * ' Г П) *

Матрица 1АЕк будет подобна матрице А, и у нее будут нулевыми элементы 1,2— 2 строки к. Действительно, матрица 1 отличается от единичной только блоком [1, к — 1], и если она умножается слева на матрицу, то в результате не меняются последние строки, начиная со строки к.

Кроме того, если элементы первых к — 1 столбцов матрицы ,4 были нулевые во всех строках, начиная с к + 1 , то они останутся нулевые в матрице ЕЦ1 А Ек , так как Ек отличается от единичной только блоком [ 1, Лг — 1] и при умножении справа переводит каждый из первых к — 1 столбцов в некоторую их линейную комбинацию.

Следовательно, последовательно умножая на матрицы Еп, Е,j,..., Ез справа и, соответственно, на обратные к ним слева, получим матрицу lr~lAU, имеющую квазитреугольный вид и подобную матрице .4, U = Еп-'-Е^Ез, U~l = = Ез'"' En-iEn'•

Оценка сложности. С каждым нулевым элементом связано вычисление диофантовой матрицы. Следовательно, необходимо п2/2 раз вычислять диофантовы матрицы. Для умножения на матрицу E~J достаточно 4/i операций умножения. При умножении на матрицу Eij достаточно 4? операций умножения, так как элементы ниже строки 7 нулевые. Поэтому всего получим

£"=з(г‘-2)(4* + 4п) •

Следовательно, общая асимптотическая оценка сложности вычисления квазитреугольной матрицы будет 7}71Л .

ВЫ ЧИСЛЕНИЕ П РИСОЕДИ Н ЕННОЙ МАТРИЦЫ В КОЛЬЦЕ ГЛАВНЫХ ИДЕАЛОВ

Вычисление присоединенной матрицы для матрицы над полем, а так же для матрицы над произвольной коммутативной областью, имеет асимптотическую оценку сложности такую же, как и матричное умножение - 0(71^) [2].

Рассмотрим случай коммутативного кольца главных идеалов R, которое может не являться областью и содержать делители нуля. Приведем алгоритм вычисления характеристического многочлена, который имеет СЛОЖНОСТЬ 0(713) .

Присоединенную матрицу А* для невырожденной матрицы А над кольцом R определим уравнением

А* А = АА* =det {А)1.

Если R не является областью, то присоединенная матрица может быть определена неоднозначно. Будем называть задачей вычисления присоединенной матрицы задачу вычисления какой-нибудь одной присоединенной матрицы.

Воспользуемся результатом из работы [3]. Для заданной невырожденной матрицы А порядка п вычисление унимодулярной матрицы Q и верхней треугольной матрицы U , таких, что QA = U , можно выполнить за О(п^) операций.

Для вычисления определителя матрицы А достаточно перемножить элементы на главной диагонали матрицы U. Обозначим его d = det(A) . Легко видеть, что i -тый столбец присоединенной матрицы - это решение системы линейных уравнений Ах = di , где di = (0,..., 0, с/, 0,..., 0)т - нулевой столбец, у которого i -тый элемент заменен на d, (г = 1,2,..., п). Следовательно, достаточно решить п систем Ux = Qdi. Так как матрица U

- верхняя треугольная, то для вычисления одного решения каждой из этих систем достаточно 0(п2) операций. Всего для » систем достаточно 0(7i3) операций.

ВЫЧИСЛЕНИЯ В МОДУЛЯХ НАД ЕВКЛИДОВЫМИ КОЛЬЦАМИ

Рассмотрим следующие задачи: вычисление определителя, решение системы линейных уравнений (определенной или неопределенной), вычисление присоединенной матрицы, вычисление характеристического многочлена.

Известно, что эти задачи могут быть решены за О(п^) мультипликативных операций, если они решаются для матриц над некоторым полем F .

В этом параграфе мы обсудим применение китайской теоремы об остатках и р-адического подъема для решения этих задач в евклидовых областях Z и F[x*].

Согласно китайской теореме об остатках, если

- взаимно простые элементы кольца Я , (771,-, rilj) = 1 ДЛЯ всех i ф j , И 7*1, - Про-

извольные элементы из R, то существует единственный элемент 7* , 7* < 771 , 771 = ПГ=1 Ш* > так°Й, ЧТО Г i = 7* mod 771,' для всех i, (í = 1, . . ., 71).

Пусть 77ii,..., mn ~ простые элементы коммутативной области R, тогда каждый фактор F, = Я/?77, является полем. Решение в поле F, каждой из рассматриваемых задач имеет сложность О(п^) мультитликативных операций.

Вычисление определителя. Пусть А = (ai¿) - матрица порядка п.

Если R = Ж, то можно воспользоваться неравенством Адамара det(A)2 < ní=i Yl’j=i ai,j и получить оценку для определителя матрицы | det(A)| < 7in!2an , где а = | max(a,j)|.

Пусть 7711,..., 7ЛП - простые числа, такие что П"=, mi > 2|det(A)|, тогда достаточно вычислить det,(A) в каждом поле Я/771,- . После этого det(A) можно будет однозначно наити в Ж. Для восстановления одного числа р по остаткам r*i, 7*2,.. •, гп достаточно О(772) операций над целыми числами порядка 0(ay/ñ),

Pi = П + [Г-2 ~ 7*i )C'27771 + (7*3 - r2)e377li 77l2 + . . .

+ (7’j — 7*j — I)Cj 7711 77i2 • • • nij- 1,

где Cj = (m\m2 • • • 77ij_i)-1 mod mj , r,- = p, mod 77i,+ i . В итоге получим p = pn .

Таким образом, можно вычислить определитель за 0(п^+1) операций над целыми числами порядка 0(ay/ñ) . Если используется стандартное умножение целых чисел, то получим всего 0(»i^+1(log(n) + 1од(а))2) бит операций.

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

Если R = F[a:], то можно воспользоваться оценкой deg(detA) < Х)Г=1 maxj=i deg (4,j < 7idegn, где a - элемент матрицы А, имеющий наибольшую степень. Если выбрать, например, 71 deg а модулей первой степени, то всего потребуется 0(ii^+l dega) операций в поле F.

Будем считать а константой и пренебрегать логарифмом 77. Тогда оценка сложности вычисления определителя в обоих случаях равна 0(7i/*+1).

Решение определенной системы линейных уравнений. Если определитель S = det А матрицы коэффициентов определенной системы линейных уравнений Ах — Ь уже найден, то можно умножить его на столбец свободных членов. В

результате получим систему Ах = Sb, решение которой лежит в кольце Я и каждая компонента не превосходит по абсолютной величине наибольшего минора матрицы (А, Ь). Следовательно,оценку можно получить также, как для определителя матрицы, только теперь а - наибольший по соответствующей эвклидовой мере элемент расширенной матрицы (А, 6).

Для решения системы в поле F, достаточно О(п^) операций, а количество полей пропорционально 77, как в предыдущем случае. Поэтому общая оценка снова будет 0(n^+l).

Однако р-адический метод [9] имеет лучшую оценку. Нет необходимости вычислять предварительно det А , достаточно выбрать границу для модуля т = ps > 2(d)2 , где d - оценка для максимального минора матрицы (Л, 6) . Всякой дроби, у которой числитель и знаменатель не превосходят по модулю d и знаменатель не кратен р, ставится в соответствие единственный элемент в кольце R/777R. Поэтому достаточно решить систему ПО модулю 777 и затем найти соответстующий этому решению вектор в поле частных кольца Я.

Будем последовательно искать коэффициенты (р-ичные цифры) в разложении вектора

5

х = Ц Xipl

1=0

по степеням р. Пусть А“1 - матрица, обратная к Ар в поле R/pR и 6о = />, тогда

х0 = А“16 mod р, 6, = (6<_ 1 - Axi_i)/p, Xi = А~16, mod р, i = 1, 2,..., s — 1 .

Если р порядка ()(ciy/n) , то s — 2п. Вычисление А“1 можно выполнить за 0(п&) операций, умножение матрицы на вектор требует п2 операций и это нужно выполнять 4?i раз. Восстановление одной дроби имеет сложность порядка 0(п2) , а количество компонент вектора х равно п . Следовательно, общее число операций имеет порядок 0(773) . Если переходить к бит операциям, то получим 0(7>3(loga 4- log7i)2).

Вычисление присоединенной матрицы.

Если определитель уже известен, то присоединенную матрицу можно вычислить, решая п определенных систем, как и в параграфе 3. Если применять р-адический метод, то потребуется 0(пл).

Решение неопределенной системы линейных уравнений. Пусть Ах = Ь неопределенная система линейных уравнений, А = (Ao,Ai) £ £ Rnxm , Ао - квадратный блок и det(Ao) Ф 0 . Решая системы Ао, = 6, , где 6, - столбцы матрицы (Ai, 6), очевидно, получим базисное множество решений системы Ах = Ь. Если применять р-адический метод, то число операций будет 0(тг3(т — 77 4- 1)).

МУЛЬТИПЛИКАТИВНАЯ СЛОЖНОСТЬ АЛГОРИТМОВ

Тип коммутативного кольца Вычис- ление опреде- лителя Решение систем линейных уравнений Вычисление присоеди- ненной матрицы Вычисление характерис- тического многочлена

определенной п X 11 неопределенной 11 X 111

Коммутативная область 7 ^ nß * 7 iß п3

Поле частных muß-1

Кольцо главных идеалов niв 11ß mnß~l Il3 п3

Евклидова область П0+1 п3 (m — п + l)«^-1"1 n4 пР+1

Поле частных (m — n + 1 ) 7?3

Вычисление характеристического многочлена. Коэффициенты характеристического многочлена - это суммы диагональных миноров матрицы. Поэтому количество модулей и в этом случае пропорционально размерам матрицы. Поэтому, как и при решении определенной системы, получим общую СЛОЖНОСТЬ 0(?i^+1) .

ЗАКЛЮЧЕНИЕ

В заключение сведем в таблицу оценки сложности описанных алгоритмов, а также оценки сложности алгоритмов для коммутативных областей (см. [2], [4], [6]) и алгоритмов решения систем линейных уравнений и вычисления определителя для колец главных идеалов (с делителями нуля) [7|, [3].

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

Все оценки приведены с точностью до логарифмических множителей. Для евлидовой области оценки даны для кольца 7L в числе бит операций. Они остаются такими же в кольце полиномов F[x) для числа операций в иоле F. При этом предполагается, что используются стандартные алгоритмы для умножения целых чисел и многочленов. В остальных строках таблицы приведено число операций в самом кольце.

ЛИТЕРАТУРА

1. Малаиюнок Г.И. Решение систем линейных уравнений в коммутативных областях // Вестник Тамбов, ун-та. Сер. Естеств. и тех-нич. науки. Тамбов, 2000. Т.5. Вып.1. С. 147-154.

2. Malaschonok G.l. Effective Matrix Methods in Commutative Domains // Formal Power Series and Algebraic Combinatorics. Springer, 2UUU. P. 506-517.

3. Малахионок Г.И. Решение систем линейных диофантовых уравнений // Вестник Тамбов, ун-та. Сер. Естеств. и технич. науки. Тамбов, 2000. Т.5, Вып.5. С. 620-627.

4. Abdeljaoued J., Malaschonok G.l. Efficient Algorithms for Computing the Characteristic Polynomial in a Domain // J. of Pure and Applied Algebra, V. 156, I. 2-3, 2001. P. 127-145.

5. Chistov A.L. Fast parallel calculation of the rank of matrices over a field of arbitrary characteristic // Proc. FCT ’85. Springer, LNCS V. 199, 1985. P. 147-150.

6. Malaschonok G.l. Recursive Method for the Solution of Systems of Linear Equations // Computational Math. V.I. Wiss. h Tech., Berlin 1997. P. 475-480.

7. Malaschonok G.l. Solution of Systems of Linear Diophantine Equations // Computer Algebra in Scientific Computing, CASC’01. Springer, Berlin, 2001. P. 101-115.

8. Кнут Д.Е. Исскусгво программирования для ЭВМ. Т.2. Получисленные алгоритмы. Москва: МИР, 1977.

9. Dixon J. Exact solution of linear equations using p-adic expansions j I Nurrier. Math., V. 40, 1982. P. 137-141.

10. Малахионок Г.И. Обобщенный метод решения линейных уравнений над областью целостности // Державинские чтения. Тамбов, 1995. С. 33-34.

11. Malaschonok G.l. Algorithms for the solution of systems of linear equations in commutative rings // Effective Methods in Algebraic Geometry, Birkhauser 1991. P. 289-298.

Поступила в редакцию 1 июня 2001 г.

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