Решение систем линейных диофантовых уравнений

УДК 517.9

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

© r.H. MajiaiiioiiOK

Malashonok G.I. Solving systems of linear Diophantine equations. New methods to solve linear systems of Diophantine equations are proposed. These problems are considered from two points of view - modular and p-adic. Both methods allow obtaining solutions of a linear system with the size nxjn with the complexity 0(np + lm). For quasi-square systems, the p-adic method allows obtaining solutions with the complexity 0(n3). Both estimations have the accuracy up to the logarithmic multipliers, /3 being the power in the estimation of matrix multiplication time.

ВВЕДЕНИЕ

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

Основной метод для решения линейных систем диофантовых уравнений основан на вычислении формы Смита матрицы коэффициентов системы [1, 2]. В недавних работах были получены вероятностные методы для нахождения решений линейной системы диофантовых уравнений [3, 4]. Вероятностные методы являются самыми быстрыми из известных сегодня методов. Однако они не гарантируют нахождение решения. Если решение не найдено вероятностным методом, то всегда существует вероятность того, что система совместна, но ее решение не найдено случайно.

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

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

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

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

Показано, что для квазиквадратных систем сложность р-адического метода 0(п3), а модулярного 0(п^+1). Для существенно прямоугольных систем, когда число неизвестных т более чем вдвое превышает число уравнений п, оба метода имеют одинаковый порядок сложности - 0{п^+1т). Здесь оценки приводятся с точностью до логарифмического множителя и предполагается применение стандартного умножения. /3 - показатель степени в оценке сложности матричного умножения.

Приводится алгоритм со сложностью 0(пР~1т) для решения систем над кольцами вычетов.

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

КВАЗИЕВКЛИДОВЫ КОЛЬЦА

Пусть И, - коммутативное кольцо с единицей. Будем называть диофантовой матрицей для ненулевой пары а из И.2 унимодулярную матрицу Еа € Я2*2 такую, что

Еаа = ^ ^ V 9 ± 0, <ЫЕа = 1.

Для нулевой пары диофантовой матрицей будем называть единичную.

Определение 1. Кольцо И. назовем квазиев-клидовым., если в кольце определен алгоритм, вычисляющий для любой пары диофантову матрицу.

Из обратимости диофантовой матрицы следует, что идеал (а,Ь) является главным идеалом, порожденным д. Поэтому всякое квазиевклидо-во кольцо является кольцом главных идеалов.

Наоборот. Пусть И область главных идеалов, в которой существует алгоритм С1 для вычисления генератора д идеала (р, <7), порожденного двумя элементами р, д € К:

{<7, а, 6} = С1(р,д), (д) = (р,д), ар + Ьд = д

