Научная статья на тему 'О билинейной сложности умножения матриц размеров 5×2 и 2×2'

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

CC BY
335
49
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
УМНОЖЕНИЕ МАТРИЦ / MATRIX MULTIPLICATION / АЛГОРИТМ / ALGORITHM / СЛОЖНОСТЬ / COMPLEXITY / БИЛИНЕЙНАЯ СЛОЖНОСТЬ / BILINEAR COMPLEXITY

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

Статья посвящена изучению билинейной сложности (то есть наименьшего число умножений без учета коммутативности элементов) для задачи умножения матриц малых размеров. Показано, что билинейная сложность для задачи умножения матриц размеров 5×2 и 2×2 не может быть меньше 17 ни над каким полем.

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

In this paper we study bilinear complexity (i.e. the minimum number of multiplications without using commutativity of the elements) for the problem of multiplication of matrices of small size. We show that the bilinear complexity for the problem of multiplication of a 5×2 matrix by a 2×2 matrix is at least 17 for any field.

Текст научной работы на тему «О билинейной сложности умножения матриц размеров 5×2 и 2×2»

____________УЧЕНЫЕ ЗАПИСКИ КАЗАНСКОГО УНИВЕРСИТЕТА

Том 156, кн. 3 Физико-математические науки

2014

УДК 519.712.3+519.61

О БИЛИНЕЙНОЙ СЛОЖНОСТИ УМНОЖЕНИЯ МАТРИЦ РАЗМЕРОВ 5 х 2 И 2 х 2

В.Б. Алексеев

Аннотация

Статья посвящена изучению билинейной сложности (то есть наименьшего число умножений без учета коммутативности элементов) для задачи умножения матриц малых размеров. Показано, что билинейная сложность для задачи умножения матриц размеров 5x2 и 2 x 2 не может быть меньше 17 ни над каким полем.

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

Введение

