Какими свойствами обладает произведение матриц

Какими свойствами обладает произведение матриц thumbnail

Умноже́ние ма́триц — одна из основных операций над матрицами. Матрица, получаемая в результате операции умножения, называется произведе́нием ма́триц. Элементы новой матрицы получаются из элементов старых матриц в соответствии с правилами, проиллюстрированными ниже.

Матрицы и могут быть перемножены, если они совместимы в том смысле, что число столбцов матрицы равно числу строк .

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

Для квадратных матриц, помимо умножения, может быть введена операция возведения матрицы в степень и обратная матрица.

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

Определение[править | править код]

Пусть даны две прямоугольные матрицы и размерности и соответственно:

Тогда матрица размерностью :

в которой:

называется их произведением.

Операция умножения двух матриц выполнима только в том случае, если число столбцов в первом сомножителе равно числу строк во втором; в этом случае говорят, что матрицы согласованы. В частности, умножение всегда выполнимо, если оба сомножителя — квадратные матрицы одного и того же порядка.

Таким образом, из существования произведения вовсе не следует существование произведения

Иллюстрация[править | править код]

Произведение матриц AB состоит из всех возможных комбинаций скалярных произведений вектор-строк матрицы A и вектор-столбцов матрицы B. Элемент матрицы AB с индексами i, j есть скалярное произведение i-ой вектор-строки матрицы A и j-го вектор-столбца матрицы B.

Иллюстрация справа демонстрирует вычисление произведения двух матриц A и B, она показывает как каждые пересечения в произведении матриц соответствуют строкам матрицы A и столбцам матрицы B. Размер результирующей матрицы всегда максимально возможный, то есть для каждой строки матрицы A и столбца матрицы B есть всегда соответствующее пересечение в произведении матрицы.

Значения на пересечениях, отмеченных кружочками, будут:

В общем случае, произведение матриц не является коммутативной операцией. К примеру:

Элемент произведения матриц, приведённых выше, вычисляется следующим образом

Первая координата в обозначении матрицы обозначает строку, вторая координата — столбец; этот порядок используют как при индексации, так и при обозначении размера. Элемент на пересечении строки и столбца результирующей матрицы является скалярным произведением -й строки первой матрицы и -го столбца второй матрицы.
Это объясняет почему ширина и высота умножаемых матриц должны совпадать: в противном случае скалярное произведение не определено.

Обсуждение[править | править код]

Увидеть причины описанного правила матричного умножения легче всего, рассмотрев умножение вектора на матрицу.

Последнее естественно вводится исходя из того, что при разложении векторов по базису действие (любого) линейного оператора A даёт выражение компонент вектора v’ = Av:

То есть линейный оператор оказывается представлен матрицей, векторы — векторами-столбцами, а действие оператора на вектор — матричным умножением вектора-столбца слева на матрицу оператора (это частный случай матричного умножения, когда одна из матриц — вектор-столбец — имеет размер ).

(Равно переход к любому новому базису при смене координат представляется полностью аналогичным выражением, только в этом случае уже не компоненты нового вектора в старом базисе, а компоненты старого вектора в новом базисе; при этом  — элементы матрицы перехода к новому базису).

Рассмотрев последовательное действие на вектор двух операторов: сначала A, а потом B (или преобразование базиса A, а затем преобразование базиса B), дважды применив нашу формулу, получим:

откуда видно, что композиции BA действия линейных операторов A и B (или аналогичной композиции преобразований базиса) соответствует матрица, вычисляемая по правилу произведения соответствующих матриц:

Определённое таким образом произведение матриц оказывается совершенно естественным и очевидно полезным (даёт простой и универсальный способ вычисления композиций произвольного количества линейных преобразований).

Свойства[править | править код]

Сочетательное свойство, ассоциативность:

Распределительное свойство, дистрибутивность относительно сложения:

.

Произведение матрицы на единичную матрицу подходящего порядка равно самой матрице:

Произведение матрицы на нулевую матрицу подходящей размерности равно нулевой матрице:

Если и  — квадратные матрицы одного и того же порядка, то произведение матриц обладает ещё рядом свойств.

Умножение матриц в общем случае некоммутативно:

Если , то матрицы и называются коммутирующими между собой.

Простейшие примеры коммутирующих матриц:

Определитель и след произведения не зависят от порядка умножения матриц:

Обратная матрица[править | править код]

Квадратная матрица называется неособенной (невырожденной), если она имеет единственную обратную матрицу такую, что выполняется условие:

