Заполните матрицы A и B выше и нажмите A × B. Кнопка неактивна, когда размеры не подходят, и рядом появляется подсказка, какие размерности должны совпасть. Откройте шаги, чтобы увидеть каждый элемент раскрытым в сумму произведений — ровно так, как вы записали бы это вручную. На той же вкладке есть сложение, вычитание и транспонирование, а вкладки Скаляры и Степень закрывают k·A и Aⁿ — всё разобрано ниже.
Правило размерностей
Чтобы умножить матрицу m×n на n×p, внутренние числа должны совпадать: столбцы A должны отвечать строкам B. Результат имеет размер m×p — внешние числа. Поэтому A × B может быть вполне корректным, тогда как B × A вообще не определено.
Правило «строка на столбец»
Элемент (i, j) произведения — это скалярное произведение строки i матрицы A на столбец j матрицы B:
c(i,j) = a(i,1)·b(1,j) + a(i,2)·b(2,j) + … + a(i,n)·b(n,j)
| 1 | 2 |
| 3 | 4 |
| 5 | 6 |
| 7 | 8 |
| 19 | 22 |
| 43 | 50 |
Проверьте первый элемент: 1·5 + 2·7 = 19. Каждый из четырёх элементов — своё маленькое скалярное произведение, и калькулятор выписывает все четыре разложения в панели шагов.
AB — это не BA
Умножение матриц некоммутативно. Часто BA даже не определено, а когда оба произведения существуют, это обычно разные матрицы. Смена порядка в произведении преобразований действительно меняет результат: повернуть, а потом отразить — не то же самое, что отразить, а потом повернуть. Нажмите обе кнопки на одной и той же паре и сравните.
Ещё одно предупреждение: A·B = 0 не означает, что A или B нулевая. У матриц, в отличие от обычных чисел, есть делители нуля.
Что всё же выполняется
- Ассоциативность:
(A·B)·C = A·(B·C) - Дистрибутивность:
A·(B + C) = A·B + A·C - Единица:
I·A = A·I = A - Транспонирование меняет порядок:
(A·B)ᵀ = Bᵀ·Aᵀ - Определители перемножаются:
det(A·B) = det(A)·det(B) - Ранг не может вырасти:
rang(A·B) ≤ min(rang(A), rang(B))
Сложение, вычитание и умножение на число
Сложение и вычитание ведут себя ровно так, как хочется: поэлементно, без сюрпризов. Обе матрицы должны иметь одинаковые размеры — 2×3 складывается только с другой 2×3 — и результат эти размеры сохраняет.
| 1 | 2 |
| 3 | 4 |
| 5 | 6 |
| 7 | 8 |
| 6 | 8 |
| 10 | 12 |
Поскольку операция идёт по позициям, сложение наследует привычную арифметику: A + B = B + A, и расстановка скобок в тройной сумме роли не играет. Это настоящий контраст с умножением. Вычитание — это сложение с противоположной матрицей, поэтому A − B равно A + (−1)·B, и порядок важен ровно в том обычном смысле, в каком 5 − 3 отличается от 3 − 5.
Умножение на скаляр растягивает каждый элемент на одно и то же число и вовсе не требует определённой формы. Одно следствие удивляет почти всех: умножение матрицы на k не умножает её определитель на k. Для матрицы n×n det(k·A) = kⁿ·det(A), потому что растягивается каждая из n строк и определитель умножается по разу за каждую. Удвоение матрицы 3×3 увеличивает её определитель в восемь раз. След, будучи простой суммой, ведёт себя ожидаемо: tr(k·A) = k·tr(A).
Транспонирование
Транспонирование отражает матрицу относительно главной диагонали: элемент из строки i, столбца j переходит в строку j, столбец i. Матрица m×n становится n×m, так что операция определена для любой формы. Столбец превращается в строку, и поэтому xᵀy — стандартная запись скалярного произведения.
| 1 | 2 | 3 |
| 4 | 5 | 6 |
| 1 | 4 |
| 2 | 5 |
| 3 | 6 |
Три тождества стоит запомнить. Двойное транспонирование возвращает исходную матрицу: (Aᵀ)ᵀ = A. У суммы транспонирование распределяется: (A + B)ᵀ = Aᵀ + Bᵀ. А у произведения оно меняет порядок: (A·B)ᵀ = Bᵀ·Aᵀ, а не Aᵀ·Bᵀ. Перестановку навязывают размеры — если A имеет размер 2×3, а B 3×4, то Aᵀ это 3×2, Bᵀ это 4×3, и согласуется только Bᵀ·Aᵀ. Матрицу, равную своей транспонированной, называют симметричной, и симметричные матрицы ведут себя на редкость хорошо: их собственные значения всегда вещественны, и именно к ним применимо разложение Холецкого.
Степени
Aⁿ означает умножить A на себя n раз и имеет смысл только для квадратных матриц. A⁰ — это единичная матрица, а не нулевая, и A¹ — это сама A.
| 1 | 1 |
| 0 | 1 |
| 1 | 2 |
| 0 | 1 |
| 1 | n |
| 0 | 1 |
Возведение в квадрат не поэлементное: правый верхний элемент равен 1·1 + 1·1 = 2, а не 1² = 1. Калькулятор использует бинарное возведение в степень, поэтому A¹⁶ стоит четырёх умножений, а не пятнадцати. Степени возникают везде, где процесс повторяется: в цепи Маркова, если P хранит вероятности перехода за один шаг, то Pⁿ хранит их за n шагов. В матрице смежности элемент (i, j) матрицы Aⁿ считает пути длины n из i в j. Для очень больших показателей диагонализуйте: если A = P·D·P⁻¹ с диагональной D, то Aⁿ = P·Dⁿ·P⁻¹, а это начинается с собственных значений.
Частые ошибки
- Умножать поэлементно. Умножение матриц — это не
a(i,j)·b(i,j). Такая операция есть — произведение Адамара — ноA × Bозначает не её. - Считать, что AB = BA. Умножение матриц некоммутативно.
- Делать вывод, что множитель нулевой.
A·B = 0не означает, что A или B нулевая. - Писать (A·B)ᵀ = Aᵀ·Bᵀ. Порядок меняется. Это самая частая ошибка с транспонированием.
- Возводить в степень каждый элемент. A² — это A·A, а не матрица квадратов. Совпадают они только у диагональных матриц.
- Прибавлять число к матрице. A + 3 не имеет смысла. Чтобы прибавить 3 по диагонали, прибавьте 3·I.