Не ботай

Умножение матриц: строка на столбец и никакой магии

Матрицы умножаются не поэлементно, а «строка на столбец» — и это единственное, что нужно понять. Разбираем правило на пальцах и считаем полный пример.

Правило одной фразой

Элемент результата на месте (i,j)(i,\,j) — это строка ii первой матрицы, умноженная на столбец jj второй: перемножаем попарно и складываем.

cij=ai1b1j+ai2b2j++ainbnjc_{ij} = a_{i1}b_{1j} + a_{i2}b_{2j} + \dots + a_{in}b_{nj}

Осторожно

Умножение «каждый на каждого своего» — cij=aijbijc_{ij} = a_{ij} \cdot b_{ij} — это НЕ умножение матриц. Так студенты теряют баллы чаще всего.

Полный пример 2×2

Пример

A=(1234),B=(5678)A = \begin{pmatrix} 1 & 2 \\ 3 & 4 \end{pmatrix}, \qquad B = \begin{pmatrix} 5 & 6 \\ 7 & 8 \end{pmatrix}

Считаем ABAB по элементам. Верхний левый: первая строка AA на первый столбец BB:

c11=15+27=19c_{11} = 1 \cdot 5 + 2 \cdot 7 = 19

Верхний правый: первая строка на второй столбец: 16+28=221 \cdot 6 + 2 \cdot 8 = 22. Нижняя строка аналогично: 35+47=433 \cdot 5 + 4 \cdot 7 = 43 и 36+48=503 \cdot 6 + 4 \cdot 8 = 50.

AB=(19224350)AB = \begin{pmatrix} 19 & 22 \\ 43 & 50 \end{pmatrix}

А теперь наоборот:

BA=(51+6352+6471+8372+84)=(23343146)BA = \begin{pmatrix} 5 \cdot 1 + 6 \cdot 3 & 5 \cdot 2 + 6 \cdot 4 \\ 7 \cdot 1 + 8 \cdot 3 & 7 \cdot 2 + 8 \cdot 4 \end{pmatrix} = \begin{pmatrix} 23 & 34 \\ 31 & 46 \end{pmatrix}

ABBAAB \neq BA — порядок множителей менять нельзя.

Согласованность размеров

Произведение (m×n)(n×k)(m \times n) \cdot (n \times k) существует, только если внутренние размеры совпали, и результат имеет внешние размеры m×km \times k:

(2×3)(3×5)=2×5(2 \times \underline{3}) \cdot (\underline{3} \times 5) = 2 \times 5

Матрицу 2×32\times 3 на матрицу 2×32 \times 3 умножить нельзя — внутренние размеры 33 и 22 не совпадают.

Типичные ошибки

Частые вопросы

Когда матрицы вообще можно перемножить?

Когда ширина первой равна высоте второй: (m×n)·(n×k) = (m×k). Число столбцов A обязано совпасть с числом строк B, иначе произведение не определено.

Почему AB не равно BA?

Потому что в AB строки берутся из A, а в BA — из B: это разные вычисления. Иногда BA вообще не существует из-за размеров. Некоммутативность — нормальное свойство матриц, а не ошибка.

Как быстро проверить размер результата?

«Внешние» размеры остаются, «внутренние» схлопываются: (2×3)·(3×5) = 2×5. Если внутренние числа не совпали — умножения нет.

Есть ли матрица, умножение на которую ничего не меняет?

Да, единичная E — с единицами на диагонали. AE = EA = A, это матричный аналог умножения на единицу.

Связанные темы