В противном случае матрица называется особенной (вырожденной).

Читайте также:  Какими свойствами обладает множество n натуральных чисел

Матрица порядка является невырожденной в том и только в том случае, если в этом случае есть квадратная матрица того же порядка

где  — алгебраическое дополнение элемента в определителе

Алгоритмы быстрого перемножения матриц[править | править код]

Сложность вычисления произведения матриц по определению составляет , однако существуют более эффективные алгоритмы[1], применяющиеся для больших матриц. Вопрос о предельной скорости умножения больших матриц, также как и вопрос о построении наиболее быстрых и устойчивых практических алгоритмов умножения больших матриц остаётся одной из нерешённых проблем линейной алгебры.

  • Алгоритм Штрассена (1969)

Первый алгоритм быстрого умножения больших матриц был разработан Фолькером Штрассеном[2] в 1969. В основе алгоритма лежит рекурсивное разбиение матриц на блоки 2Х2. Штрассен доказал, что матрицы 2Х2 можно некоммутативно перемножить с помощью семи умножений, поэтому на каждом этапе рекурсии выполняется семь умножений вместо восьми. В результате асимптотическая сложность этого алгоритма составляет . Недостатком данного метода является бо́льшая сложность программирования по сравнению со стандартным алгоритмом, слабая численная устойчивость и больший объём используемой памяти. Разработан ряд алгоритмов на основе метода Штрассена, которые улучшают численную устойчивость, скорость по константе и другие его характеристики. Тем не менее, в силу простоты алгоритм Штрассена остаётся одним из практических алгоритмов умножения больших матриц. Штрассен также выдвинул следующую гипотезу Штрассена: для сколь угодно малого существует алгоритм, при достаточно больших натуральных n гарантирующий перемножение двух матриц размера за операций.

  • Дальнейшие улучшения показателя степени ω для скорости матричного умножения

Хронология улучшения оценок показателя степени ω для скорости матричного умножения.

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

  • Алгоритм Пана (1978)

В 1978 Пан[3] предложил свой метод умножения матриц, сложность которого составила Θ(n2.78041).

  • Алгоритм Бини (1979)

В 1979 группа итальянских учёных во главе с Бини[4] разработала алгоритм умножения матриц с использованием тензоров. Его сложность составляет Θ(n2.7799).

  • Алгоритмы Шёнхаге (1981)

В 1981 Шёнхаге[5] представил метод, работающий со скоростью Θ(n2.695). Оценка получена с помощью подхода, названного частичным матричным умножением. Позже ему удалось получить оценку Θ(n2.6087).
Затем Шёнхаге на базе метода прямых сумм получил оценку сложности Θ(n2.548). Романи сумел понизить оценку до Θ(n2.5166), а Пан — до Θ(n2.5161).

  • Алгоритм Копперсмита — Винограда (1990)

В 1990 Копперсмит и Виноград[6] опубликовали алгоритм, который в модификации Вильямс Василевской[7]2011 года умножает матрицы со скоростью O(n2.3727). Этот алгоритм использует идеи, схожие с алгоритмом Штрассена. На сегодняшний день модификации алгоритма Копперсмита-Винограда являются наиболее асимптотически быстрыми. Но тот факт, что полученные улучшения ничтожны, позволяет говорить о существовании «барьера Копперсмита-Винограда» в асимптотических оценках скорости алгоритмов. Алгоритм Копперсмита-Винограда эффективен только на матрицах астрономического размера и на практике применяться не может.

  • Связь с теорией групп (2003)

В 2003 Кох и др. рассмотрели в своих работах[8] алгоритмы Штрассена и Копперсмита-Винограда в контексте теории групп. Они показали, что гипотеза Штрассена справедлива, если выполняется одна из гипотез теории групп[9].

Степени матриц[править | править код]

Квадратные матрицы можно многократно умножать сами на себя так же, как обычные числа, так как у них одинаковое число строк и столбцов.
Такое последовательное умножение можно назвать возведением матрицы в степень — это будет частный случай обычного умножения нескольких матриц. У прямоугольных матриц число строк и столбцов разное, поэтому их никогда нельзя возводить в степень.
Матрица A размерности n × n, возведённая в степень, определяется формулой

и обладает следующими свойствами (λ — некоторый скаляр):

Нулевая степень:

где E — единичная матрица. Это аналог того факта, что нулевая степень любого числа равна единице.

Умножение на скаляр:

Определитель:

