Эксперименты для матриц 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+Р) 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
V|
B2DMD > MallDMD > B2DMDFB
II II
B2DMDMD> MallDMD > B2DMDMDFB
V|
MalDichVR = MalDichHR
V|
MalDichVR = MalDichHM
Диаграмма для случая n > m:
B1DMD > B1DMDFB
V| V|
B2DMD > B2DMDFB
II II
B2DMDMD > B2DMDMDFB
V|
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.