Такое кольцо будем называть (7/ кольцом. Диофантовой матрицей для ненулевой пары

а=(0будет •{-</, р/Л

Заметим, что числа а, Ь и д определены неоднозначно. Поэтому и диофантова матрица определена неоднозначно. Если в И. и И2 ввести порядок, то этот выбор можно сделать однозначным.

Если И, евклидово кольцо, то в качестве алгоритма 67 можно взять расширенный алгоритм Евклида.

Предложение 1. Псевдоевклидовость кольца с отношением порядка наследуется его факторкольцом.

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

Пусть К/ - факторкольцо псевдоевклидова кольца И с некоторым отношением порядка и ф : К К' канонический гомоморфизм. Определим функцию ф : К' —> И., выбирающую представителя класса смежности для р' е К. в прообразе </>-1(р/):

Ф(V') = гпгп(ф~1(р')).

Пусть ф(р') = р, -ф{д’) = д, а = ^ ^ Еа -иофантова

>аа= ( о )•

а' = (?)€в /2 диофантову матрицу Еа>

следующим образом Еа> = ф(Еа). Очевидно, такое определение корректно, так как

Еа'С1 = ^ о = 1, §' Ф 0-

Покажем, что д' = ф(д) ф 0.

Из-за обратимости диофантовых матриц р и д делятся на д. Поэтому если ф(д) = 0,

диофантова матрица для а и Епа =| " ). Определим для ненулевой пары

то ф(р) = ф(д) = 0, но по условию хоть одно из чисел р' = ф{р)^д' = ф{я) не должно быть нулем.

Следовательно, множество квазиевклидовых колец содержит все 67 кольца и их факторко-льца, в том числе евклидовы кольца и их фак-торкольца.

Будем называть матрицу А = (а^-), размера пхт, верхней треугольной, если все элементы под главной диагональю нулевые: (г, ]) = 0 для всех п > ] > г > 1. Заметим, что элементы на главной диагонали и над ней могут тоже быть нулевыми.

Будем говорить, что матрица А разложима, если она является произведением унимодулярной матрицы А на верхнюю треугольную матрицу Л: А — А А.

Предложение 2. В квазиевклидовом кольце все матрицы разложимы.

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

Построим такое разложение для матрицы А = (ау), размера п х т. Пусть

диофантова

** = ( £ )’ * > * *-  ‘ матрица для а^. Обозначим через Е™х} унимо-дулярную матрицу, которая получается после замены в единичной матрице порядка п четырх элементов {33)1 (уг), (гу), (и) соответственно на четыре элемента (11), (12), (21), (22) матрицы Еа1>3. Пусть Е$ = Еап^ •  • Еаз+1>я и = Еп- \ • • • Е\. Тогда и - унимодулярная матрица, и А - верхняя треугольная матрица. Эти вычисления приводят к последовательному исключению ненулевых элементов сначала в первом столбце, затем во втором столбце, и так далее до п — 1-го столбца.

Обозначим Со ~ асимптотическую оценку сложности вычисления диофантовой матрицы, М(п) - асимптотическую оценку сложности умножения матриц порядка п, М{п) — ап^. Известное сегодня значение для /3 меньше 2,356

[5).

Лемма 1. Пусть И. - квазиевклидово кольцо, А,С 6 КпХп, А - верхняя треугольная матрица. Тогда матрицу ^ ^ ^

можно разложить

- 1 0 I с

асимптотической оценкой сложности, не превосходящей

С8{п) = п2Со + ос\рп1), где \р = 7(2/3-2 — I)-1.

Доказательство. Для разложения матрицы размера 2 х 1 достаточно умножить на ее диофантовую матриц}'. Пусть теперь п = 2Р, р > 0.

Разобьем А и С на квадратные блоки

А =

С =

(; 0'

Пусть имеются четыре разложения:

а2

0

Ь2 /г і

(I

/і

’ )“д’( Л1 )'

)МП(1:)МП

Матрицы Qi = ( ), г = 1,4, уни-

\ 7 г щ )

модулярные, а, аь «2, с?, ^1, с?2 - верхние треугольные. Тогда получим Л =

<э =

/1 о о V о

о

а4

0

74

0 \

Л о

<*4

«2 о о

\ 7з