Наивный способ вычисления степени матрицы — это умножать k раз матрицу A на результат предыдущего умножения, начиная с единичной матрицы, как это часто делают для скаляров.
Для диагонализируемых матриц существует лучший метод, основанный на использовании спектрального разложения матрицы A.
Ещё один метод, основанный на теореме Гамильтона — Кэли, строит более эффективное выражение для Ak, в котором в требуемую степень возводится скаляр, а не вся матрица.

Особый случай составляют диагональные матрицы.
Так как произведение диагональных матриц сводится к умножению соответствующих диагональных элементов, то k-ая степень диагональной матрицы A состоит из элементов, возведённых в требуемую степень:

Читайте также:  Какие бывают свойства действий

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

Используя умножение матриц и возведение матриц в степень, можно определить другие операции над матрицами. Например, матричная экспонента может быть определена через степенной ряд, матричный логарифм[en] — как обратная к матричной экспоненте функция и так далее.

См. также[править | править код]

  • Произведение Кронекера

Литература[править | править код]

  • Корн Г., Корн Т. Алгебра матриц и матричное исчисление // Справочник по математике. — 4-е издание. — М: Наука, 1978. — С. 392—394.

Примечания[править | править код]

  1. ↑ Кибернетический сборник. Новая серия. Вып. 25. Сб. статей 1983 — 1985 гг.: Пер. с англ. — М.: Мир, 1988 — В.Б. Алекссев. Сложность умножения матриц. Обзор.
  2. Strassen V. Gaussian Elimination is not Optimal (англ.) // Numer. Math / F. Brezzi — Springer Science+Business Media, 1969. — Vol. 13, Iss. 4. — P. 354—356. — ISSN 0029-599X; 0945-3245 — doi:10.1007/BF02165411
  3. ↑ Pan V. Ya, Strassen’s algorithm is not optimal — trilinear technique of aggregating uniting and canceling for constructing fast algorithms for matrix operations. — Proc. 19th Annual Symposium on Foundations of Computer Science, Ann Arbor, Mich., 1978
  4. ↑ Bini D., Capovani M., Lotti G., Romani F. — complexity for approximate matrix multiplication. — Inform. Process. Lett., 1979
  5. ↑ Schonhage A. Partial and total matrix multiplication. — SIAM J. Comput., 1981
  6. ↑ Don Coppersmith and Shmuel Winograd. Matrix multiplication via arithmetic progressions. Journal of Symbolic Computation, 9:251-280, 1990.
  7. ↑ Williams, Virginia (2011), Multiplying matices in O(n2.3727 time
  8. ↑ Group-theoretic Algorithms for Matrix Multiplication
  9. ↑ Toward an Optimal Algorithm for Matrix Multiplication (недоступная ссылка). Дата обращения 26 сентября 2009. Архивировано 31 марта 2010 года.

Источник

Произведение двух матриц

Определение 1

Произведение матриц (С= АВ) — операция только для согласованных матриц А и В, у которых число столбцов матрицы А равно числу строк матрицы В:

C⏟m×n=A⏟m×p×B⏟p×n

Пример 1

 Даны матрицы:

  • A=a(ij) размеров m×n;
  • B=b(ij) размеров p×n

Матрицу C, элементы cij которой вычисляются по следующей формуле:

cij=ai1×b1j+ai2×b2j+…+aip×bpj, i=1,…m, j=1,…m

Пример 2

Вычислим произведения АВ=ВА:

А=121012, В=100111

Решение, используя правило умножения матриц:

А⏟2×3×В⏟3×2=121012×100111=1×1+2×0+1×11×0+2×1+1×10×1+1×0+2×10×0+1×1+2×1==2323⏟2×2

В⏟3×2×А⏟2×3=100111×121012=1×1+0×01×2+0×11×1+0×20×1+1×00×2+1×10×1+1×21×1+1×01×2+1×11×1+1×2=121012133⏟3×3

Произведение АВ и ВА найдены, но являются матрицами разных размеров: АВ не равна ВА.

Свойства умножения матриц

Свойства умножения матриц:

  • (АВ)С = А(ВС) — ассоциативность умножения матриц;
  • А(В+С) = АВ + АС — дистрибутивность умножения;
  • (А+В)С = АС + ВС — дистрибутивность умножения;
  • λ(АВ)=(λА)В

Пример 1

Проверяем свойство №1: (АВ)С = А(ВС):

(А×В)×А=1234×5678×1002=19224350×1002=194443100,

А(В×С)=1234×56781002=1234×512716=194443100.

Пример 2

Проверяем свойство №2: А(В+С) = АВ + АС:

А×(В+С)=1234×5678+1002=1234×66710=20264658,

АВ+АС=1234×5678+1234×1002=19224350+1438=20264658.

Произведение трех матриц

Произведение трех матриц АВС вычисляют 2-мя способами:

  • найти АВ и умножить на С: (АВ)С;
  • либо найти сначала ВС, а затем умножить А(ВС).

​​​​​Пример 3

Перемножить матрицы 2-мя способами:

4375×-289338-126×7321

Алгоритм действий:

  • найти произведение 2-х матриц;
  • затем снова найти произведение 2-х матриц.

1). АВ=4375×-289338-126=4(-28)+3×384×93+3(-126)7(-28)+5×387×93+5(-126)=2-6-621

