Сравнение методов исключения в компьютерной алгебре

Эксперименты для матриц 512 порядка с небольшими целыми коэффициентами (~228) показали, что при умножении в кольце целых чисел коэффициент ускорения равен 85 %, а при умножении в конечном поле коэффициент ускорения равен 86,4 %. Использовались 2 и 14 процессоров.

4. РЕКУРСИВНАЯ БЛОЧНАЯ СХЕМА ВЫЧИСЛЕНИЯ ПРИСОЕДИНЕННОЙ И ОБРАТНОЙ МАТРИЦ

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

Вычисления производились с плотной случайной целочисленной матрицей 128 порядка, с 28-битовыми целыми коэффициентами. Была составлена

Рис. 4. Скорость вычисления обратной (присоединенной) матрицы в случае рациональных коэффициентов в С!Т формате при применении рекурсивного алгоритма. Коэффициент ускорения равен 60 %

программа с помощью рекурсивного алгоритма [4] для ОТ-формата. Это самый эффективный из известных сегодня алгоритмов, так как является единственным алгоритмом для вычислений в коммутативных областях, который имеет сложность матричного умножения.

Результаты экспериментов приведены на рис. 4.

Вычислялись присоединенная и обратная матрицы, и решалась система линейных уравнений. Эксперимен-

ты проводились с матрицами 127-го порядка с 28-битовыми целыми коэффициентами.

ОБСУЖДЕНИЕ РЕЗУЛЬТАТОВ

Результаты экспериментов демонстрируют достаточно высокую эффективность полученных программ и закладывают основу для разработки аналогичных программ для других задач компьютерной алгебры.

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

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

ЛИТЕРАТУРА

1. Малашонок Г.И., Зуев М.С. О представлении матриц кватернар-ными деревьями // Вести. ТГУ. Сер. Естеств. и техн. науки. X Державинские чтения. Тамбов, 2005. Т. 10. Вып. 1. С. 97.

2. Малашонок Г.И., Валеев Ю.Д. О некоторых подходах к построению параллельных программ // Вестн. ТГУ. Сер. Естеств. и техн. науки. X Державинские чтения. Тамбов, 2005. Т. 10. Вып. 1. С. 100.

3. Malaschonok G.I. Complexity Considerations in Computer Algebra / Computer Algebra in Scientific Computing, CASC 2004/ Techn. Univ. Munchen, Garching, Germany, 2004. C. 325-332.

4. Malaschonok G.I. Recursive Method for the Solution of systems of Linear Equations / Computational Mathematics. A. Sydow Ed. Proc. 15th I MACS World Congress. V.l. Berlin, August 1997. Wissenschaft and Technik Verlag, Berlin, 1997. P. 475-480.

БЛАГОДАРНОСТИ:

1. Работа выполнена при частичной поддержке грантов Министерства образования № 02-2.0-98, РФФИ № 04-07-90268-Ь, «Университеты России» № 04.01.051 и «Научный потенциал» № 23-03-24.

2. Авторы выражают глубокую благодарность коллективу ИСП РАН, разработчикам среды ParJava, за плодотворные обсуждения способов построения параллельных программ и за то, что ими были проведены многочисленные эксперименты с программами на вычислительном кластере ИСП РАН.

СРАВНЕНИЕ МЕТОДОВ ИСКЛЮЧЕНИЯ В КОМПЬЮТЕРНОЙ АЛГЕБРЕ

© B.H. Казаков

Настоящий обзор методов исключения в компьютерной алгебре и их сравнительный анализ основан на работах [1-15]. Таблицы и диаграммы следуют в основном работе [5].

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

виду). Основная проблема в данном случае - это делимость элементов матрицы. Общеизвестный метод исключения Гаусса, основной метод анализа, требует выполнения деления. В кольцах с делителями нуля деление может оказаться невыполнимым. Даже если в кольце нет делителей нуля, и деление выполнить можно, то могут потребоваться вычисления с дробями, которые весьма трудоемки ввиду необходимости вычисления НОД.

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