( <*1<*2 VI <5з7і Чз

(*2 \ о о

<5з /

/ 1 0 о V о

( <*1 о

( 0-2 Ь2 А и

V о <12 )

0 0 0 \

<*з /32 0

72 $2 0

0 0 1 У

71

о

/з,

о

*1

о

0 \ о

0

1 У

\

0 р\а 2 Дг \

0:40:3 772 04$ 2

7з <М1 О

74 а3 ^4 <Мг /

Используются обозначения 771 = 0*4/3371 + /З472СЦ, г/2 = + /З472/З1, ?7з = 74/З371 + й»72<*ъ

7/4 = 74^3^1 + <5472/31-

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

Продолжая выполнять разбиения на все более мелкие блоки, вплоть до блоков 2x1, получим асимптотическую оценку сложности вычислений

р п

С3(п) = п2Си + 7^4‘М(—) < пГСи + аХрпР.

г=1

Здесь число Хр = 7(2^-2 — I)-1 находится в пределах от Аз = 7 до Л|ое е = 14.

Следствие 1. Пусть И. - квазиевклидово кольцо. Тогда матрицу а) над кольцом

К, размера тг х т, с верхним треугольным

блоком А 622

можно разложить с

асимптотической оценкой сложности, не превосходящей С1(п,т) =

= (п — т)тС[) + атп^_1(Ад(п — т) +4тг — 877г), при п > 2т и С2(п,тп) = (7г — т)тСр+ +с*(п — тп)^-2(Адттг(тг — т) + Ютпп — 4/г.2 — 477г2), при тп <п < 2771.

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

a. Пусть 7г > 2т и т делит тг. Сначала выполним разложение для матрицы, образованной блоком А и верхним квадратным

блоком С\ матрицы С: Ц)-*( 0>

Затем (тг —2тп)/тп раз проведем разложение матрицы, образованной блоком А на предыдущем шаге и г-тым сверху квадратным блоком Сі матрицы С, г = 2,... к. Перемножение уни-моду лярных матриц, получаемых на каждом шаге, требует еще четырех умножений матриц размера т х т. Всего получим

л1. . л/ .

С] (тг, 7тг) = Са(т)---------------[-4 М(ттг)-.

ттг т

b. Пусть т < п < 2т и тг — тп делит ттг. Разобьем матрицы А и С на блоки размера (тг — ттг) х (тг - ттг). Матрица С содержит одну блочную строку. Обозначим С = {Сі, Сі), где Сі - левый блок матрицы С. Матрица А содержит к = т/(п — ттг) блочных строк и столбцов.

Сначала разложим матрицу, образованную верхним левым диагональным блоком А\ матрицы А и левым блоком С\ матрицы С:

( Сі ) = О1 )’ ^ ~~ Унимодулярная

и (

матрица. И вычислим произведение І ^Г/ I =

где Л! - первая блочная строка ма-

трицы А начиная со второго блока. Обозначим С'\={С\,С\), где Сх - левый квадратный блок. Всего необходимо 4(к — 1) блочных умножений.

Затем последовательно раскладываем матрицы, образованные г-тым (1=2,..., к) диагональным блоком Аг матрицы А и левым блоком

С г матрицы С\: ^ ^,г ^ = Qi^ ^ И

вычисляем произведение

где А{ - г-я блочная строка матрицы Л, начиная с г + 1-го блока, С'»=(С*, С»)-

Кроме того, для вычисления унимодулярной матрицы С2 требуется перемножить уни-модулярные матрицы (£'i, размера тг х тг, соответствующие фг- Матрица получается из единичной матрицы 1п заменой четырех блоков (1,1), (1,к+1), (кН-1,1), (к+1,к+1) соответственно на четыре блока (1,1), (1,2), (2,1),

(2,2) матрицы фг- Умножение на требует четырех блочных умножений, а всего на г-том шаге нужно А(к — г) + 4 блочных умножений, г = 2,..., к.

Суммируя по всем шагам, получим С2(п,т) : кС8(п — т)+ 4(к — г+1) — 4) М(п — га) =

= кС8(п — т) 4- 2(к2 + к — 2)М(п — га) =

= т(тг — т)С[) + М(п — т)(Хрт/ (п — т)+ +2(5гап — 2 п2 — 2 т2)/(п — т)2).

Замечание. Не трудно показать, что в условии леммы можно заменить верхнюю треугольную матрицу А на нижнюю треугольную матрицу. А так же можно раскладывать в произведение, когда учимо дуляриал матрица умчожается справа. Оцечки при этом сохраняются.

Теорема 1. В квазиевклидовом кольце всякую квадратную матрицу А порядка п можно разложить с асимптотической оцечкой сложности Сі(п), не превосходящей

п2 — п 9 • 2^~2 — 2

црМ{п) + - С0, 1лр = _ 2){2Р~2 - 1)'

Доказательство. Для разложения матрицы второго порядка достаточно умножить ее на диофантову матрицу ее первого столбца.

Не уменьшая общности, будем полагать, что п = 2Р. Разобьем матрицу А на четыре

л ' А В

квадратных блока А =

С О )’

(1). Пусть имеется разложение блока А :

А = А'1 А.

Обозначим А\ = А А, В] = АВ.

