Рис. 4. Графики зависимости ускорения от количества процессоров для матриц порядка 1024 и 2048
На рис. 4 слева изображено 4 графика зависимости ускорения от количества процессоров для различных значений плотности для матриц порядка 1024. 1 график - для плотности 30%, 2 график - для 50%, 3 - для 70%, 4 - 100%. График для матриц порядка 1024 и плотности 10% не рассматривается, т.к. время вычисления при этих параметрах является достаточно маленьким.
На рис. 4 справа 1-й график отражает зависимость ускорения от количества процессоров для матриц порядка 2048 и плотности 10%, 2 - для плотности 30%, 3 - 50%, 4 - 70%.
2 Заключение
Эксперименты для полиномов над Zp[x] показывают, что ускорение находится в диапазоне: 4.0-7.2 для плотности 50% и 6.5-7.1 для полиномов плотности 100%.
Для полиномов из кольца Z[x, y, z] ускорение находится в диапазоне 4.3-5.8 для полиномов плотности 50% и количеством бит в коэффициентах 64 и 128, и в диапазоне 5.0-6.2 для полиномов плотности 100% и при тех же размерах коэффициентов.
LLP схема для полиномов над кольцами Zp[x] и Z[x] показывает хорошее ускорение, которое близко к теоретически лучшему ускорению, равному 8.
LLP схема для алгоритма умножения матриц для размера 1024 дает ускорение в диапазоне 4.25.4, для матриц размера 2048 - 4.8-6.1. Ускорение для матричного умножения находится в области между теретически лучшим ускорением и 50% ускорением.
Литература
1. Малашонок Г. 11.. Валеев Ю.Д., Зуев М.С. Параллельная компьютерная алгебра. Введение. Тамбов: Изд-во ТГУ им. Г.Р. Державина, 2006. 102 с.
2. Малашонок ГЛ.. Валеев Ю.Д. Динамическое распределение заданий в вычислительном кластере по графу алгоритма //XI Державинские чтения. Тезисы докладов. Тамбов: Изд-во ТГУ им. Г.Р.Державина, 2006. С. 38-47.
3. Малашонок ГЛ.. Валеев Ю.Д. Рекурсивное распараллеливание символьно-численных алгоритмов // Вестн. Тамб. ун-та. Сер.: Естеств. и техн. науки. Тамбов, 2006. Т. 11, вып. 4. С. 536-549.
Поступила в редакцию 3 декабря 2007г.
Об оценке коэффициентов характеристического полинома
© О.Н.Переславцева
Пусть А - коммутативное кольцо, А = (а*-) - квадратна матрица порядка п с элементами а* € А, i = 1 ,...,п, ] = 1,..., щ Е - единична матрица порядка щ Е (х) = ёе^А — хЕ) -
А
Одной из важных задач, связанных с вычислением характеристических полиномов целочисленных матриц, является задача нахождения верхней оценки для коэффициентов характеристического полинома. Такую оценку необходимо знать, например, для модулярной реализации алгоритма вычисления характеристического полинома матрицы с помощью китайской теоремы. Можно воспользоваться неравенством Адамара для определителя матрицы, т.е. для свободного члена характеристического полинома. Однако свободный член не является обязательно наибольшим по модулю коэффициентом характеристического полинома.
Для получения оценки коээффициентов характеристического полинома воспользуемся схемой алгоритма Сейфуллина и будем оценивать все промежуточные величины, которые вычисляются в ходе алгоритма.
Введем следующие обозначения для подматриц матрицы А: А* * - первые £ элементов £-й строки,
А1* - первые і элементов ¿-го столбца, А4 - подматрица размера і х і матрицы А, стоящая в верхнем левом углу. В алгоритме используются квадратные матрицы Н и О размерности п и п столбцов /*, і = 1,...,п/ = (/*,...,/*)
Приведем алгоритм (см. [2], [3]):
/11 і = 2, п :
(НМ = А1-‘;
1,і - 1 :
{/Р
/Р-
(1)
(2)
О*
і*-1;
О
Н
(3)
/I = Н; };
Н*1,1 = А і • О]'*' при р < і — 1;
(4)
Н = А14 • О1 при р = і — 1; }
#-1І
+ 1.
( —1)” ж” + 5^ ( — 1)р/”^ж” р = det (А — х • Е) - характеристический полином матрицы А.
V р=* У
Оценку коэффициентов характеристического полинома будем искать в битах. Для этого примем следующую вычислительную модель. При умножении двух чисел, содержащих / и т бит, получаем число, содержащее /+т бит; при сложении п чисел, содержащих m бит, получаем число, содержащее (т + |"^2 п"|) бит. Обозначим = flog2 п1 •
Обозначим ||а|| = |"^2 а1 + 1 - число бит в записи числа а и определим ||А|| = max ||а* || - число бит в записи наибольшего по модулю элемента матрицы А, / = max{|/i|, г = 1,..., п}.
Пусть ||А|| = к, тогда из (1) ||/* || < к, И#/’*|| < ^ир = 1. Из (2) следует, что ||//|| < Следовательно, || /* || < к + (£ — 1) для р = 1 и £ = 2,..., п.
Прир > 1 ||Я||| > П/*-!! Значит, по формуле (2) ||/р|| < ||Я*|| + 1. Из (4) нашагер ||Я||| < ||А|| + ||С*|| + у>*. По (3) ||С*1| те больше суммы ЦЯ*1’*|| нашагер — 1 и 1. Тогда ||С*|| < (р — 1)к + (р — 2)<^>* +Р-Следовательно, ||/р|| < рк + (р — 1)у>* + р + 1 Для Ур = 2,...,£, У = 2,..., п.
Тогда коэффициенты /”, р = 1,..., п, характеристического полинома им еют оценку 11 /” | < к + п — 1 и ||/”|| < рк + (р — 1)^” + р +^и р = 2,..., п. Наибольшее значение ||/1| принимает при р = п
Теорема 1. Пусть А - квадратная матрица порядка п, к - число бит в записи наибольшего по модулю элемента матрицы А, ^” = Гlog2 п1.
А
более, чем
< пк + (п — 1)у>п + п + 1.
(5)
Известна оценка Адамара для определителя:
¿єі2а < П^(аі)2.
(6)
¿=1і=1
р
1
Так как г-ый коэффициент /г характеристического полинома есть сумма СП определителей ¿-го порядка, то |/г| < Сгп гг/2аг, где обозначено а = шаж(|а* |, г = 1,...,п, у = 1, ...,п}. Рассмотрим функцию Н(г) = (п—гг/2аг и найдем те наибольшее значение при г € [1, п].
Н'(г) = Н(г)р(г), где
оо 1
р(г) = 1/21п(ш2) + 1/2 + (п - 2г) ^ (. + )(----. + 1 + ).
“ (г + 1 + V)(п - г + 1 + V)
¿/=1 4 '4 '
Максимум функции Н(г^и г € [1, п] находится из равенствар(г) = 0. Численные эксперименты показывают, что в большинстве случаев наибольшее значение Н(г), г € [1,п], будет при г = п.
Например, это верно для п = 10 и а > 1, при п = 100 и а > 5 п = 500 и а > 9 п = 1000 и а > 16. В
этом случае / < п”/2а” для г € [1, п] или
||/1| < пк + ^„п/2 + 1. (7)
100
||/||, где к = |"^2 а] +1. Для оценки (6) будем создавать случайную матрицу различной плотности и вычислять оценку (6) с учетом всех элементов матрицы. В таблице указано количество бит, покрывающее соответствующую оценку.
О о т—н Д (5) (6) (7)
к, бит \ pi, % 100 50 5 2 1
4 43*28 24*28 22*28 15*28 11*28 7*28 27*28
8 57*28 38*28 36*28 30*28 22*28 15*28 42*28
16 86*28 67*28 65*28 58*28 47*28 33*28 70*28
32 143*28 124*28 122*28 115*28 95*28 67*28 127*28
64 257*28 238*28 236*28 230*28 197*28 146*28 242*28
Сравнение колонок (5) и (7) показывает, что новая оценка (5) не намного превышает оценку последнего коэффициента.
Литература
1. Малашонок ГЛ. A computation of the characteristic polynomial of an endomorphism of a free module // Записки научных семинаров ПОМП. 1999. Т. 258. С. 101-114.
2. Переславцева О.Н. Оценка числа бит-умножений в алгоритмах вычисления определителя, характеристического полинома и присоединённой матрицы //XI Державинские чтения. Тамбов, 2006. С. 79-83.
3 . Сейфуллин Т.Р. Вычисление определителя, присоединённой матрицы и характеристического полинома без деления // Кибернетика и системный анализ. 2002. N.5. С. 18-42.
Метод вычисления характеристического полинома матрицы
© О.Н.Переславцева
Пусть А - коммутативное кольцо, А = (а*-) - квадратна матрица порядка п с элементами а* Є А, і = 1,..., п, і = 1,..., п; Еп - единичная матрица порядка п. Тогда Е(ж) = ёе^А — жЕп) -
А
Будем использовать следующие обозначения. АР’|- подматрица матрицы А, стоящая на пересечении строк р,..., д и столбцов г,..., в, Ар,9-часть г-того столбца матрицы А, стоящая па пересечении г-того столбца матрицы А и строк р,...,д Аг = А^.