2). АВС=(АВ)С=2-6-6217321=2×7-6×22×3-6×1-6×7+21×2-6×3+21×1=2003.

Используем формулу АВС=(АВ)С:

1). ВС=-289338-1267321=-28×7+93×2-28×3+93×138×7-126×238×3-126×1=-10914-12

2). АВС=(АВ)С=7321-10914-12=4(-10)+3×144×9+3(-12)7(-10)+5×147×9+5(-12)=2003

Ответ: 4375-289338-1267321=2003

Умножение матрицы на число

Определение 2

Произведение матрицы А на число k — это матрица В=Аk того же размера, которая получена из исходной умножением на заданное число всех ее элементов:

bi,j=k×ai,j

Свойства умножения матрицы на число:

  • 1×А=А
  • 0×А=нулевая матрица
  • k(A+B)=kA+kB
  • (k+n)A=kA+nA
  • (k×n)×A=k(n×A)

Пример 4

Найдем произведение матрицы А=4290   на 5.

Решение:

5А=542905×45×25×95×0=2010450

Умножение матрицы на вектор

Определение 3

Чтобы найти произведение матрицы и вектора, необходимо умножать по правилу «строка на столбец»:

  • если умножить матрицу на вектор-столбец число столбцов в матрице должно совпадать с числом строк в векторе-столбце;
  • результатом умножения вектора-столбца является только вектор-столбец:

АВ=а11а12⋯а1nа21а22⋯а2n⋯⋯⋯⋯аm1аm2⋯аmnb1b2⋯b1n=a11×b1+a12×b2+⋯+a1n×bna21×b1+a22×b2+⋯+a2n×bn⋯⋯⋯⋯am1×b1+am2×b2+⋯+amn×bn=c1c2⋯c1m

  • если умножить матрицу на вектор-строку, то умножаемая матрица должна быть исключительно вектором-столбцом, причем количество столбцов должно совпадать с количеством столбцов в векторе-строке:

АВ=аа⋯аbb⋯b=a1×b1a1×b2⋯a1×bna2×b1a2×b2⋯a2×bn⋯⋯⋯⋯an×b1an×b2⋯an×bn=c11c12⋯c1nc21c22⋯c2n⋯⋯⋯⋯cn1cn2⋯cnn

Пример 5

Найдем произведение матрицы А и вектора-столбца В:

АВ=240-213-10112-1=2×1+4×2+0×(-1)-2×1+1×2+3×(-1)-1×1+0×2+1×(-1)=2+8+0-2+2-3-1+0-1=10-3-2

Пример 6

Найдем произведение матрицы А и вектора-строку В:

А=320-1, В=-1102

Решение:

АВ=3201×-1102=3×(-1)3×13×03×22×(-1)2×12×02×20×(-1)0×10×00×21×(-1)1×11×01×2=-3306-22040000-1102

Ответ: АВ=-3306-22040000-1102

Если вы заметили ошибку в тексте, пожалуйста, выделите её и нажмите Ctrl+Enter

Источник

2.3.1. Определение. Произведением строки A=(а1, а2, … аn) на столбец B=(b1, b2, … bn)T называется число a1b1+a2b2+…+anbn.

Это произведение обозначается через AB.

Например, если A=(1, 2, 4), B=(-1, 2, 3)Т, то

AB=(1, 2, 4) =1×(-1)+2×2+4×3=15.

Таким образом, по определению

(а1, а2, … аn) =a1b1+a2b2+…+anbn,

Читайте также:  На какие группы делятся все вещества по своим магнитным свойствам

то есть для того, чтобы строку умножить на столбец, необходимо, чтобы число элементов строки равнялось числу элементов столбца.