Первым, кто использовал такой метод, был знаменитый Льюис Кэрролл (см. [8], имеется перевод этой работы в [15]). Настоящее имя Льюиса Кэрролла, которым он подписывал свои математические работы, а не детские книжки, - Чарльз Лютвидж Доджсон. Он первым получил детерминантное тождество прямого хода из теоремы для детерминантов Якоби [9] (см. [15, с. 22, 198]). На эту работу ссылаются Ф. Во и П. Двер при получении компактного алгоритма обращения ([14, с. 266]).

Однако эти работы были забыты, и долгое время детерминантное тождество прямого хода приписывалось Барейсу [7]. Барейс предложил несколько модификаций тождества прямого хода, называя их как одно- и двухшаговые методы с делением и без деления.

Ряд методов, позволяющих уменьшать количество вычислений при преобразовании матриц, разработал Г.И. Малашонок: метод прямого и обратного хода (использование процедуры Forward-Backup) [12], метод одного прохода (одношаговая рекурсия) [13], рекурсивный метод (метод дихотомии) [14]. Рекурсивный метод является единственным методом, который имеет сложность матричного умножения (~ и,!), 2 < р < 3, « — порядок матрицы.

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

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

Все методы разбиваются на две группы: приводящие матрицу к треугольному виду и приводящие матрицу к диагональному виду.

Введем обозначения методов: В1 - одношаговый метод Барейса (метод Кэрролла); В2 - двухшаговый метод Барейса; Т - приведение к треугольному виду; D - приведение к диагональному виду; OD - без деления; MD - с делением; Mall - одношаговая рекурсия Малашонка; MalDich - метод дихотомии; FB - процедура Forward-Backup; Н - деление пополам; V - удвоение; R - строчный способ; М - матричный способ.

Будем рассматривать следующие методы приведения матрицы к треугольному виду:

B1TOD;

B1TMD;

B2TOD;

B2TMD;

B2TMDMD;

Таблица 1

Приведение матрицы к треугольному виду, п < т

Алгоритм Сложение Умножение Деление

B1TOD 1 2 1 3 — тп п 2 6 2 1 3 пт — п 3 0

B1TMD 1 2 1 3 — тп — п 2 6

B2TOD 3 2 1 3 — тп п 4 4 0

B2TMD 1 2 I 3 — тп п 4 12

B2TMDMD “ “ “

Таблица 2

Приведение матрицы к треугольному виду, п > III

Алгоритм Сложение Умножение Деление

B1TOD 1 2 1 3 — тп т 2 6 2 1 3 тп — т 3 0

B1TMD 1 2 1 3 — тп — т 2 6

B2TOD 3 2 1 3 — тп — т 4 4

B2TMD 1 2 1 3 — тп т 4 12

B2TMDMD “ “ “

Таблица 3

Приведение матрицы к диагональному виду, п < т

Алгоритм Сложение Умножение Деление

B1DOD 2 1 3 тп n 2 2 тп2~п3 0

B1DMD 2 1 3 тп — п 2

B2DOD 3 2 3 з — тп п 2 4 0

B2DMD 1 2 1 3 — тп — п 2 4

B2DMDMD “ “ “

B1DMDFB 2 2 3 тп n 3 — тп2- — п3 2 6 1 2 1 3 — тп — п 2 6

B2DMDFB 5 2 3 з — тп — п 4 4 1 2 1 3 — тп п 4 12

B2DMDMDFB “ “ “

MallDMD 3 2 3 — тп -п 2 1 2 1 3 — тп — п 2 3

MalDichHR MalDichVR 1 2 — тп — 3 21 1 2 5 з — тп п 3 21 ртп- 2 тп+ — п2-2 -\рп2

MalDichHM MalDichVR 0

Здесь р = 1о§2/; и Р - показатель степени в числе операций в алгоритме матричного умножения.

Таблица 4

Приведение матрицы к диагональному виду, п > от

Алгоритм Сложение Умножение Деление

B1DOD 1 2 — ОТ И 2 от2 л 0

B1DMD 1 2 — от п 2

B2DOD 3 2 — от п 4 0

B2DMD 1 2 — тп 4

B2DMDMD “ “ “

B1DMDFB мл2- — /и3 3 3 2 5 з — тп от 2 6 1 2 1 3 — тп от 2 6

