Научная статья на тему 'О приближенной билинейной сложности умножения матриц'

О приближенной билинейной сложности умножения матриц Текст научной статьи по специальности «Математика»

CC BY
80
15
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
БИЛИНЕЙНЫЕ АЛГОРИТМЫ / BILINEAR ALGORITHMS / МАТРИЧНЫЕ ТЕНЗОРЫ / MATRIX TENSORS / ПРИБЛИЖЕННЫЕ АЛГОРИТМЫ / APPROXIMATE ALGORITHMS / УМНОЖЕНИЕ МАТРИЦ / MATRIX MULTIPLICATION

Аннотация научной статьи по математике, автор научной работы — Трефилов А. П.

В настоящей работе показано, что приближенная билинейная сложность умножения матриц размера $2\times2$ на матрицу размера $2\times6$ не превосходит 19. Явно приведен приближенный билинейный алгоритм сложности 19 для данной задачи.

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

Текст научной работы на тему «О приближенной билинейной сложности умножения матриц»

УДК 519.61

A. П. Трефилов1

О ПРИБЛИЖЕННОЙ БИЛИНЕЙНОЙ СЛОЖНОСТИ УМНОЖЕНИЯ МАТРИЦ

В настоящей работе показано, что приближенная билинейная сложность умножения матриц размера 2 х 2 на матрицу размера 2 х 6 не превосходит 19. Явно приведен приближенный билинейный алгоритм сложности 19 для данной задачи.

Ключевые слова: билинейные алгоритмы, матричные тензоры, приближенные алгоритмы, умножение матриц.

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

Пусть \\aij Цтохп обозначает матрицу размера т х п над некоторым полем. Задача умножения матрицы ||ау||тохп на матрицу ЦЬыЦпхр состоит (по определению) в вычислении тр билинейных форм

вида ^ а,1:-]Ъ:ц. Если вычислять эти формы непосредственно по указанным формулам, то необходи-з=1

мо сделать тпр умножений и почти столько же сложений. В 1969 г. В. Штрассен [1] показал, что существуют более быстрые по порядку алгоритмы умножения матриц, построив алгоритм с числом операций над элементами поля 0(п1°62 7). К 1986 г. эта оценка трудами многих авторов была понижена до 0(п2-38) [2] (см. обзор [3]), однако с тех пор эта оценка существенно не улучшена, несмотря на большой интерес к задаче.

Алгоритм В. Штрассена [1] для умножения матриц порядка п со сложностью 0(п1°62 7) основан на найденном им алгоритме умножения двух квадратных матриц порядка 2 с 7 умножениями вместо 8 в обычном алгоритме. Затем этот алгоритм рекурсивно использовался для умножения матриц порядка 2к с числом умножений 7к. Для того чтобы можно было применять рекурсию, Штрассен построил специального вида алгоритм умножения матриц порядка 2, а именно так называемый билинейный алгоритм.

Определение. Пусть Р — некоторое кольцо и пусть имеется 2 множества переменных А = {а, 1, а,2, ■ ■ •, а,г} и В = {Ь\, Ь2, ■ ■ •, Ь3}. Билинейными алгоритмами над Л и В и кольцом Р называются алгоритмы, в которых сначала вычисляются произведения

некоторых линейных форм (с коэффициентами из F) от первого множества переменных на некоторые линейные формы (с коэффициентами из F) от второго множества переменных, где t — 2«...»

1 Факультет ВМК МГУ, асп., e-mail: s40320Qyandex.ru

* Работа выполнена при финансовой поддержке РФФИ (проект № 12-01-91331-ННИОа).

п

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

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

Г S

билинейных форм С^ = ^ X) cijaibj, к = l,...,/i, где cjj — произвольные константы из F, если

i=lj=l

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

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

Определение. Приближенным билинейным алгоритмом над двумя множествами переменных Л и /i и кольцом F называется любой билинейный алгоритм над теми же множествами переменных, в котором в качестве коэффициентов вместо кольца F используется кольцо лорановских многочленов от ж с коэффициентами из F. При этом число умножений линейных форм d также называется билинейной сложностью приближенного алгоритма.

Определение. Пусть зафиксированы множества переменных Л и В и кольцо F. Будем говорить, что приближенный билинейный алгоритм приближенно вычисляет систему билинейных форм С/; над F, к = l,...,/i, если на втором этапе этот билинейный алгоритм строит выражения вида Ск + 0(х) для всех к = 1,..., h, где 0(х) — многочлены, содержащие только положительные степени х (коэффициентами многочленов автоматически являются билинейные формы).

Определение. Приближенной билинейной сложностью задачи вычисления системы билинейных форм над кольцом F называется минимальная билинейная сложность приближенных билинейных алгоритмов над F, приближенно вычисляющих данную систему билинейных форм. Обозначим через г{К) приближенную билинейную сложность задачи умножения матрицы 2 х 2 на матрицу 2 х К.

Получение приближенного алгоритма для г(6) является важным шагом на пути к решению более общей задачи — вычислению r(N). Первые шаги в этом направлении были сделаны итальянскими математиками [4], они получили верхнюю оценку, равную 10 для г(3). В работе [5] были установлены верхние оценки 13 для г(4) и 16 для г(5). В данной статье получена верхняя оценка 19 для г(6).

Теорема. Величина г(6) не превосходит 19.

Доказательство. Рассмотрим следующий билинейный алгоритм: Ра = (-x~1aQ,о + ж_1а0д - x1aífi - x1aiA)(-x~1bQ,5 + x~4bi,2),

Л / -1 1 w -2- J ¿2-j \