(2). Пусть разложение блока ^ <!,1 ^ имеет вид

( с ) = ^{Ао)>

ф - унимодулярная, А2 - верхняя треугольная. Обозначим ^ ^2 ^ = С} ^ р1 ^.

(3). Пусть имеется разложение блока Их :

Обозначим й2 = 0\.

Тогда разложима матрица А:

А = А-1 А,

Л = Ша8(1, 6,) Я ШаВ(А, 1), А = ( А02 ) .

Всего, при таком разложении, требуется 9 блочных умножений, два блочных разложения

и одно разложение для блока размера п х п/2. Обозначим Ct(n) сложность разложения матрицы А. Получим

Ct{n) = 2Ct

По лемме 1 получим

Ct{n) = 2Ct{n/2) + (п/2)2 С в + а(9 + \p)(ii/2)^.

Будем разбивать блоки А и D далее на квадратные блоки. И так будем поступать вплоть до блоков второго порядка. При этом асимптотическая оценка сложности вычислений будет

Ct(n) = EL, 2‘-‘Ш2Со + а(9 + А„)(п/2‘)") < + otp-pn1*,

где ЧИСЛО IXР = 27ГГ2 НаХОДИТСЯ в

пределах от f.13 = 8/3 до p>\og6 = 23/4.

Следствие 2. В квазиевклидовом кольце разложение прямоугольной матрицы А размера п х т можно выполнить с асимптотической оценкой сложности, не превосходящей Ct°(n, т) = Ср(п2 — п)/2 + от/3(цр + (га — п)/п) при п < га,

С/(п,га) = Св(пт — (га2 + га)/2) + ацрт^-f

а(п — га)^-1 (\рт(гг — га) + 10?7in — 4п2 — 4га2),

при т <п < 2 га и

С2(п,т) = Со(пт — (га2 + га)/2)+

ат^~1 ([хрт+\р(п—га)+4п—8га), прип > 2т.

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

Доказательство сразу следует из оценок для Ct(n) и С8(п).

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

При п > т достаточно разложить верхний квадратный блок и воспользоваться следствием Леммы 1.

Теорема 2. В квазиевклидовом кольце всякая система линейчых уравнечий Ау = с с верхней треугольчой матрицей коэффици-ечтов A G

RUXU

может быть решеча с асимптотической оцечкой сложчости

Сп = CD(n2 - п)/2 + афрпр,

1 7

^ = 2^2(5 + 2^-2-l)'

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

Решение системы Ау = с можно свести к решению двух систем вдвое меньшего размера и одному матричному разложению.

Пусть (о о)(їі) - (О

/ н

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

(1). Пусть решением системы Иуо = її будет Уо = Узо + V, У Є Кл/2хп/2^ у 8о £ БГ1/2, «о - вектор параметров. Подставим его в систему Аух + Вуо = /. Получим Ауі+б^о = где С = ВУ, д = / — £г>.

(2). Разложим матрицу (А, Є):

(А,Є)Р = (Л,0). Р - унимодулярная

матрица, А - верхняя треугольная. По лемме 1 и замечанию к лемме оценка сложности такого разложения матрицы (А, С) составляет Са(п/2).

(3). Пусть решением системы Аг\ = д будет гх = Wtl+w,W е К*/2хп/25 гУ)іі € Кп/2} ^ _

вектор параметров

/ ‘ 4 7 ги

0