B2DMDFB 5 2 3 з — тп от 4 4 1 2 1 3 — тп от 4 12

B2DMDMDFB “ “ “

MallDMD — т3 3 1от3 2 — от3 6

и методы приведения к диагональному виду:

ВЮМО;

ВЮСЮ;

В20М0;

В20СЮ;

В201УЮМ0;

ВЮМОРВ;

В2ЭМОРВ;

В201УГО1УГОРВ;

МаПЭМО;

МаЮюШЯ;

МаЮюЬНМ;

МаГОюИУК;

МаГО^ИУМ.

Будем рассматривать эти методы для матриц размера пх т. Тогда количество операций, которые необходимо выполнить в соответствии с каждым из методов, можно объединить в таблицы 1-4.

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

Из таблиц 1-2 приведения матриц к треугольному виду получаем соотношения между указанными методами:

В1Т1УГО > В2ТМО = вгтмшуго.

Диаграмма для случая п < ш:

B1DMD > B1DMDFB

VI

V| MallDMD

B2DMD > MallDMD > B2DMDFB

II II

B2DMDMD> MallDMD > B2DMDMDFB

MalDichVR = MalDichHR

MalDichVR = MalDichHM

Диаграмма для случая n > m:

B1DMD > B1DMDFB

B2DMD > B2DMDFB

II II

B2DMDMD > B2DMDMDFB

MallDMD

ЛИТЕРАТУРА

1. Дэвенпорт Дж., Сирэ И.. Турнье Э. Компьютерная алгебра. Системы и алгоритмы алгебраических вычислений. М.: Мир, 1991.

2. Компьютерная алгебра. Символьные и алгебраические вычисления / Под ред. Б. Бухбергера, Дж. Коллинза, Р. Лооса. М.: Мир, 1986.

3. Geddes К.О.. Czapor S.R., Labahn G. Algorithms for computer algebra. Kluwer, Boston, MA, 1992.

4. Akritas A.G. Elements of Computer Algebra with Applications. N. Y.: J. Wiley Interscience, 1989.

5. Bettina Krammer. Algorithmische lineare Algebra fur Polynomma-trizen. Regensburger mathematische schriften 32. Regensburg. 2002.

6. Akritas A.G., Akritas E.K., Malaschonok G.I. Matrix computation of subresultant polynomial remainder sequences in integral domain // Reliable Computing. 1995. V. 1. № 4. P. 375-381.

7. Bareiss E.H. Sylvester's identity and multistep integer-preserving Gaussian elimination // Mathematics of Computation. 1968. V. 22. P. 565-578.

8. Dodgson C.L. Condensation of determinants // Proceedings of the Royal Society of London. 1866. V. 15. P. 150-155.

9. Jacobi C.G.L. Ueber die Bildung und die Eigenschaften der Determi-nanten // De formatione et proprietatibus Determinantum / Edited by Stakel. 1841.

10. Sasaki Т., Murao H. Efficient Gaussian elimination method for symbolic determinants and linear systems // A.C.M. Trans. Math. Software. 1968. V. 8. №4. P. 277-289.

11. Waugh, F.V. and P.S. Dwyer . Compact computation of the inverse of a matrix// Annals of Mathematical Statistics. 1945. V. 16. P. 259-271.

12. Малашонок Г.И. Решение системы линейных уравнений в области целостности // Журн. вычисл. матем. и мат. физ. 1983. Т. 23. С. 1497-1500.

13. Malaschonok G.I Algorithms for the solution of systems of linear equations in commutative rings // Effective Methods in Algebraic Geometry / Ed. by T. Mora and C. Traverso. 1991. V. 94. P. 289-298.

14. Malaschonok G.I Recursive Method for the Solution of systems of Linear Equations // Computational Mathematics / A. Sydow Ed. Proc. 15th IMACS World Congress. V.l. Berlin, August 1997. Berlin: Wis-senschaft and Technik Verlag, 1997. P. 475-480.

15. Малашонок Г.И. Матричные методы вычислений в коммутативных кольцах. Тамбов: ТГУ, 2002.

БЛАГОДАРНОСТИ: Работа частично поддержана РФФИ, грант № 04-07-90268.