2.3.2. Определение. Произведением матрицы A=(aij)m´nна матрицу B=(bij)n´k называется матрица C=(cij)m´k, такая, что

cij=ai1b1j+ai2b2j+…+ainbnj.

Произведение матрицы A на матрицу B обозначается через AB.

Таким образом, AB=(ai1b1j+ai2b2j+…+ainbnj)m´n, то есть элемент cij произведения A на B получается как произведение iй строки (то есть строки под номером i) матрицы A на jй столбец (то есть столбца под номером j) матрицы B. В частности, для того, чтобы умножить матрицу A на матрицу B, необходимо, чтобы число элементов в строке матрицы A совпадало с числом элементов в столбцах матрицы B, что означает, что число столбцов первого сомножителя должно совпадать с числом строк второго. В противном случае произведение матриц не существует. При этом число строк произведения AB равно числу строк первой матрицы A, а число столбцов равно числу столбцов второй матрицы B. Так, произведение матрицы A=(aij)2´2 на матрицу B=(bij)2´2 является матрицей C=(cij)2´2 размерности 2´2:

= ;

а произведение матрицы A=(aij)2´2 на матрицу B=(bij)2´3 является матрицей C=(cij)2´3:

= .

Произведение B=(bij)2´3 на A=(aij)2´2 не существует, так как число 3 столбцов матрицы B не равно числу 2 строк матрицы A. Например, если A= , B= , C= , то

AB= = = ,

BA= = = ,

AC= = = ,

CA не определено (то есть не существует).

В частности, мы видим, что, вообще говоря, ABBA, то есть привычное для чисел правило «от перестановки мест сомножителей призведение не меняется» для матриц не работает.

2.3.3. Теорема. Операция произведения матриц обладает следующими свойствами:

1о. Вообще говоря, ABBA.

2о. Если произведения AB и BC определены, то определены также произведения (AB)C, A(BC) и при этом выполняется равенство

(AB)C=A(BC).

3о. Am´nЕn=ЕmAm´n=Am´n. В частности, если Aквадратная матрица порядка n, то =ЕA=A, где Eединичная матрица порядка n.

4о. Если AB определено, то для любого числа a произведения (aA)B,A(aB) также определены и имеют место равенства

a(AB)=(aA)B=A(aB).

5о. Если определено произведение A(B+C), то определены также произведения AB, AC и сумма AB+AC, и справедливо равенство

A(B+C)=AB+AC.

6о. Если определено произведение (A+B)C, то определены также произведения AC, BC и сумма AC+BC, и справедливо равенство

(A+B)C=AC+BC.

7о. Если определено произведение AB, то определено также произведение BTATи справедливо равенство

(AB)T=BTAT.

2.3.4. Перечисленные свойства естественным образом обобщаются. Например, как и в случае суммы, свойство 2о обобщается следующим образом:

2¢о. Если произведения A1A2, A2A3, …, Ak-1Ak, определены, то определено также произведение

(…((A1A2)A3)…Ak-1)Ak (2.2)

и результат произведения не зависит от расстановки скобок.

В силу этого в произведениях типа (2.2) скобки принято опускать:

A1A2…Ak (2.3)

Вообще, в произведении (2.3) определено произведение любого количества l друг за другом идущих матриц: AiAi+1…Ai+l-1. В силу свойства 1о результат произведения зависит от порядка следования сомножителей. Более того, при перестановке сомножителей произведение может быть вообще не определённым (то есть не существовать).

4¢о. Если определено произведение A1A2…Ak, то определены также произведения (aA1)A2…Ak, A1(aA2)…Ak, A1A2…(aAk), и имеют место равенства

(aA1)A2…Ak=A1(aA2)…Ak=…=A1A2…(aAk).

5¢о, 6¢о. Если определены произведения A(BB2±…±Bk) и (AA2±…±Ak)B, то определены соответственно произведения AB1, AB2, …, ABk и A1B, A2B, …, AkB и имеют место равенства

A(BB2±…±Bk)=ABAB2±…±ABk,

(AA2±…±Ak)B=A1B±A2B±…±AkB.

Здесь сочетания знаков «+» и «-» произвольные.

7¢о. Если произведение A1A2…Ak-1Ak определено, то определено также произведение и при этом имеет место равенство

(A1A2…Ak-1Ak)Т=.

2.3.5. Определение. Если A — квадратная матрица, то произведение называется kй степенью матрицы A и обозначается через Ak:

Ak= .

Источник