Т°ГЛа ( го ) =*•«(*.!)( £ ) + ( будет решением системы (Л, 0) ( 21 ) = д.

V 20 у

Пусть Р = ^ ра р ^ ~ блочная запись матрицы Р. Так как ^ ^ ^ и

Уо = + г», то решение исходной системы

Лу = с получим в виде

У =

(

Рам

УРЛУ

Рь

УРа

)(:;)+(

Ра™

У Рли + V

Всего требуется выполнить пять блочных умножений. Обозначим Сп сложность решения системы порядка п. Тогда Сп = 2Сп/2 + 5М(п/2) + С&(п/2) =

= 2Сп/2 + ск(5 + \р)пП: 2 + (п/2)2Ср.

Отсюда получаем асимптотическую оценку

Сп = Со(п2 - п)/2 + афрп13,

1 < 7 \

ФР ~ 20 - 2 ^ + 2^-2 - I'-

Теорема 3. В квазиевклидовом кольце всякая система линейных уравнений Ах = с,

А € КпХт может быть решена со следующими асимптотическими оценками сложности

С пт =: (Т1ТП /)С' £) Осфр1 ,

Фр = М/з + + А/з2^

Фр = М/3 + фр + Ар—

+ ^ — 8 при 2т < ?г/ + — — 9 при 2п < т;

С пт = (пт - 1)Со + афр1^+

-Ьсфг — т\^~2(\р1\т — гг| 4- 10/гт — 4т2 — 4п2),

фр = !_ір фр при т < п < 2т,

Фр = №р + 0/3 + 2^ — 1 при п < т < 2п, где I = тіп(т, /і).

624

Доказательство. Матрица

унимодулярной и верхней треугольной за С^(п,т) операций по следствию 2 теоремы 1. Следовательно, достаточно решить систему

Л1 х = с'

с верхней треугольной матрицей коэффициентов.

а. Пусть т > п, А' = (А, В), А -квадратный блок, имеющий верхний треугольный вид. По замечанию к лемме 1 можно построить унимодулярную матрицу <3, такую, что (А, В)С^ = (А, 0), где А - верхняя треугольная, за С*(п,т) операций. Решения системы (3) и системы Ау = с/ связаны матрицей

- Ч: )•

где іо - вектор параметров.

Пусть решением системы Ау = с' будет иЬ\ и, и £ К.пХп, t\)u)y € й.п, — вектор параметров, ^ € К”.. Тогда решением исходной системы будет х = фсШц;(и, 1)1 +

^, где £ £ Я”1 - вектор параметров.

Для вычисления матричного произведения Qdiag(U,I) нужно отг~1т операций. По теореме 2 решение системы Ау = с/ можно получить за Сп операций.

Суммируя все операции, получим оценку сложности такого решения

спт = с'?(п>т) + С1(т>п) +Сп + м (п)(т/п),

г = 1,2, где г = 1 соответствует случаю т > 2п, г = 2 соответствует случаю 2п>т> п.

Ь. Пусть п > т, А! —

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

Спт — Сь(п, т) Ст і 1» 2,

где i = 1 соответствует случаю 2т > п > т, г = 2 соответствует случаю гг > 2т.

Утверждение теоремы получается подстановкой всех оценок в правую часть.

В частности, для случая квадратной матрицы коэффициентов системы получим

С’пп = п2Со + осфрцР, Фр = -

7.2^-1

Для (3 = 3: фр < 4,67 . Для (3 = к^7:

фр < 6,54 . Для (3 = 1оё 6: фр = 10,5.

ПОДЪЕМ ПО ГЕНЗЕЛЮ

Пусть К - коммутативная область с единицей, К - поле частных области Я, Л Є Кнхт, с € Яп

Ах = с

- система линейных уравнений над К.

Будем полагать, что п < га, гапкА = п, к = га — п + 1 - число линейно независимых решений системы (5). Пусть А = (Ао,Аі), блок Л0 квадратный, (М Ао ф 0 и последняя строка матрицы Ац ‘(Аі,с) не содержит нулей. Общий случай сводится к данному, например, так, как предлагается в (4]. Пусть е^— столбцы единичной матрицы /^ = (еі,..., е^) порядка к. Если искать решение системы (5) в виде

К”"1,

(«X)’

К\{0},

(j = 1,...,Aj), to придем к определенной

системе порядка к.

Р’ешение такой системы в поле К с помощью р-адического подъема по Гензелю можно получить за

Vz = O

бит-операций, если R - кольцо целых чисел Z. Если же R = F[x\ - кольцо полиномов над полем F, то достаточно

Vf[x] = 0

операций в поле F [3, 6|. Для получения к решений потребуется соответственно kVz и kVp\x\ операций.

Так как ^ ф 0, j = 1 то все к {ре-

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

Ха =

а 1-е

з ^3

Xj\ j = l.

е Кп_1, o^j)Xj £ К-

Обозначим 6 = МОК(а1,... , а^) и отметим, что 6 - делитель минора матрицы (А, с), образованного первыми п — 1 столбцами и последним столбцом.

Домножим числитель и знаменатель каждого решения ] на Обозначим х^6а~1 =

1 = Получим базисное множество решений системы (5) в виде х^ = (Й, )'-

Обозначим и = ~ вектор и

V = к) - матрицу, и е V €

^(п-1)х/с_

Теорема 4. Для того чтобы была совместна система (5) в кольце И, необходимо и достаточно, чтобы была совместна в И система

Vy = 0 mod 5

и у = <5.

Если У - множество решений ситемы (6), то X = { Г уу$-1 ^ I У ^ У} - множество решений системы (5).

Доказательство. Множество решений системы - это гиперплоскость размерности тп — 71 в пространстве К”\ Она определяется га — п + 1 линейно независимым решением. Следовательно, для всякого решения г € Ктп системы (5) найдутся числа 04 € К, г = 1 такие

ЧТО 5^=1 хгаг = 2 И 5^=1 = 1- Обозначим

СГ^Г1 = п е К, г = (у, го), у 6 И/", ги е К"г~к, £ = (гь...,гк). Тогда

к

У = гу 1й=1.

г=1

Если рассматривать (£,у,и>) как вектор неизвестных, то получим систему уравнений

бік -Ik 0 \ / t

У 0 -In-1 У

u 0 0 / \ w

SIk -Ik ° \ ( 1

0 к Sin-і У

0 u 0 \ w

Домножая каждую часть на обратимую в К матрицу

/4 0 0 \

— У 81п-1 0 ,

\ -и 0 6 )

приходим к системе

Пусть система (5) имеет диофантово решение

2 = (у^) € Я711. Тогда совместна система (7). Следовательно, совместна и система

(6). Наоборот, пусть совместна система (6) и

- ее решение, тогда (<5 1 у, у, 6 1Vу) решение системы (7). Следовательно,

г = (у,#-1 Ку) - диофантово решение системы (5).

Оценим сложность решения системы (6) в кольце целых чисел и кольце многочленов.

Матрица V имеет размеры (п — 1) х к, а модуль 6 является делителем минора порядка п. Следовательно, для И. = Z

log<5 < 7i(log II А|| + 0.5 log ;?.),

625

где ||Л || - модуль наибольшего элемента матрицы А. Для R = F\z\

где deg||A|| - степень наибольшего по степени элемента матрицы А.

Пусть применяется стандартный алгоритм умножения целых чисел и многочленов: для умножения N- битных чисел требуется N2 бит-операций, а для умножения двух многочленов степени N требуется N2 операций умножения в поле F.

При к > п по формуле (3) получим асимптотические оценки числа операций соответственно для Z и F[x] :

Г)ркпМ (n)(\og\\A\\ +0.5 log п)2

При А; < п по формуле (4) получим асимптотические оценки числа операций соответственно для кольца целых чисел Z :

«',-'

+n2k(i'p+/j,p — \р—4)) и для кольца многочленов над полем F[a:]:

+n2k(isp + цр - Ap — 4)).

Отметим, что в общем случае сложность вычисления к решений систем в поле К не влияет на эти асимптотические оценки.

Однако для квазиквадратных систем это не так, ибо величина к мала по сравнению с тг, и ей можно пренебречь. В этом случае для Z и F[.xj получим, соответственно, следующие оценки числа операций:

O

Если применять быстрые методы умножения целых чисел и многочленов, то эти оценки можно еще улучшить. Так, метод Карацубы требует 0(./Vlog3) операций, а сегодняшний рекорд составляет - 0(N log N log log N).

МОДУЛЯРНЫЙ МЕТОД

Будем решать систему (5), полагая что А = (Ao,Ai), блок Ао квадратный, detAo =

5, 5 Ф 0. Рекурсивный метод [7] позволяет

привести систему (5) к диагональному виду

за 0(п^-1тп) операций в кольце R.

Все коэффициенты системы (10) - это миноры порядка п матрицы (А, с). Следовательно, на них распространяются оценки (8) и 626

(9), соответственно, для кольца целых чисел и кольца многочленов над полем F.

Если применять стандартное умножение, то количество операций, которое потребуется для вычисления коэффициентов системы (10) для колец Z и F[x], соответственно будет

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

Решение системы (10) сводится к решению системы

А\у = с' mod 6.

в факторкольце R/d'R. Пусть У - множество решений системы (12), тогда

- множество решений системы (10).

Оценим сложность решения системы (12). Матрица А' имеет размеры пх(т—п), а модуль д является минором порядка тг. По теореме 3 получим следующие оценки.

При т — п > п получим соответственно для Z и F[a-]:

0(п/3+1т(log ||А|| 4- log77.)2),

При т — п < п получим соответственно для Z и F[x]:

0(п3(т - п + l)^_1(log ||А|| 4- log/г)2),

0

В общем случае оценки (13), (14) являются оценками сложности решения системы модулярным методом, так как оценка (11) имеет меньший порядок по тг и 7П —п. Однако для квазиквадратных систем величиной гп — тг можно пренебречь^ оценка (11) будет давать основной вклад. В этом случае для Z и F[x] получим соответственно следующие оценки числа операций:

ЗАКЛЮЧЕНИЕ

Сравнение р-адического и модулярного метода показывает, что для квазиквадратных

систем р-адический метод имеет существенное преимущество, он быстрее в 0(пР~2) раз.

Другим достоинством р-адического метода для систем прозвольного вида является тот факт, что общее решение системы может быть получено с большой вероятностью за время 0((тп — п + 1)п3) [6]. Ожидаемое количество итераций при этом будет

га — тг + 1

Каждая новая итерация начинается со случайного выбора ведущего минора порядка тг.

Для существенно прямоугольных систем, когда га > 2тг, оба метода имеют одинаковый порядок сложности 0(тп(3+1).

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

ЛИТЕРАТУРА

1. Gregory R.T., Krishnamurthy E.V. Methods and Applications of Error-Free Computation. Berlin, 1984.

2. Hurt M.F.,Waid C.A. A generalized inverse wicli give all the integral solutions to a sys-

tem of linear equations// SIAM J. Appl. Math. V. 10. 1970. P. 547-550.

3. Mulders T. and Storjohann A. Diophantine Linear System Solving// Proceedings of 1S-SAC’99: ACM International Symposium on Symbolic and Algebraic Computation. July 1999, Vancouver, Canada. P. 181-188.

4. Malaschonok G. Effective Matrix Methods in Commutative Domains// Formal Power Series and Algebraic Combinatorics/ Ed. by D. Krob, A.A. Mikhalev, A.V. Mikhalev. Springer, 2000. P. 506-517.

5. Coppersmith D. and Winogmd S. Matrix multiplication via arithmetic progressions// Journal of Symbolic Computation. 1990. V. 9. P. 251-280.

6. Dixon J. Exact solution of linear equations using p-adic expansions// Numer. Math. 1982. V. 40. P. 137-141.

7. Malaschonok G. Recursive Method for the Solution of systems of Linear Equations// Computational Mathematics/ Ed. by A. Sydow. Proceedings of the 15th IMACS World Congress. Berlin, 1997. V. 1. P. 475-480.

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