= {x 5 Oo,o "Ь x flijO — x 5 а1д)(ж10 »од — x10 ¿>0,3),

— - W - J — — - T \

P2 = (-x 5 аодд^ж5 0(^5 + x 5 ь1)2 _ Ж5б1)5), Рз = о - x'iaifi - aiti)(-x~H0,3),

l'i = (x~waQ, o)(-x1h¿),

Ръ = (^ж"1а1)0)(ж2Ь0)0 - ж_1Ь0д),

Р6 = (^ж"2а0)0 + ж7а0д)(^ж8Ь0)4 - ж7Ь0)5 + (ж-7 - х)Ьгл + x~3bi,2 + P-j = (ж"4а0)0 + ж_1а1д)(ж~5Ь1д — х1Ъ\д),

5 3 5 9 3 1

Pg = (ж~2аод — х~ 2 «1Д )(ж2 bos5 + — — x^bi^),

Р9 = (ж"^а0)о - ж2а1д)(ж3Ь0)2 + (-ж"3 + х4)Ь1А - х1Ъга),

Pío = (x~2aoto - x6altl)(-x~4bQt3 - x6b1>Q + x~3bi¿),

г, I -fi -i W -3-1 \

Fn = (x 5ао о+ж 5а10 + ж s а1д)(ж ю 61)2),

P12 = (^х~4а0,о)(х~8Ь1А + a;"4bi)2),

Pi3 = (x~2aQA)(x2blfi + ж1^),

-- - w — -i I, _а, м,

"i4 = {-X 3 ао,о — X3 ai7o)(^x 3 ö0)2 + ж3 00)4 + х 3 ь12 _ х з ь1Л),

-г-. / -is -ii -¿i, -261 sa, _9_, ч

P15 = (—X ^(iQfi + x 25 а1д)(ж 25 ¿>o,i - ж 25 ¿>o,3 + ж25&1,о - ж^Ь^з),

-Piб = (-ж"<в0)0 - ж4аод)(ж^Ь0,о - s

„ // -8 13 ч 16 22 -il, M, 10, ч

Pi 7 = (( — Ж 3 + X 3 )а0,0 + X 3 01,0 + X 3 01д)(ж 3 00,2 + X 3 00,4 + X 3 Ol,4),

л / -i -Ä w a, -i,

-Pis = (—ж 2а0,0^ж 2 ao,i)(—ж2 о0,5 — х 2 t>i,i + ж2 0i)4J,

7 — —

Со,о = —хР± + ЖР13 — ж 2°Pi6,

Cl,о = x~^Pi + ж~3Р3 + (^ж"1 + ж6)Р4 - ж_1Р5 - ж"5Рю + .Г £/>,-. Сод = Ж^Р1 + Ж?Р6 + Ж4 Pig, С1Д = ж 2Р5 + ж6Р7 + ж^ Р9,

17 19

Со,2 = -X 5 Р2 - Ж 3 Pi7,

Cl,2 = жтари + .г1/',! + Ж^Р17,

С0,з = ^ж6Рю + ж1^ + Х™Р16,

— i 1 — з

Cl,3 = Ж 3 Р3 — X Р4 — X Рю,

Со,4 = Ж*Р2 + Ж"6Р6 - Ж_3Р12 - Ж_2Р18,

Ci)4 = —./' ' /'7 + ./• / 9 — Ж~^Рц — .Г '/'i-J — •/• '/'il + .Г "^/'17. Со,5 = Ж2Ро + Ж5 р2 + ж lo Р\ i,

Cl,5 = Ж1 Po + X~i Р2 + .Г1 / '7 + Ж*Р8 + Ж~таРц - X~2Pis-Не составит большого труда проверить, что все

2

= ^2aikhj + 0( ж), fc=l

где О(ж) — многочлены, содержащие только положительные степени ж. Видно, что если сделать замену переменной у = жзоо, то у всех многочленов будет целая степень относительно новой переменной у. Мы получаем приближенный алгоритм сложности 19 для задачи умножения матрицы 2 х 2 на матрицу 2x6. Теорема доказана.

С помощью доказанной теоремы так же, как в работе [5], можно получить следствие. Следствие. Верхняя оценка для r(N) не превосходит .

Заключение. Данный результат получен с помощью разработанных автором новых методов компьютерного поиска, являющихся развитием методов [6].

СПИСОК ЛИТЕРАТУРЫ

1. Strassen V. Gaussian elimination is not optimal // Numerische Mathemetik. 1969. 13. P. 354-356.

2. Coppersmith D., Winograd S. Matrix multiplication via arithmetic progressions // J. Symbolic Comput. 1990. 9, N 3. P. 251-280.

3. Алексеев В.Б. Сложность умножения матриц. Обзор // Киберн. сборник. Вып. 25. М.: Мир, 1988. С. 189236.

4. Bini D., Capovani M., Lotti G., Romani F. 0(n2'7799) complexity for approximate matrix multiplication // Inform. Process. Lett. 1979. 8. P. 234-235.

5. Алексеев В.Б., Смирнов A.B. О точной и приближенной билинейных сложностях умножения матриц размеров 4 х 2 и 2 х 2 // Современные проблемы математики. Вып. 17. М.: МИАН, 2013. С. 135-152.

6. Смирнов A.B. О билинейной сложности и практических алгоритмах умножения матриц // ЖВМ и МФ. 2013. 53. № 12. С. 1970-1984.

Поступила в редакцию 31.03.14

ABOUT APPROXIMATE BILINEAR COMPLEXITY OF MATRIX MULTIPLICATION Trefilov A. P.

This paper shows that the approximate bilinear complexity of multiplication of matrices of size 2x2 and 2x6 does not exceed 19. Clearly presented the approximate bilinear algorithm of 19 for this task.

Keywords: bilinear algorithms, matrix tensors, approximate algorithms, matrix multiplication.

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