Стандартный алгоритм («строка на столбец») для умножения матриц размера n х n использует порядка n3 арифметических операций. Еще в 1969 г. Ф. Штрас-сен [1] построил первый асимптотически более быстрый алгоритм умножения матриц размера пхп (с числом арифметических операций O (nlog2 7)). В последующие 20 лет верхняя оценка сложности умножения двух матриц размера n х n была понижена до O (и2'38) [2], однако дальше (уже 25 лет) существенных продвижений в этой задаче нет. Результат Штрассена, а также быстрые алгоритмы для умножения чисел и полиномов дали толчок развитию важного нового направления -исследованию минимального числа алгебраических операций для вычислений в различных алгебрах (алгебраической сложности) [3]. Получаемые результаты позволяют лучше понять общие методы построения быстрых алгоритмов в алгебраических задачах. При этом отсутствие продвижений в общей задаче о сложности умножения матриц требует более глубокого изучения этой задачи. Одним из направлений является исследование сложности умножения матриц малого размера. Это связано, в частности, с тем, что алгоритм малой сложности для умножения матриц малого размера можно рекурсивно использовать для умножения матриц большого размера. Именно так получил свой результат Штрассен - он рекурсивно применял найденный им способ перемножения двух матриц размера 2 х 2 с использованием только 7 умножений вместо обычных 8. Для того чтобы можно было применять рекурсию, Штрассен построил для умножения матриц порядка 2 алгоритм специального вида, а именно так называемый билинейный алгоритм.

Определение 1. Пусть F - некоторое кольцо и пусть имеется 2 множества переменных A = {ai, a,2, ... ,ar} и B = {bi, 62, ... ,bs}. Билинейными алгоритмами над A и B и кольцом F называются алгоритмы, в которых сначала вычисляются произведения a*aj I | [3jbj I некоторых линейных форм (с коэффици-

Vi=i / \j=i J

ентами из F ) от первого множества переменных на некоторые линейные формы (с коэффициентами из F) от второго множества переменных, где t = 1, 2,...d, а на втором этапе вычисляются некоторые линейные комбинации этих d произведений. При этом число умножений d называется билинейной сложностью алгоритма.

19

20

В.Б. АЛЕКСЕЕВ

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

Г S

вычисляет систему билинейных форм C = Т.Т,4« ibj, k = 1,... ,h, где cj -

i=1 j=1

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

Обозначим через ||aij ||mxn матрицу размера m х n над некоторым кольцом. Билинейная сложность задачи умножения матрицы ||а^ ||mxn на матрицу ||b,u||nXp - это билинейная сложность вычисления системы из mp билинейных

П

форм вида Е aij bjl .

j=1

Требование билинейности в алгоритмах при изучении сложности умножения матриц связано с тем, что при рекурсии вместо переменных подставляются матрицы, которые могут не коммутировать. Если отказаться от билинейности и считать, что элементы перемножаемых матриц коммутируют, то наименьшее число умножений в произвольных алгоритмах с операциями сложения, вычитания и умножения для вычисления произведения двух матриц заданных размеров называют мультипликативной сложностью задачи. Известно, что билинейная и мультипликативная сложности задачи могут не совпадать. Например, при наличии коммутативности можно построить алгоритм для умножения матрицы размера 3 х 2 на матрицу размера 2 х 2 c 10 умножениями [4], в то время как билинейная сложность этой задачи равна 11 [5].

Оказалось, что даже в задачах перемножения двух матриц достаточно малого размера не удается установить точное значение билинейной сложности. Например, для задачи перемножения двух матриц размера 3 х 3 к настоящему моменту известно только то, что билинейная сложность заключена между 19 и 23 [6, 7]. Для задачи перемножения двух матриц размера 4 х 4 верхняя оценка 49 на число умножений (вместо обычных 64) получается двукратным использованием алгоритма Штрассена, и эта оценка пока не понижена. Для задачи перемножения двух матриц размера 5 х 5 наилучшим остается алгоритм из [8] с числом умножений 100 вместо обычных 125. Из недавних результатов интересен результат А.В. Смирнова [9], который построил алгоритм для умножения матрицы размера 3 х 3 на матрицу размера 3 х 6 с 40 умножениями (вместо обычных 54).

Еще тяжелее обстоит дело с нижними оценками. Для задачи перемножения двух матриц размера 2 х 2 достаточно быстро было доказано, что оценка 7 на число умножений неулучшаема над произвольным полем [10]. Однако к данному моменту для билинейной сложности умножения матрицы размера m х n на матрицу размера n х p нижние оценки над произвольным полем, совпадающие с верхней оценкой, установлены только для нескольких значений параметров m, n, p.

Обозначим через {m, n,p) f задачу умножения матрицы размера m х n на матрицу размера n х p над некоторым полем F. А через rkF {m,n,p) обозначим билинейную сложность этой задачи. Теорема о двойственности [11] утверждает, что rkF {m,n,p) не изменяется при любой перестановке чисел m, n, p.

Нетрудно показать, что rkF{m, l,p) = mp. Из результата Штрассена легко получается, что rkF {m, 2, 2) < |~7m/2~| для произвольного поля F. В работе [12] была получена такая же нижняя оценка, но только для поля из 2 элементов. Автором в работе [5] был рассмотрен случай m = 3 и доказано, что rkF{3, 2, 2) = ll для

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

21

произвольного поля F. В статье [13] доказано, что ткр (4, 2, 2} = 14 для произвольного поля F. Пока только для этих параметров и двойственных к ним установлено точное значение для ткр (m,n,p} над произвольным полем F. В настоящей работе рассматривается величина ткр (5, 2, 2}, для которой получена нижняя оценка ткр (5, 2, 2} > 17 над произвольным полем F. Отметим, что наилучшая известная верхняя оценка для этой задачи равна 18.

Кроме билинейных алгоритмов рассматривают также более общий класс так называемых приближенных билинейных алгоритмов и соответствующую приближенную билинейную сложность (определения см., например, в [13]). Для задачи умножения матрицы размера 5 х 2 на матрицу размера 2 х 2 приближенная билинейная сложность не превосходит 16 [9, 13]. Поэтому из полученного результата вытекает, что для задачи умножения матрицы размера 5 х 2 на матрицу размера 2 х 2 билинейная сложность и приближенная билинейная сложность различаются. Ранее различие билинейной сложности и приближенной билинейной сложности для задачи умножения матриц было установлено только для случаев (3, 2, 2} [5, 14] и (4, 2, 2} [13] (и двойственных к ним). Совпадение билинейной сложности и приближенной билинейной сложности доказано для задачи (2, 2, 2} [15].

1. Нижняя оценка

В этом разделе мы покажем, что любой билинейный алгоритм (обычный, неприближенный) для задачи умножения матрицы размера 5 х 2 на матрицу размера 2 х 2 над любым полем имеет билинейную сложность не менее 17 (отметим, что в [12] для этой задачи получена нижняя оценка 18, но только для поля из 2 элементов). Основой доказательства является эквивалентность рассматриваемой задачи формулируемой ниже задаче P.

Пусть m, n, p - фиксированные натуральные числа и пусть P - произвольная матрица порядка mn. Тогда выражением |Pi P1 ... \Pm | будем обозначать матрицу P, разрезанную на m вертикальных блоков одинаковой ширины n. Для любых 1 < i < m, 1 < l < p определим матрицу Pu размера mn х np следующим образом: Pn = |0| ... |0|Pj|0|... |0|, где все p блоков имеют ширину n, l-й блок матрицы Pu равен Pi, то есть i-му блоку матрицы P, а остальные блоки матрицы Pu являются нулевыми матрицами. Рассмотрим следующую задачу.

Задача P: найти наименьшее число d матриц ранга 1, линейными комбинациями которых являются все указанные выше mp матриц Pii (при заданных фиксированных m, n, p).

В [13] доказано следующее утверждение (первая часть леммы 2).

Лемма 1. Над любым полем F наименьшая сложность решения Задачи P при фиксированных m, n, p одинакова для всех невырожденных матриц P и равна билинейной сложности умножения матрицы A = \\оц ||mX„ на матрицу B = \\bkl IlnXp •

Эта лемма показывает, что для исследования билинейной сложности умножения двух матриц можно просто исследовать Задачу P с определенными параметрами. Следующие 3 леммы, доказанные в [13], позволяют упрощать решения Задачи P (лемма 2 - это вторая часть леммы 2 в [13]). В дальнейшем мы будем считать фиксированным некоторое (произвольное) поле F, над которым рассматриваются все матрицы, и не будем отмечать его в формулировках утверждений.

Лемма 2. Если D\,D2, ... ,Dd - решение Задачи P и C - невырожденная матрица, то CDi, CD2, ..., CDd - решение Задачи CP.

22

В.Б. АЛЕКСЕЕВ

Лемма 2 позволяет из произвольного решения Задачи P получать решения более простого вида (возможно для другой матрицы).

Лемма 3. Пусть Di, D2,.. ., Dd -решение Задачи P для некоторой невырожденной матрицы P = IP1JP2I . .. \Pm\ порядка mn (блоки ширины n). Пусть каждый блок Pi заменяется на блок P', являющийся линейной комбинацией блоков Pi. Тогда тот же набор матриц D\, D2, .. ., Dd является решением Задачи P' для матрицы P' = \P{\P2 \ .. . \P^ \.

Замечание. При использовании леммы 3 надо будет следить за тем, чтобы матрица P' оставалась невырожденной.

Лемма 4. Пусть Di, D2,.. ., Dd -решение Задачи P для некоторой невырожденной матрицы P . Пусть Dt = \Dj\Dt \ ... \Dp\ - разбиение каждой матрицы Dt на блоки шириной n. Пусть одновременно во всех матрицах Dt делается одно и

. p

то же невырожденное преобразование с блоками: D°t = Е lij Dt , j 1, ... ,Р .

i=l

Пусть матрица этого преобра,,зования, L = ||lij У является невырожденной. Тогда полученные матрицы Dt также являются решением Задачи P для той же матрицы P. (Матрицы Dt, очевидно, остаются матрицами первого ранга.)

Основным результатом настоящей статьи является следующая

Теорема 1. Любой билинейный алгоритм для умножения матрицы размера 5 х 2 на матрицу размера 2 х 2 над произвольным полем имеет билинейную сложность не менее 17. Тот же результат справедлив для умножения матрицы размера 2 х 5 на матрицу размера 5 х 2 и для умножения матрицы размера 2 х 2 на матрицу размера 2 х 5.

Доказательство. Мы докажем от противного, что для задачи умножения матрицы размера 5 х 2 на матрицу размера 2 х 2 над произвольным полем не существует билинейного алгоритма с 16 умножениями. По лемме 1 это утверждение равносильно отсутствию решения у следующей задачи.

Пусть P - произвольная невырожденная матрица размера 10 х 10, разбитая на 5 подматриц размера 10 х 2: P = \Pi \P2 \P3 \P4 \P5 \. Пусть Pii - матрица размера 10 х 4 вида Pii = \Pi \0\, а Pi2 - матрица размера 10 х 4 вида Pi2 = ^P^ (все блоки ширины 2). Спрашивается, существуют ли 16 матриц первого ранга Di,..., Di6 размера 10 х 4 такие, что все 10 матриц Pii, i = 1,..., 5, и Pi2, i = 1,..., 5,

являются линейными комбинациями матриц Di,..., Die. Надо доказать, что эта задача не имеет решения ни для какой невырожденной матрицы P .

Допустим, что для некоторой невырожденной матрицы P размера 10 х 10 такое решение Di,..., Die из матриц ранга 1 существует. Это означает, что существуют такие коэффициенты ait,a2t (из рассматриваемого поля), что для i = 1,..., 5 выполняются равенства

i6 i6

Pii = E aitDU Pi2 =Y^ aitDt.

t=i t=i

Разобьем всематрицы Dt на 2 блока размера 10 х 2: Dt = \D^t\D‘l\. Тогда последние

равенства равносильны равенствам

i6 i6 16 i6

Pi =£ aitDi, J2aiD = 0, J2aitDi =0, Pi = £ a%D2t. (1)

t=i t=1 t=i t=i

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

23

Так как матрица P невырожденная, то ее столбцы линейно независимы, поэтому, в частности, линейно независимы подматрицы Pi, P2, P3, P4, P5. Тогда из последнего равенства в (1) следует, что 5 векторов коэффициентов (а21,а22,... ,а2 16), i = 1,..., 5 линейно независимы, а значит, из третьего равенства в (1) следует, что среди матриц D^ ..., D^ не более 11 линейно независимых. С другой стороны, в матрицах Pi, P2, P3, P4, P5 имеется 10 линейно независимых столбцов, которые согласно первому равенству в (1) должны быть линейными комбинациями столбцов из Di_,..., D^6 • Поскольку матрицы Di,..., D^ имеют ранг 1, это означает, что среди D11, . . . , D116 есть 10 ненулевых матриц первого ранга, построенных на 10 линейно независимых столбцах. Тогда эти 10 матриц линейно независимы. Получаем, что возможны только 2 случая: максимальное число линейно независимых матриц среди матриц Dj,..., Dj6 равно 10 или 11. Рассмотрим эти случаи отдельно.

Случай 1. Среди матриц Dj,..., Dj6 имеется ровно 10 линейно независимых матриц.

Пусть матрицы Dj,..., Djo линейно независимы, а матрицы D^,..., Dj6 являются их линейными комбинациями. Это значит, что существуют такие коэффициенты ър,кр (из рассматриваемого поля), что выполняются равенства (см. (1))

1o 1o

Dj =J2 bp Dp, t = 11,..., 16; Pi = J2 ktDj, i = 1,..., 5. (2)

p=1 t=1

Согласно (2) из столбцов матриц D^ ..., D^ линейными комбинациями должны получаться все 10 линейно независимых столбцов матрицы P. Так как все матрицы D1,..., Dpo имеют ранг 1, все матрицы D^,..., D^ должны быть ненулевыми и построенными на 10 линейно независимых столбцах. Каждую матрицу Dt первого ранга можно представить в виде произведения Dt = ft ■ gt, где ft - некоторый вектор-столбец, а gt - некоторая вектор-строка. Тогда CDt = (Cft) ■ gt. Поскольку вектор-столбцы f 1, f2,..., f 10 линейно независимы, то можно найти такую невырожденную матрицу C, что Cft = et при всех t = 1,..., 10, где et - вектор-столбец с одной 1 на t-м месте. Тогда в матрице CDt единственной ненулевой строкой будет строка с номером t. По лемме 2 матрицы CDt, t = 1,..., 10, будут опять давать решение Задачи P, но с заменой матрицы P на матрицу CP. При этом равенства (2) останутся справедливыми для матрицы CP и матриц CDt. Чтобы избежать громоздких обозначений, можем считать, что решение D1, . . . , D16 уже для исходной матрицы P имеет такой вид, то есть в матрице Dt , t = 1, . . . , 10, единственной ненулевой строкой является строка с номером t.

Пусть

1o

Nt = Dt bp Dp, t =11,..., 16. (3)

p=1

Тогда из (2) получаем, что Nt имеет вид Nt = |0|N21, где Nj2 - подматрица размера 10 х 2. Так как среди матриц D\,..., D^ ровно 10 линейно независимых матриц,

16 16

то пространство линейных комбинаций ^tDt таких, что №tDt = 0, имеет

t=1 t=1

1o

размерность 16 — 10 = 6. Но 6 линейных комбинаций Dt — Е bpDp, t = 11,..., 16,

p=1

выражающих Nt , входят в это пространство и линейно независимы, поскольку каждое слагаемое D11, . . . , D16 входит ровно в одну из этих линейных комбинаций. Следовательно, каждая матрица, которая является линейной комбинацией

24

В.Б. АЛЕКСЕЕВ

матриц Di,..., Die и имеет вид \0\Н\, является линейной комбинацией матриц N11,..., N16 . В частности, существуют такие константы ер (из рассматриваемого поля), что выполняются равенства:

16 16

Pi2 = \0\Pi\ = ^ e\Nt, г =1,..., 5; Pi etiN^, i = 1,..., 5. (4)

t=11 i=11

Определение 3. Будем говорить, что матрица Nt = \0\Ft\ имеет тип F, если для нее в (3) все коэффициенты bp = 0. Будем говорить, что матрица Nt = \0\Gt\ имеет тип G, если для нее в (3) существует коэффициент bp = 0.

Напомним, что каждая из матриц D1,..., D10 отлична от 0 только в одной строке (каждая в своей).

Лемма 5. Если матрица Nt = \0\Ft\ имеет тип F, то ранг rk(Nt) = 1. Если матрица Nt = \0\Gt\ имеет тип G, то она может быть отлична от 0 только в таких строках, в которых соответствующие строки из Dp,. .., Dpo пропорциональны.

Доказательство. В первом случае из (3) следует, что Nt = Dt и ранг

10

rk (Nt) = rk (Dt) = 1. Во втором случае из (2) имеем Dp: = Т,т = 0 и Dj

p=1

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

имеет ранг 1. Это значит, что все строки в ней пропорциональны. Поэтому в сумме

10

Лу^ ЩDp, с ненулевыми коэффициентами bp могут участвовать только те матрицы

p=1

Dp, у которых единственные ненулевые строки пропорциональны. Но тогда матрица Dp равна 0 во всех остальных строках, а поскольку Dp =0 и матрица Dt

имеет ранг 1, то и вся матрица Dt равна 0 во всех остальных строках. При этом и 10

матрица Nt = Dt—^~~^ bpDp равна 0 во всех остальных строках. Лемма доказана. □

p=1

Так как в P1, P2, P3, P4, P5 имеется 10 линейно независимых столбцов, из (4) и леммы 5 вытекает следующее утверждение.

Лемма 6. В матрицах N121 , . . . , N126 имеется 10 линейно независимых столбцов. В частности, среди N11, ..., N16 должно быть не менее 4 матриц типа G и, следовательно, не более 2 матриц типа F.

Пусть для j = 1, 2,..., 10 матрица Dj равна \pj\qj \ в j-й строке, где pj, qj -векторы размерности 2 (в остальных строках она равна 0). Для наглядности можно изображать набор матриц D1,..., D10 одной матрицей в виде

D1 : p1 q1

D2 : p2 q2

D10 : p10 q1o

Лемма 7. В каждой матрице Pi, i = 1, .. ., 5, в строке с номером j стоит вектор, пропорциональный вектору pj .

Это утверждение вытекает из второго равенства в (2).

Разобьем все 10 строк (или их номера) на классы эквивалентности T1, T2,... ,Ts так, что любые две строки с номерами r и l входят в один класс тогда и только тогда, когда векторы pr и pi пропорциональны (заметим, что все векторы pj = = (0, 0), поскольку матрицы Dp,..., Djo линейно независимы).

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

25

Определение 4. Пусть зафиксирован некоторый класс эквивалентности Tm. Тогда для любой матрицы K с 10 строками будем через K обозначать ее подматрицу, образованную строками из Tm, а через K - ее подматрицу, образованную остальными строками.

Лемма 8. Пусть Tm - любой класс эквивалентности. Тогда 5 матриц Pi, P2, Pз, P4, P5 линейно независимы.

Доказательство. Допустим, что Pi, P2, P3, P4, P5 линейно зависимы. Тогда можно взять невырожденную линейную комбинацию матриц Pi, P2, P3, P4, P5 так, что получится матрица Q, в которой Q = 0. При этом согласно лемме 7 в Q все строки (длины 2) будут пропорциональны, то есть матрица Q будет иметь ранг не более 1. Получаем, что в матрице P можно выполнить такое невырожденное линейное преобразование столбцов, что получится подматрица размера 10 х 2 ранга не более 1, то есть вся матрица будет вырожденной. Но это невозможно, поскольку P (по условию) - невырожденная матрица. Следовательно, утверждение леммы 8 верно (от противного). □

Лемма 9. Пусть Tm - любой класс эквивалентности. Тогда все 6 матриц =2 =2

N а,. .., N16 линейно независимы.

Доказательство. Согласно (4) все матрицы P1, P2, P3, P4, P5 являются

=2 =2 =

линейными комбинациями матриц Nц,..., Nie, причем по лемме 8 матрицы Pi,

P2, P3, P4, P5 линейно независимы. Следовательно, среди матриц Nц,..., Nie

есть не менее 5 линейно независимых. Допустим, что среди них максимум 5 ли-

=2 =2

нейно независимых. Тогда линейные комбинации матриц Nи,..., Nw дают то же

множество матриц, что и линейные комбинации матриц P i,... ,P 5 , и, следовательно, матрицы Nii, . . . , Ni6 являются линейными комбинациями матриц Pi , . . . , P5 .

Тогда по лемме 7 получаем, что для всех j </ Tm строки с номером j в матрицах

=2

N2i,..., N26 пропорциональны вектору pj. Если Ni =0 и Ni - матрица типа G,

то согласно лемме 5 Ni может быть отлична от 0 только в строках некоторого

=2

одного класса эквивалентности Ts (отличного от Tm, поскольку Ni =0). Причем

все строки в N2 будут пропорциональны одному и тому же вектору pj. Следо-=2

вательно, если Ni =0 и Ni - матрица типа G, то Ni имеет ранг 1. Поскольку

все матрицы типа F имеют ранг 1 (по лемме 5), получаем, что не менее 5 матриц _ =2

из Ni, i = 11,..., 16 имеют ранг 1 (те, у которых Ni = 0). Тогда у всех матриц

N, i = 11,..., 16 не более 7 линейно независимых столбцов. Это противоречит лемме 6. От противного получаем утверждение леммы 9. □

Следствие. Для любого класса эквивалентности Tm и любой матрицы Ni, _ =2

i = 11,..., 16, выполняется Ni = 0 .

По лемме 6 среди матриц Ni , i = 11, . . . , 16 есть хотя бы одна матрица N типа G . По лемме 5 она может отличаться от 0 только в строках некоторого одного класса эквивалентности Tm. Это означает, что для подматрицы N, построенной для класса эквивалентности Tm, выполняется N = 0. Если имеется более одного класса эквивалентности, то получаем противоречие со следствием. Если же имеется ровно один класс эквивалентности, то из леммы 7 следует, что в подматрице Pi матрицы P все строки (длины 2) пропорциональны, и, следовательно, она имеет

26

В.Б. АЛЕКСЕЕВ

ранг не более 1. Это противоречит невырожденности матрицы P. Получаем, что Случай 1 невозможен.

Случай 2. Среди матриц D\,..., Dj6 имеется 11 линейно независимых матриц. Не ограничивая общности, будем считать, что матрицы Dj,...,Dj1 линейно независимы, а матрицы D^,..., Dр6 являются их линейными комбинациями. Тогда из (1) вытекает, что существуют такие коэффициенты bp, kp (из рассматриваемого поля), что выполняются равенства

11 11

Dt bp Dp, t = 12,..., 16; Pi = J2 kDp, г = 1,..., 5. (5)

p=1 t=1

Из второго равенства в (5) следует, что все столбцы матрицы P являются линейными комбинациями столбцов матриц D11, . . . , D111 . Так как по условию матрица P невырожденная, то среди матриц первого ранга Dp,...,Dp1 есть 10 ненулевых матриц, построенных на 10 линейно независимых столбцах. Не ограничивая общности, будем считать, что матрицы Dp,..., Dj0 ненулевые и построены на 10 линейно независимых столбцах. Пусть в равенстве (5) среди kj1, kj1, kj1, kj1, кj1 есть отличные от 0. Будем считать, что это kj1. Тогда, вычитая P1 из P2, P3, P4, P5 с подходящими коэффициентами, можно для новых блоков получить

kp1 = kp1 = kp1 = kp1 = 0. (6)

По лемме 3 те же матрицы D1,..., D16 будут давать решение для полученной после вычитания блоков матрицы P', причем легко видеть, что матрица P' останется невырожденной. Мы можем считать, что мы изначально рассматриваем такую матрицу, то есть, что равенства (6) выполняются (если изначально все kp1, kp1, kp1, k41, kg1 равны 0, то это тоже выполняется).

Положим

11

Nt = Dt -^2 bp Dp, t =12,..., 16.

p=1

Тогда из первого равенства в (5) получаем, что Nt имеет вид Nt = |0|Nt2|, где Nt2 - подматрица размера 10 х 2.

Лемма 10. Если матрица является линейной комбинацией матриц Dp,. .., Dp6 и имеет вид |0|H|, то она является линейной комбинацией матриц N12,...,N16 .

16

Доказательство. Рассмотрим всевозможные линейные комбинации Е HtDt.

t=1

Векторы коэффициентов этих линейных комбинаций образуют 16-мерное линейное пространство. По условию среди матриц Dp,..., D^ ровно 11 линейно независимых матриц. Поэтому подпространство тех линейных комбинаций, для которых

16

^2^tDp = 0, имеет размерность 16 — 11 = 5. Но 5 линейных комбинаций

t=1

11

Dt —^2 bpDp, t = 12,..., 16, выражающих Nt, входят в это подпространство

p=p

и линейно независимы, поскольку каждое слагаемое D12, . . . , D16 входит ровно в одну из этих линейных комбинаций. Следовательно, они образуют базис в этом подпространстве. □

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

27

По определению решения задачи P все матрицы Pi2 являются линейными комбинациями матриц Di,..., Die, где Pi2 = |0|Pj|. Тогда по лемме 10 получаем, что 5 матриц Pi2, i = 1, . . . , 5, являются линейными комбинациями 5 матриц 7Vi2, ■ ■ ■, Ni6 . Но матрицы Pi2 , i = 1,..., 5, линейно независимы, поскольку матрицы Pi, i = 1,..., 5, линейно независимы как блоки невырожденной матрицы P. Поэтому матрицы N12,... ,Ni6, в свою очередь, выражаются как линейные комбинации матриц P12, P22, P32, P42, P52, то есть существуют такие константы lj , что

55

Nt = 52 lj Pj2, N2 =52 lj Pj, t = 12,..., 16. (7)

j=1 j=1

По условию линейными комбинациями матриц D1,..., D16 являются также все

11

матрицы Pi1 = |Pi|0|, а значит, и матрицы Pi1 — kjDt. Но из (5) следует, что

t=1

11 11

матрица Pi1 — k^Dt = P|0| — kl\Dt\Dt\ имеет вид |0|#|. По лемме 10 полу-

t=1 t=1

11

чаем, что все матрицы Pi1 — ^^ kjDt являются линейными комбинациями 5 матриц

t=1

N12,..., N16, а значит, согласно 7, и линейными комбинациями матриц Pj2 . С учетом (6) получаем, что для некоторых констант rj, j = 1,..., 5 для i = 2, 3, 4, 5 выполняется

10 5

Pn = 52 kD+52 rj Pj2. (8)

t=1 j=1

Если среди г!, Г3, Г4, rg есть не равные 0, то пусть, например, Г2 =0. Пусть тогда V3 = r^/r^. Если среди r\, r1, Г4, r5 все равны 0, то положим V3 = 0. В любом случае r1 — V3r\ = 0. Рассмотрим матрицы Q = P3 — V3P2 и Q1 = |Q|0| = = P31 — V3P21 (блоки ширины 2). Тогда из 8 получаем, что для некоторых констант k1,..., к 10, W2 , W3, W4, W5 выполняется равенство

10

Q1 = 52 ktDt + W2P22 + W3P32 + W4P42 + W5P52. (9)

t=1

В 3-м и 4-м столбцах равенство (9) дает 10

0 = £ ktDt + W2P2 + W3P3 + W4P4 + W5P5. (10)

t=1

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

Из равенств (5) и (6) следует, что все матрицы P2, P3, P4, P5 являются линейными комбинациями матриц D^,..., D^o. Поэтому из (10) получаем, что для некоторых констант h1,... ,Ню выполняется равенство

10 10 10

S>Dt2 + 52 htD1 = 52(ktD2 + htD1) = 0. (11)

t=1 t=1 t=1

Если для всех t = 1,..., 10 выполняется kt = 0, то из (9) в первых двух столбцах получаем Q = 0. Так как Q = P3 — V3P2, получаем, что блоки P2 и P3 в невырожденной матрице P линейно зависимы, что невозможно.

Значит, среди к1,..., к 10 есть ненулевые. Не ограничивая общности, пусть к1 = = 0 . Напомним, что мы выбрали 10 матриц D1, . . . , D10 ранга 1 так, что они построены на 10 линейно независимых столбцах. Следовательно, матрицы ktDt + htDj -

28

В.Б. АЛЕКСЕЕВ

это матрицы не более чем первого ранга, построенные на 10 линейно независимых столбцах. Тогда равенство (11) возможно, только если ktDt + htDj = 0 для всех

t = 1, ■ ■ ■ , 10. В частности,

kiDf + h\D{ = 0. (12)

Проделаем одновременно во всех матрицах Dt, разование над блоками

hi = hD + kD, H = Dt.

t

1, ■ ■ ■, 16, следующее преоб-

Определитель этого преобразования

h1

1

k1

0

kt = 0^ Поэтому это преобразо-

вание обратимое и по лемме 4 новые матрицы Ht = \Н\Н\, t = 1, ■ ■ ■, 16 дают решение Задачи P для той же невырожденной матрицы P. При этом из (12) следует, что Ht = 0.

Так как мы уже доказали, что Случай 1 невозможен, среди подматриц Ht, t = 1, ■ ■ ■, 16, должно быть ровно 11 линейно независимых. Поскольку Ht = 0, то Ht не входит в их число. Тогда по Hi будет строиться матрица типа N. В аналоге равенства (5) для H (сменится нумерация) все коэффициенты Ьрк будут равны 0, и, следовательно, для соответствующей матрицы N получим N = H и N будет матрицей ранга 1. Тогда 5 матриц Nt будут иметь не более 9 линейно независимых столбцов. Но согласно лемме 10 их линейными комбинациями должны являться все матрицы Pj2 = \0\Pj\, в которых 10 линейно независимых столбцов (ввиду невырожденности матрицы P).

Получаем, что Случай 2 также привел к противоречию. Поскольку полностью разобраны оба возможных случая, получаем, что для задачи умножения матрицы размера 5 х 2 на матрицу размера 2 х 2 над произвольным полем не существует билинейного алгоритма с 16 умножениями. Для других двух задач из теоремы 1 утверждение теоремы вытекает из равенства билинейной сложности для двойственных задач умножения матриц [11]. Теорема 1 полностью доказана. □

Выше отмечалось, что приближенная билинейная сложность задачи умножения матрицы размера 5 х 2 на матрицу размера 2 х 2 над произвольным полем не превышает 16 [9, 13]. С другой стороны, наилучший известный точный билинейный алгоритм для этой задачи имеет сложность 18 (надо дважды использовать алгоритм Штрассена), причем над полем из 2 элементов эту сложность понизить нельзя [12]. Если удастся показать, что точная билинейная сложность задачи умножения матрицы размера 5 х 2 на матрицу размера 2 х 2 над произвольным полем не меньше 18, это будет первым примером задачи об умножении матриц, в которой точная и приближенная билинейные сложности над произвольным полем различаются заведомо как минимум на 2.

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

Summary

V.B. Alekseev. On Bilinear Complexity of Multiplication of 5 x 2 Matrix by 2 x 2 Matrix.

In this paper we study bilinear complexity (i.e. the minimum number of multiplications without using commutativity of the elements) for the problem of multiplication of matrices of small size. We show that the bilinear complexity for the problem of multiplication of a 5 x 2 matrix by a 2 x 2 matrix is at least 17 for any field.

Keywords: matrix multiplication, algorithm, complexity, bilinear complexity.

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

29

Литература

1. Strassen V. Gaussian elimination is not optimal // Numer. Math. - 1969. - V. 13. - P. 354356. = Штрассен В. Алгоритм Гаусса не оптимален // Кибернетический сб. - М.: Мир, 1970. - Вып. 7. - С. 67-70.

2. Coppersmith D, Winograd S. Matrix Multiplication via Arithmetic Progressions //

J. Symbolic Computation. - 1990. - V. 9, No 3. - P. 251-280.

3. Burgisser P., Clausen M., Shokrollahi M.A. Algebraic complexity theory. - Berlin, Heidelberg: Springer, 1997. - 618 p.

4. Waksman A. On Winograd’s algorithm for inner products // IEEE Trans. Comput. -1970. - V. C-19. - P. 360-361.

5. Alekseyev V.B. On the complexity of some algorithms of matrix multiplication // J. Algorithms. - 1985. - V. 6, No 1. - P. 71-85.

6. Laderman J.D. A noncommutative algorithm for multiplying 3 x 3 matrices using 23 multiplications // Bull. Amer. Math. Soc. - 1976. - V. 82, No 1. - P. 126-128.

7. Blaser M. On the complexity of the multiplication of matrices of small formats // J. Complexity. - 2003. - V. 19. - P. 43-60.

8. Макаров О.М. Некоммутативный алгоритм умножения квадратных матриц пятого порядка, использующий сто умножений // Журн. вычисл. матем. и матем. физики. -1987. - Т. 27, № 2. - С. 311-315.

9. Смирнов А.В. О билинейной сложности и практических алгоритмах умножения матриц // Журн. вычисл. матем. и матем. физики. - 2013. - Т. 53, № 12. - С. 1970-1984.

10. Winograd S. On multiplication of 2 x 2 matrices // Linear Algebra Appl. - 1971. - V. 4. -P. 381-388.

11. Hopcroft J.E., Musinski J. Duality applied to the complexity of matrix multiplication and other bilinear forms // SIAM J. Comput. - 1973. - V. 2, No 3. - P. 159-173.

12. Hopcroft J.E., Kerr L.R. On minimizing the number of multiplications necessary for matrix multiplication // SIAM J. Appl. Math. - 1971. - V. 20, No 1. - P. 127-148.

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

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

15. Landsberg J.M. The border rank of the multiplication of 2x2 matrices is seven // J. Amer. Math. Soc. - 2006. - V. 19, No 2. - P. 447-459.

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

15.08.14

Алексеев Валерий Борисович - доктор физико-математических наук, профессор, заведующий кафедрой математической кибернетики, Московский государственный университет имени М.В. Ломоносова, г. Москва, Россия.

E-mail: [email protected]

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