ЧЕБЫШЕВСКИЙ СБОРНИК
Том 16. Выпуск 4.
УДК 519.712.3, 519.61
О БИЛИНЕЙНОЙ СЛОЖНОСТИ
УМНОЖЕНИЯ МАТРИЦ РАЗМЕРОВ m х 2 И 2 х 21
В. Б. Алексеев (г. Москва)
Аннотация
В данной работе исследуется сложность умножения матриц. Ф. Штрас-сен в 1969 году [1] построил алгоритм для умножения двух матриц порядка n с числом арифметических операций O (nlog2 7), что асимптотически лучше, чем сложность порядка n стандартного алгоритма умножения матриц «строка на столбец». В последующие годы проводились активные исследования минимальной сложности различных алгебраических операций. Результаты исследований в этой области хорошо отражены в книге [2].
Ситуация в задаче об умножении матриц оказалась достаточно тяжелой. К концу 1980-х годов усилиями многих математиков сложность умножения матриц удалось понизить до O (и2'38) [3], но с тех пор существенных продвижений в этой задаче нет.
Для того, чтобы лучше понять проблемы, возникающие при поиске быстрых алгоритмов умножения матриц, эта задача исследуется в разных направлениях. Одним из таких направлений является исследование минимальной сложности умножения матриц малых размеров. Эти исследования имеют самостоятельный интерес, а также связаны с тем, что быстрые алгоритмы для умножения матриц малых размеров могут рекурсивно использоваться для умножения матриц больших размеров. В частности, алгоритм Штрассена основан на рекурсивном использовании найденного им алгоритма умножения двух матриц порядка 2 с 7 умножениями, а не с 8, как в стандартном алгоритме.
Можно обратить внимание на 2 особенности алгоритма Штрассена.
Во-первых, на асимптотическую оценку сложности алгоритма умножения больших матриц, построенного рекурсивно, влияет только число умножений в алгоритме умножения маленьких матриц, используемых для рекурсии.
Во-вторых, при рекурсии элементы маленьких матриц сами являются матрицами и поэтому могут не коммутировать между собой. Эти 2 особенности породили исследования билинейной сложности умножения матриц и умножения в других алгебрах. В билинейных алгоритмах сначала
1 Работа выполнена по гранту РФФИ 13-01-00183
12
В. Б. АЛЕКСЕЕВ
должны вычисляться несколько произведений линейных комбинаций элементов первого сомножителя на линейные комбинации элементов второго сомножителя. А затем из этих произведений линейными комбинациями должны получаться все требуемые выражения. При этом число произведений называют билинейной сложностью билинейного алгоритма, а минимум билинейной сложности по всем билинейным алгоритмам, решающим данную задачу, называют билинейной сложностью задачи.
Установить точное значение билинейной сложности редко удается даже в задачах перемножения двух матриц малого размера. Например, для задачи перемножения двух матриц размера 3 х 3 к настоящему моменту известно только, что билинейная сложность заключена между 19 и 23 [4, 5]. Несложно установить точное значение билинейной сложности умножения двух матриц, если хотя бы в одной из них всего одна строка или один столбец.
В данной работе исследуется билинейная сложность умножения матрицы размера m х 2 на матрицу размера 2 х 2 над произвольным полем. Точное значение билинейной сложности для умножения таких матриц над произвольным полем известно только при m = 2, 3, 4 [6, 7, 8]. Из результата Штрассена можно несложно получить, что билинейная сложность этой задачи не превосходит \Цт] для произвольного поля. В работе [9] была получена такая же нижняя оценка, но только для поля из 2 элементов. Для произвольных полей в работе [5] для этой задачи получена нижняя оценка 3m + 1. В данной статье доказано, что билинейная сложность умножения матрицы размера m х 2 на матрицу размера 2 х 2 над произвольным полем при m > 3 не может быть меньше чем 3m + 2.
Ключевые слова: матрица, умножение матриц, алгоритм, сложность, билинейная сложность.
Библиография: 15 названий.
ON BILINEAR COMPLEXITY
OF MULTIPLICATION OF m х 2 AND 2 х 2 MATRICES
V. B. Alekseev (Moscow)
Abstract
In this paper we investigate the complexity of matrix multiplication. V. Strassen in 1969 [1] constructed an algorithm to multiply two matrices of order n with the number of arithmetic operations O (nlog2 7), which is asymptotically better than the complexity of the order n3 of standard matrix multiplication algorithm “line by column”. In subsequent years, active investigations were carried on minimal complexity of various algebraic operations. The results of the researches in this field are well reflected in the book [2].
О БИЛИНЕИНОИ СЛОЖНОСТИ УМНОЖЕНИЯ МАТРИЦ ...
13
The situation in the problem of matrix multiplication is quite hard. By the end of the 1980s, with the efforts of many mathematicians complexity of matrix multiplication was reduced to O (n2-38) [3], but since then there is no significant progress in this problem. In order to better understand the problems associated with finding fast algorithms for matrix multiplication, this problem is investigated in different directions. One such area is the study minimal complexity of matrix multiplication for small sizes. This study is of interest in itself, but is also linked to the fact that the fast algorithms for matrix multiplication of small size can be recursively used for matrix multiplication of large size. In particular, Strassen's algorithm uses recursively algorithm for multiplication of two matrices of order 2 with 7 multiplications rather than 8 as in standard algorithm.
One can note two special properties of Strassen's algorithm.
Firstly, only the number of multiplications in the algorithm for multiplication of small matrices used for recursion affects the asymptotic complexity of algorithm for multiplication of large matrices.
Secondly, matrix elements in recursion are themselves matrices and therefore they do not commute. These two properties have generated studies of bilinear complexity of multiplication of matrices and multiplication in other algebras. The bilinear algorithm must first calculate several products of linear combination of the elements of the first factor by linear combination of the elements of the second factor. Then, all the required expressions must be obtained by linear combinations of these products. The number of products is called bilinear complexity of the algorithm, and the minimum bilinear complexity of all bilinear algorithms that solve this problem is called the bilinear complexity of the problem.
It is rather difficult to establish the exact value of the bilinear complexity even for multiplication of two matrices of small size. For example, for the problem of multiplying two 3 x 3 matrices so far we only know that the bilinear complexity lies between 19 and 23 [4, 5]. It is not difficult to establish the exact value of the bilinear complexity of multiplication of two matrices if at least one of them is only one row or one column.
In this paper we investigate the bilinear complexity of multiplication of matrix of size m x 2 by matrix of size 2 x 2 over an arbitrary field. The exact value for the bilinear complexity for the multiplication of such matrices over an arbitrary field is known only when m = 2,3,4 [6, 7, 8]. From the result of Strassen it can be easy to get that the bilinear complexity of this problem does not exceed \7p"| for an arbitrary field. The same lower bound was obtained in the paper [9], but only for the field with two elements. For arbitrary fields the lower bound 3m + 1 for this problem was obtained in [5]. In this article it is proved that for m > 3 the bilinear complexity of multiplication of m x 2 matrix by 2 x 2 matrix over an arbitrary field can not be less than 3m + 2.
Keywords: matrix, matrix multiplication, algorithm, complexity, bilinear complexity.
Bibliography: 15 titles.
14
В. Б. АЛЕКСЕЕВ
1. Введение
Пусть \\aij\\mxn обозначает матрицу размера m х n над некоторым кольцом. Задача умножения матрицы \aij\\тхп на матрицу \\bki\\nxp — это задача вычисления системы из mp билинейных форм вида У)п-=1 aj bji. При этом элементы aij и bki рассматриваются как отдельные независимые входные переменные, а на каждом шаге вычисления разрешается применить любую из 4 арифметических операций к уже построенным выражениям и элементам кольца. Число арифметических операций в алгоритме называют арифметической сложностью (обычно просто сложностью) алгоритма, а наименьшую сложность алгоритмов, вычисляющих систему билинейных форм Уп-=1 aij bji, называют сложностью задачи умножения матрицы размера m х n на матрицу размера n х p. Стандартный алгоритм («строка на столбец») для умножения матриц размера n х n использует порядка n3 арифметических операций. Первый асимптотически более быстрый алгоритм умножения матриц размера n х n (с числом арифметических операций O (nlog2 7)) построил Ф. Штрассен [1] в 1969 году. В последующие 20 лет верхняя оценка сложности умножения двух матриц размера n х n была понижена до O (и2’38) [3], но с тех пор существенных продвижений в этой задаче нет.
В рекурсивных алгоритмах (таким является алгоритм Штрассена) элементы aij и bki сами могут являться матрицами, которые не коммутируют между собой. При этом основную роль для оценки сложности рекурсивных алгоритмов играет число умножений. В связи с этим изучается билинейная сложность умножения матриц.
Определение 1. Билинейной сложностью задачи умножения матрицы \aij || размера m х n на матрицу \\bki || размера n х p над кольцом F называется минимальное число d выражений вида ^ У™ 1 S n=1 alj aij) (УПУ УР^ вы bki)?
t = 1,d, .линейными комбинациями которых можно получить все mp требуемые билинейные формы Y^j=1 aijbji (коэффициент,ы в указанных выражениях и в линейных комбинациях должны быть из F).
Билинейная сложность интересна и тем, что она равна минимальному числу умножений, в которых участвуют переменные (активных умножений), среди всех алгоритмов без делений, если не предполагается коммутативность переменных aij и bki [10].
Фактически, Штрассен установил, что билинейная сложность умножения двух квадратных матриц порядка 2 не превосходит 7, откуда вытекал и его общий результат.
Установить точное значение билинейной сложности редко удается даже в задачах перемножения двух матриц достаточно малого размера. Например, для задачи перемножения двух матриц размера 3 х 3 к настоящему моменту известно только, что билинейная сложность заключена между 19 и 23 [4, 5]. Для
О БИЛИНЕИНОИ СЛОЖНОСТИ УМНОЖЕНИЯ МАТРИЦ ...
15
задачи перемножения двух матриц размера 4 х 4 верхняя оценка 49 на число умножений (вместо обычных 64) получается двукратным использованием алгоритма Штрассена, и эта оценка пока не понижена. Для задачи перемножения двух матриц размера 5 х 5 наилучшим остается алгоритм из [11] с числом умножений 100 вместо обычных 125. Из недавних результатов интересен результат
А.В. Смирнова [12], который построил алгоритм для умножения матрицы размера 3 х 3 на матрицу размера 3 х 6 с 40 умножениями (вместо обычных 54).
Обозначим через rkp < m,n,p > билинейную сложность задачи умножения матрицы размера m х n на матрицу размера n х p над некоторым полем F. Теорема о двойственности [13] утверждает, что rkF < m,n,p > не изменяется при любой перестановке чисел m,n,p.
Нетрудно показать, что rkF < m, 1,p >= mp. В работе [6] показано, что rkF < 2,2,2 >= 7. (При этом в работе [14] доказано, что все билинейные алгоритмы билинейной сложности 7 для умножения матриц порядка 2 в определенном смысле эквивалентны друг другу). Из результата Штрассена можно несложно получить, что rkF < m, 2, 2 >< \Тр] для произвольного поля F. В работе [9] была получена такая же нижняя оценка, но только для поля из 2 элементов. Автором в работе [7] был рассмотрен случай m = 3 и доказано, что rkF < 3, 2, 2 >= 11 для произвольного поля F. В статье [8] доказано, что rkF < 4, 2, 2 >= 14 для произвольного поля F. Пока только для этих параметров и двойственных к ним установлено точное значение для rkF < m, n, p > над произвольным полем F.
В работе [15] рассмотрена величина rkF < 5, 2, 2 >, для которой получена нижняя оценка rkF < 5, 2, 2 > > 17 над произвольным полем F. Отметим, что наилучшая известная верхняя оценка для этой задачи равна 18.
В данной работе мы рассмотрим более общую задачу, а именно, исследуем rkF < m, 2, 2 > над произвольным полем F. В работе [5] получена общая нижняя оценка для билинейной сложности умножения матриц, из которой, в частности, следует, что rkF < m, 2, 2 > > 3m + 1 для произвольного поля F. Мы покажем в этой статье, что rkF < m, 2, 2 > над произвольным полем F не может быть меньше 3m + 2.
2. Переход к эквивалентной задаче
Пусть m — фиксированное натуральное число, и пусть P — невырожденная квадратная матрица порядка 2m. Тогда выражением |Pi|P2| ... \Pm\ будем обозначать матрицу P, разрезанную на m вертикальных блоков одинаковой ширины 2. Для любых 1 < i < m определим матрицы Pi1 и Pi2 размера 2m х 4 следующим образом: Pi1 = |Pj|0|, Pi2 = \0\Pj\ (все блоки имеют ширину 2). Рассмотрим следующую задачу.
ЗАДАЧА P: для заданной невырожденной матрицы P найти наименьшее число d матриц ранга 1, линейными комбинациями которых являются все ука-
16
В. Б. АЛЕКСЕЕВ
занные выше 2т матриц Рг1 = |Рг|0| и Рг2 = |0|Рг| (при заданном фиксированном т).
В [8] доказано следующее утверждение (частный случай первой части леммы
2).
Лемма 1. Над любым полем F наименьшая сложность решения Задачи Р при фиксированном т одинакова для всех невырожденных матриц Р и равна билинейной сложности, умножения матрицы A = \aij\\mx2 на матрицу В = ||bfcz||2x2-
Следующие 3 леммы, доказанные в [8], позволяют упрощать решения задачи Р (лемма 2 — это вторая часть леммы 2 в [8]). В дальнейшем мы будем считать фиксированным некоторое (произвольное) поле F, над которым рассматриваются все матрицы, и не будем отмечать его в формулировках утверждений.
Лемма 2. Если D1, D2, , Dd — решение Задачи Р и C — невырожденная
матрица, то CD1, CD2, ... , CDd — решение Задачи СР.
Лемма 2 позволяет из произвольного решения Задачи Р получать решения более простого вида (возможно для другой матрицы).
Лемма 3. Пусть D1, D2, ... , Dd — решение Задачи Р для некоторой невырожденной матрицы Р = |Р^1|Р2|... Рт порядка 2т (блоки ширины 2). Пусть каждый блок Рг заменяется на блок Р(, являющийся линейной комбинацией блоков Рг. Тогда тот же набор матриц D1, D2, ..., Dd является решением Задачи Р1 для матрицы Р1 = Р1Р21... ^тV
Лемма 4. Пусть D1, D2, ... , Dd — решение Задачи Р для некоторой невырожденной матрицы Р. Пусть Dt = D^D^| — разбиение каждой матрицы Dt на блоки шириной 2. Пусть одновременно во всех матрицах Dt делается одно и то же невырожденное преобразование с блоками: D3t = l1jD\ + l2jD%, j = 1, 2. Пусть матрица этого преобразования L = \\lij || невырожденна. Тогда полученные матрицы Dt также являются решением Задачи Р для той же матрицы Р. (Матрицы Dt очевидно, остаются матрицами первого ранга).
3. Нижняя оценка
В этом разделе мы покажем, что билинейная сложность задачи умножения матрицы размера т х 2 на матрицу размера 2 х 2 над любым полем не может быть меньше 3т+2 (отметим, что в [9] для этой задачи нижняя оценка получена только для поля из 2 элементов).
Основным результатом данной статьи является следующая теорема.
Теорема 1. При т > 3 билинейная сложность задачи умножения матрицы размера т х 2 на матрицу размера 2 х 2 над любым полем не может
О БИЛИНЕИНОИ СЛОЖНОСТИ УМНОЖЕНИЯ МАТРИЦ ...
17
быть меньше 3т+2. Тот же результат справедлив для умножения матрицы размера 2 х т на матрицу размера т х 2 и для умножения матрицы размера 2 х 2 на матрицу размера 2 х т.
ДОКАЗАТЕЛЬСТВО. Учитывая лемму 1, нам достаточно доказать, что Задача P не имеет решения сложности 3т + 1 при т > 3 ни для какой невырожденной матрицы P. Мы будем доказывать это от противного.
Допустим, что для некоторой невырожденной матрицы P размера 2т х 2т существует решение D1,..., Dd задачи P, где все матрицы D1,..., Dd ранга 1. Это означает, что существуют такие коэффициенты a1t, a2t (из рассматриваемого поля), что для i = 1, т выполняются равенства:
d
Pi1 = ^2 altDt, Pi2 = ^2 aitD
t=1
t=1
Пусть все матрицы Dt разбиты на 2 блока размера 2т х 2: Dt = \Dl\Dl\. Тогда последние равенства равносильны равенствам:
Pi
^ altDl
t=i
t
d
У-
t=1
d
alD2 = 0, У aitD1 = 0, Pi = У] caitD
d
t=1
t=1
Пусть среди матриц D1,... , D1 имеется l линейно независимых матриц и нет l + 1 линейно независимых. Будем говорить тогда, что наше решение имеет параметры (l, d — l). Не ограничивая общности, можем считать, что D^ ... , D1 линейно независимы. Тогда из (1) вытекает, что существуют такие коэффициенты щ,к (из рассматриваемого поля), что выполняются равенства:
d1 = У b^Dlp, t = l + 1,d;
p=1
Pi = У kiDt , i = 1,т-
t=1
(2)
Пусть
Nt = Dt — У ЩDp, t = l + 1,d. (3)
p=1
Тогда из (2) получаем, что Nt имеет вид Nt = \0\Nt2\, где Nj2 — подматрица размера 2т х 2.
Лемма 5. Все матрицы P1, P2, ..., Pm являются линейными комбинациями матриц Nf+1, ..., Nj, то есть существуют такие константы et (из рассматриваемого поля), что выполняются равенства:
d
Pi =У e\N(, i = Т(т;
t=l+1
d
Pi2 = \0\Pi\ = У etiNt, i =1,т. (4)
t=l+1
18
В. Б. АЛЕКСЕЕВ
Доказательство. Так как среди матриц D\,..., D\ ровно l линейно независимых матриц, то пространство линейных комбинаций У)t=1 ptDt таких, что '^2<d=1 fitD1 = 0, имеет размерность d — l. Но d — l линейных комбинаций Dt— — Е U bD t = l + 1, d, выражающих Nt, входят в это пространство и линейно независимы, поскольку каждое слагаемое Di+1,..., Dd входит ровно в одну из этих линейных комбинаций. Следовательно, каждая матрица, которая является линейной комбинацией матриц D1,... , Dd и имеет вид \0\И|, является линейной комбинацией матриц Ni+1,... , Nd. Так как все матрицы Pi2 = \0\Pj\ являются линейными комбинациями матриц D1 , . . . , Dd по условию, то существуют такие константы et (из рассматриваемого поля), что выполняются равенства из леммы 5. □
Лемма 6. Если Задача P имеет решение с параметрами (l,d — l), то l > 2m, d — l > m и билинейная сложность задачи умножения матрицы размера m х 2 на матрицу размера 2 х 2 над любым полем не может быть меньше 3m.
Доказательство. Так как матрица P невырожденная, то ее столбцы линейно независимы. Все ее столбцы порождаются, согласно правой части формулы (2), столбцами матриц D\,... , D1. Поэтому, в этих матрицах должно быть не менее 2m линейно независимых столбцов. А так как все эти матрицы ранга 1, то их количество l > 2m. Так как столбцы в P линейно независимы, то, в частности, подматрицы P1, P2,... , Pm линейно независимы. Тогда из леммы 5 получаем, что среди матриц Ni+1,... , Nd существует не менее m линейно независимых, откуда d — l > m и d > 3m. Заключительная часть леммы 6 вытекает из леммы 1. □
С учетом леммы 6 для доказательства теоремы 1 достаточно доказать, что задача P при m > 3 не имеет решений с параметрами (2m, m), (2m, m + 1), (2m + 1,m). Мы рассмотрим сначала случай l = 2m и для использования в будущем докажем сразу более сильное утверждение.
Лемма 7. Задача P при m > 5 не имеет решений с параметрами (2m, m+ +2).
Доказательство. Пусть l = 2m. Согласно (2), из столбцов матриц D11, . . . , Di1 линейными комбинациями должны получаться все 2m линейно независимых столбцов матрицы P (по определению матрица P невырожденна). Так как все матрицы D\,... , D] имеют ранг 1 и l = 2m, то все матрицы D\,... , Dj должны быть ненулевыми и построенными на 2m линейно независимых столбцах. Каждую матрицу Dt первого ранга можно представить в виде произведения Dt = ft • gt, где ft — некоторый вектор-столбец, а gt — некоторая векторстрока. Тогда CDt = (Cft) • gt. Поскольку вектор-столбцы f1, f2, ... , fl линейно независимы, то можно найти такую невырожденную матрицу C, что Cft = et при всех t = 1, l, где et — вектор-столбец с одной 1 на t-м месте. Тогда в матрице CDt единственной ненулевой строкой будет строка с номером t. По лемме
О БИЛИНЕИНОИ СЛОЖНОСТИ УМНОЖЕНИЯ МАТРИЦ ...
19
2 матрицы CDt, t = 1,l, будут опять давать решение Задачи P, но с заменой матрицы P на матрицу CP. При этом равенства (2) останутся справедливыми для матрицы CP и матриц CDt. Чтобы избежать громоздких обозначений, можем считать, что решение Di,... , Dd уже для исходной матрицы P имеет такой вид, то есть в матрице Dt, t = 1,l, единственной ненулевой строкой является строка с номером t.
Пусть для j = 1, 2,... ,l матрица Dj равна \pj \qj \ в j-й строке, где pj, qj — векторы размерности 2 (в остальных строках она равна 0). Для наглядности можно изображать набор матриц D1,... ,Di одной матрицей в виде (напомним, что l = 2m):
D1 : V\ q\
D2 : p2 q2
Di : pi qi
Лемма 8. В каждой матрице Pi, i = 1,m в строке с номером j стоит вектор, пропорциональный вектору pj.
Доказательство. В j-й строке в Dj стоит вектор pj, а в остальных Dj: в j-й строке стоит вектор (0, 0). Поэтому утверждение леммы 8 вытекает из второго равенства в (2). □
Разобьем все 2m = l строк (или их номера) на классы эквивалентности T1,T2,... ,Ts так, что любые две строки с номерами r и q входят в один класс тогда и только тогда, когда векторы pr и pq пропорциональны (заметим, что все векторы pt = (0, 0), поскольку матрицы D1,..., Dj линейно независимы).
Определение 2. Пусть зафиксирован некоторый класс эквивалентности Tj. Тогда для любой матрицы K с 2т строками будем через K обозначать ее подматрицу, образованную строками из Tj, а через K —ее подматрицу, образованную остальными строками.
Лемма 9. Пусть Tj — любой класс эквивалентности. Тогда т матриц P1,..., Pm линейно независимы.
Доказательство. Допустим, что матрицы P 1,...,Pm линейно зависимы. Тогда можно взять невырожденную линейную комбинацию подматриц P1, P2,..., Pm так, что получится матрица Q, в которой Q = 0. При этом, согласно лемме 8, в Q все строки (длины 2) будут пропорциональны, то есть матрица Q будет иметь ранг не более 1. Получаем, что в матрице P можно выполнить такое невырожденное линейное преобразование столбцов, что получится подматрица размера 2т х 2 ранга не более 1, то есть вся матрица будет вырожденной. Но это невозможно, поскольку P (по условию) — невырожденная матрица. Следовательно, утверждение леммы 9 верно (от противного). □
20
В. Б. АЛЕКСЕЕВ
Определение 3. Будем говорить, что матрица Nt = |0|Ft| имеет тип F, если для нее в (3) все коэффициенты Up = 0. Будем говорить, что матрица Nt = |0|Gt| имеет тип G, если для нее в (3) существует коэффициент Щ = 0.
Напомним, что каждая из матриц D,,..., Di отлична от 0 только в одной строке (каждая в своей).
Лемма 10. Если матрица Nt = |0|Ft| имеет тип F, то ранг rk(Nt) = 1. Если матрица Nt = |0|Gt| имеет тип G, то она может быть отлична от 0 только в строках из одного класса эквивалентных строк Tj.
Доказательство. В первом случае из (3) следует, что Nt = Dt и ранг rk(Nt) = 1. Во втором случае из (2) имеем D1 = Y^p=i tf-Dp = 0 и D1 имеет ранг 1. Это значит, что все строки в ней пропорциональны. Значит в сумме 'У!р=1 Up Dp с ненулевыми коэффициентами Up могут участвовать только те матрицы Dp,, у которых единственные ненулевые строки пропорциональны, то есть входят в один класс эквивалентных строк. Но тогда матрица D1 равна 0 во всех остальных строках, а поскольку Dp = 0 и матрица Dt имеет ранг 1, то и вся матрица Dt равна 0 во всех остальных строках. При этом и матрица Nt = Dt — YPlp=1 UpDp равна 0 во всех остальных строках. Лемма доказана. □
Лемма 11. Пусть Tj — любой класс эквивалентности строк. Тогда в строках из класса Tj отлична от 0 не более чем 1 матрица типа G.
Доказательство. Согласно лемме 5, все матрицы P,,..., Pm являются
=2 =2
линейными комбинациями матриц N +,,... , Nd. Допустим, что в строках из класса Tj отличны от 0 хотя бы 2 матрицы N2 типа G, например, N2+1 и Nj+_2. Тогда по лемме 10 они полностью нулевые в остальных строках. Но тогда
все подматрицы P, Pm выражаются линейными комбинациями подматриц N2, i = l + 3, d. Их число равно d — l — 2 = m. По лемме 9 матрицы PPm линейно независимы. Поэтому все подматрицы Nf,i = l + 3,d отличны от 0 и выражаются, в свою очередь, линейными комбинациями матриц P,,..., Pm. Из леммы 8 вытекает тогда, что в каждом классе эквивалентных строк каждая подматрица Nf,i = l + 3,d имеет пропорциональные строки. Так как каждая из этих матриц отлична от 0 и матрица типа G отлична от 0 только в одном классе эквивалентных строк, то все матрицы N2, i = l + 3, d типа G имеют ранг
1. Все матрицы N2 типа F имеют, согласно лемме 10, ранг 1. Получаем, что среди всех m + 2 матриц N2 не менее m имеют ранг 1. Тогда во всех матрицах N2 не более m + 4 линейно независимых столбцов. Поскольку, согласно лемме 5, их линейными комбинациями должны выражаться все 2m линейно независимых столбцов матрицы P, то должно быть m + 4 > 2m, то есть m < 4. Мы же предполагаем, что m > 5 (см. условие леммы 7), поэтому наше предположение неверно и лемма от противного доказана. □
О БИЛИНЕИНОИ СЛОЖНОСТИ УМНОЖЕНИЯ МАТРИЦ ...
21
Продолжим доказательство леммы 7. Рассмотрим среди N+,... , Nd все матрицы ранга 1. Пусть это матрицы Ni+i,... , Ni+s. Так как в каждой из остальных матриц 2 столбца, то всего линейно независимых столбцов в Ni+i,... , Nd не более s + 2(d — l — s). Так как в рассматриваемом случае l = 2m и d — l = m + 2, то линейно независимых столбцов в Nl+i,... ,Nd не более 2(m+2) — s = 2m+(4 — s). Но, согласно лемме 5, эти столбцы должны порождать линейными комбинациями 2m линейно независимых столбцов матрицы P. Следовательно, 2m+(4—s) > > 2m и s < 4.
Пусть в правых равенствах в (4) участвует Ni+i с ненулевым коэффициентом. Можно считать, что Ni+i входит с ненулевым коэффициентом в сумму, выражающую Pi. Тогда, вычитая Pi из блоков P2, P3,... Pm, можно добиться того, что N+ не участвует в суммах, выражающих P2, P3,... Pm. Согласно лемме 3, те же матрицы Di,..., Dd дают решение для новой матрицы P, и новая матрица остается невырожденной. Поэтому можно считать, что уже в исходной матрице P Ni+i не участвует в суммах, выражающих P2, P3,... Pm. Аналогично, если после этого Ni+2 входит с ненулевым коэффициентом в сумму, выражающую P2, то можно считать, что Ni+2 не участвует в суммах, выражающих P3, P4,... Pm. В целом, можно считать, что в суммах, выражающих P5, P6,... Pm, не участвуют все Ni+i,..., Ni+s (так как s < 4), а участвуют только матрицы ранга 2. По лемме 10 получаем, что в суммах, выражающих P5, P6,... Pm, участвуют только матрицы типа G ранга 2, причем по леммам 10 и 11 каждая из матриц типа G отлична от 0 только в одном классе эквивалентных строк и разные матрицы отличны от 0 в разных классах строк.
Рассмотрим любой класс эквивалентных строк Tj. Если все матрицы типа G ранга 2 в классе эквивалентных строк Tj имеют нулевые подматрицы, то в этом классе строк все матрицы P5, P6,... Pm имеют нулевые подматрицы. Если же есть матрица типа G ранга 2, которая в классе эквивалентных строк Tj имеет ненулевую подматрицу Gi , то ранг Gi равен 2 и в этом классе строк все матрицы P5, P6,... Pm имеют подматрицы, пропорциональные Gi. Но согласно лемме 8 все эти поматрицы имеют ранг не более 1. Это возможно только если все эти подматрицы нулевые. Следовательно, в любом случае все подматрицы матриц P5, P6,... Pm в классе эквивалентных строк Tj нулевые. А так как это верно для любого класса строк Tj, то все матрицы P5, P6,... Pm нулевые. Так как по условию леммы 7 мы рассматриваем случай m > 5, то получаем, что в матрице P есть нулевые столбцы, что противоречит невырожденности матрицы P. От противного получаем, что лемма 7 верна. □
Лемма 12. Задача P при m > 5 не имеет решений с параметрами (2m + 1,m).
Доказательство. Допустим, что существует решение с параметрами (2m + l,m). Тогда выполняются равенства (2) и (4). Из второго равенства в
(2) следует, что все столбцы матрицы P являются линейными комбинациями столбцов матриц D^,... ,Dl. Так как по условию матрица P невырожденная,
22
В. Б. АЛЕКСЕЕВ
то среди матриц первого ранга D],... , D1 есть 2т ненулевых матриц, построенных на 2т линейно независимых столбцах. Не ограничивая общности, будем считать, что матрицы D\,, D]_l ненулевые и построены на l — 1 = 2m линейно независимых столбцах. Пусть в равенстве (2) среди k\,i = 1,т, есть отличные от 0. Будем считать, что это к[. Тогда, вычитая Pl из остальных P.\ с подходящими коэффициентами, можно для новых блоков получить
ki = 0, i = 2, т. (5)
По лемме 3 те же матрицы Dl,... , Dd будут давать решение для полученной после вычитания блоков матрицы Р1, причем легко видеть, что матрица Р1 останется невырожденной. Мы можем считать, что мы изначально рассматриваем такую матрицу, то есть, что равенства (5) выполняются (если изначально все ki равны 0, то это тоже выполняется).
По лемме 5 получаем, что т матриц Pi2, i = 1,т, являются линейными комбинациями т матриц Ni+i,..., Nd. Но матрицы Pi2, i = 1,т, линейно независимы, поскольку матрицы Pi, i = 1,т, линейно независимы как блоки невырожденной матрицы P. Поэтому матрицы Ni+i,... , Nd, в свою очередь, выражаются как линейные комбинации матриц Pi2, P22,... , Pm2, то есть существуют такие константы lj, что
n = 52чPj2, n2 = 52ijPi, t = i + 1,d (6)
j=i i=i
По условию линейными комбинациями матриц D , . . . , Dd являются также все матрицы Pii = |Pi|0|, а значит и матрицы Pii — Y^t= i kitDt. Но из (2) следует, что матрица Pii — J2t=i k*Dt = lPi|0| — J2t= i KID]DU имеет вид |0|Я|. Тогда получаем (см. доказательство леммы 5), что все матрицы Pii — ^21=i k1tDt являются линейными комбинациями т матриц Ni+i,... , Nd, а значит, согласно (6), и линейными комбинациями матриц Pj2. С учетом (5) получаем, что для некоторых констант rj ,j = 1,т для i = 2, т выполняется
l—l m
Pil = ^2 ktDt + Y1 rj Pj2, i = 2^. (7)
t= j=
Если среди r],... ,rm есть не равные 0, то пусть, например, r] = 0. Пусть тогда v3 = Г|. Если среди r],... ,rm все равны 0, то положим v3 = 0. В любом
случае r] — v3r] = 0. Рассмотрим матрицы Q = P3 — v3P2 и Ql = |Q|0| = P3l — v3P2l (блоки ширины 2). Тогда из (7) получаем, что для некоторых констант k]_,... ,kl, w2, w3, ..., wm выполняется равенство
i—
Ql 'У ] ktDt + w2P22 + w3P32 + ... + wmPm2. (8)
t=
О БИЛИНЕИНОИ СЛОЖНОСТИ УМНОЖЕНИЯ МАТРИЦ ...
23
В 3-м и 4-м столбцах равенство (8) дает г-1
О = У ] ktDt + W2P2 + w3рз + • • • + wmPm. (9)
t=i
Из равенств (2) и (5) следует, что все матрицы P2, P3, Pm являются
линейными комбинациями матриц Dl_,... , Di1_1. Поэтому из (9) получаем, что для некоторых констант h1, • • • , h-1 выполняется равенство
г-i г-1 г-1
£ ktDt + £ ht Dt = Y,(ktDf + htDD = 0, (10)
t=1 t=1 t=1
Если для всех t = 1,l — 1 выполняется kt = 0, то из (8) в первых двух столбцах получаем Q = 0. Так как Q = P3 — v3P2, то тогда получаем, что блоки P2 и P3 в невырожденной матрице P линейно зависимы, что невозможно.
Значит среди k1, • • • , кг-1 есть ненулевые. Не ограничивая общности, пусть к1 = 0. Напомним, что мы выбрали l — 1 матриц D1, • • • , Dг-1 ранга 1 так, что они построены на l — 1 линейно независимых столбцах. Следовательно, матрицы ktD2 + htDl — это матрицы не более чем первого ранга, построенные на l — 1 линейно независимых столбцах. Тогда равенство (10) возможно, только если ktD‘2 + htDt = 0 для всех t = 1, l — 1. В частности,
k1D1 + h1D1 = 0- (11)
Проделаем одновременно во всех матрицах Dt, t разование над блоками
(и! = hD + k1 D2, [H = D1 •
1,16, следующее преоб-
Определитель этого преобразования
h1 k1
1 0
k1 = 0^ Поэтому это преоб-
разование обратимое и по лемме 4 новые матрицы Ht = \Щ\Щ\,t = 1,d дают решение Задачи P для той же невырожденной матрицы P. При этом из (11) следует, что H11 = 0.
Так как мы уже доказали, что при m > 5 решения задачи P с параметрами (2m,m + 1) не существует (лемма 7), то решение Ht = HUH^^t = 1,d, должно опять иметь параметры (2m + 1,m). То есть, среди подматриц H]^,t = 1,d, должно быть ровно 2m + 1 линейно независимых. Поскольку H = 0, то H\ не входит в их число. Тогда по H1 будет строиться матрица типа N. В аналоге равенства (2) для H (сменится нумерация) все коэффициенты bp будут равны 0 и, следовательно, для соответствующей матрицы N1 получим N1 = H1 и N1 будет матрицей ранга 1. Тогда m матриц Nt будут иметь не более 2m — 1 линейно независимых столбцов. Но согласно лемме 5 их линейными комбинациями
24
В. Б. АЛЕКСЕЕВ
должны являться все матрицы Pi2 = |0|Рф в которых 2т линейно независимых столбцов (ввиду невырожденности матрицы P). Полученное противоречие доказывает (от противного) лемму 12. □
Из лемм 7 и 12 получаем, что при т > 5 в задаче P нет решений с параметрами (2т, т + 1) и (2т + 1,т). Так как из леммы 6 следует, что параметры удовлетворяют неравенствам l > 2т и d-l > т, то другие случаи для d = 3т+1 невозможны. Получаем, что для задачи умножения матрицы размера т х 2 на матрицу размера 2 х 2 при т > 5 над произвольным полем билинейная сложность не меньше 3т + 2. Для т = 3 и т = 4 такой же результат получен в [7] и [8]. Для других двух задач из теоремы 1 утверждение теоремы вытекает из равенства билинейной сложности для двойственных задач умножения матриц [13]. Теорема 1 полностью доказана. □
4. Заключение
Границы для билинейной сложности умножения матрицы размера т х 2 на матрицу размера 2 х 2 над произвольным полем остаются пока очень широкими: 3т + 2 и \7т]. Наименьшее значение т, для которого неизвестно точное значение этой величины, равно 5. Билинейная сложность в этом случае равна 17 или 18. Решение сложности 17 может существовать только с параметрами (10, 7), (11,6) или (12,5), что вытекает из леммы 6. Однако лемма 7 показывает, что первый случай невозможен. Другие 2 случая требуют дополнительного исследования. Что касается оценок для произвольных т, было бы интересно повысить коэффициент при т в нижней оценке или понизить коэффициент при т в верхней оценке.
СПИСОК ЦИТИРОВАННОЙ ЛИТЕРАТУРЫ
1. Strassen V. Gaussian elimination is not optimal // Numer. Math. 1969. Vol. 13. P. 354-356. [Имеется перевод: Штрассен В. Алгоритм Гаусса не оптимален // Кибернетический сборник, вып. 7. М.: Мир, 1970. С. 67-70].
2. Burgisser P., Clausen M. Shokrollahi M. A. Algebraic Complexity Theory. Berlin: Springer-Verlag, 1997. 645p.
3. Coppersmith D., Winograd S. Matrix Multiplication via Arithmetic Progressions // J. Symbolic Computation. 1990. Vol. 9, №3. P. 251-280.
4. Laderman J. D. A noncommutative algorithm for multiplying 3 х 3 matrices using 23 multiplications // Bull. Amer. Math. Soc. 1976. Vol. 82, №1. P. 126128.
5. Blaser M. On the complexity of the multiplication of matrices of small formats // J. Complexity. 2003. Vol. 19. P. 43-60.
О БИЛИНЕИНОИ СЛОЖНОСТИ УМНОЖЕНИЯ МАТРИЦ ...
25
6. Winograd S. On multiplication of 2 x 2 matrices // Linear Algebra and Appl. 1971. Vol. 4. P. 381-388.
7. Alekseyev V. B. On the complexity of some algorithms of matrix multiplication // Journal of Algorithms. 1985. Vol. 6, №1. P. 71-85.
8. Алексеев В.Б., Смирнов А.В. О точной и приближенной билинейных сложностях умножения матриц размеров 4 x 2 и 2 x 2 // Современные проблемы математики. 2013. Вып. 17. С. 135-152.
9. Hopcroft J. E., Kerr L.R. On minimizing the number of multiplications necessary for matrix multiplication / / SIAM J. Appl. Math. 1971. Vol. 20, №1. P. 127-148.
10. Strassen V. Vermeidung von Divisionen // J. Reine und Angev. Math. 1973. Vol. 264. P. 184-202.
11. Макаров О. М. Некоммутативный алгоритм умножения квадратных матриц пятого порядка, использующий сто умножений / / Журн. вычисл. математики и мат. физики. 1987. Т. 27, №2. С. 311-315.
12. Смирнов А. В. О билинейной сложности и практических алгоритмах умножения матриц / / Журн. вычисл. математики и мат. физики. 2013. Т. 53,
№12. С. 1970-1984.
13. Hopcroft J. E., Musinski J. Duality applied to the complexity of matrix multiplication and other bilinear forms / / SIAM J. Comput. 1973. Vol. 2, №3.
P. 159-173.
14. de Groote H. F. On varieties of optimal algorithms for the computation of bilinear mappings. II. Optimal algorithms for 2 x 2 matrix multiplication // Theoret. Comput. Sci. 1978. Vol. 7, №2. P. 127-148.
15. Алексеев В. Б. О билинейной сложности умножения матриц размеров 5 x 2 и 2 x 2 // Ученые записки Казанского университета. Серия Физико-математические науки. 2014. Т. 156, №3. С. 19-29.
REFERENCES
1. Strassen V. 1969, “Gaussian elimination is not optimal”, Numer. Math., vol. 13, pp. 354-356.
2. Burgisser P., Clausen M. Shokrollahi M.A. 1997, “Algebraic Complexity Theory”, Springer-Verlag, Berlin, 1997, 645p.
3. Coppersmith D., Winograd S. 1990, “Matrix multiplication via arithmetic Progressions”, J. Symbolic Computation., vol. 9, no. 3, pp. 251-280.
26
В. Б. АЛЕКСЕЕВ
4. Laderman J. D. 1976, “A noncommutative algorithm for multiplying 3 x 3 matrices using 23 multiplications”, Bull. Amer. Math. Soc., vol. 82, no. 1,
pp. 126-128.
5. Blaser M. 2003, “On the complexity of the multiplication of matrices of small formats”, J. Complexity, vol. 19, pp. 43-60.
6. Winograd S. 1971, “On multiplication of 2 x 2 matrices”, Linear Algebra and Appl., vol. 4, pp. 381-388.
7. Alekseyev V. B. 1985, “On the complexity of some algorithms of matrix multiplication”, Journal of Algorithms, vol. 6, no. 1, pp. 71-85.
8. Alekseev V. B., Smirnov A. V. 2013, “On exact and approximate bilinear complexities of multiplication of 4x2 and 2x2 matrices”, Sovremennye problemy matematiki, Issue 17, pp. 135-152. (Russian); translation in Proceedings of the Steklov Institute of Mathematics, vol. 282, no. Suppl. 1, pp. S123-S139.
9. Hopcroft J. E., Kerr L. R. 1971, “On minimizing the number of multiplications necessary for matrix multiplication”, SIAM J. Appl. Math., vol. 20, no. 1, pp. 127-148.
10. Strassen V. 1973, “Vermeidung von Divisionen”, J. Reine und Angev. Math., vol. 264, pp. 184-202.
11. Makarov О. М. 1987, “Noncommutative algorithm for multiplying square matrices of order 5 using 100 multiplications”, Zhurn. Vych. Matem. i Matem. Fiziki (Computational Mathematics and Mathematical Physics), vol. 27, no. 2, pp. 311315. (Russian).
12. Smirnov A. V. 2013, “The bilinear complexity and practical algorithms for matrix multiplication”, Zhurn. Vych. Matem. i Matem. Fiziki, vol. 53, no. 12, pp. 1970-1984. (Russian); translation in “Computational Mathematics and Mathematical Physics”, 2013, vol. 53, issue 12, pp. 1781-1795.
13. Hopcroft J. E., Musinski J. 1973, “Duality applied to the complexity of matrix multiplication and other bilinear forms”, SIAM J. Comput., vol. 2, no. 3, pp. 159173.
14. de Groote H. F. 1978, “On varieties of optimal algorithms for the computation of bilinear mappings. II. Optimal algorithms for 2 x 2 matrix multiplication”, Theoret. Comput. Sci., vol. 7, no. 2, pp. 127-148.
15. Alekseev V. B. 2014, “On bilinear complexity of multiplication of 5 x 2 and 2 x 2 matrices”, Uchenye Zapiski Kazanskogo Universiteta. Serija Fiziko-matematicheskie Nauki, vol. 156, no. 3, pp. 19-29.(Russian).
О БИЛИНЕИНОИ СЛОЖНОСТИ УМНОЖЕНИЯ МАТРИЦ ...
27
Московский государственный университет им. М. В. Ломоносова, факультет вычислительной математики и кибернетики.
Поступило 10.03.2015.