Обновлено:
Умножение матриц онлайн
Перемножить матрицы вручную – рутинная и ошибкоёмкая работа, особенно при размерах от 3×3 и выше. Калькулятор ниже выполняет умножение за секунды, показывает результирующую матрицу и поддерживает произвольные размеры.
Результат: Матрица C
Как это посчитано (строка на столбец)?
Расчёт выполнен в браузере. Результат округлён до 4 знаков после запятой при необходимости.
Калькулятор выполняет вычисления на стороне браузера. Результаты носят справочный характер – для ответственных задач проверяйте вычисления независимым методом.
Когда матрицы можно перемножить?
Главное условие: число столбцов первой матрицы должно совпадать с числом строк второй.
Если матрица A имеет размер m×n, а матрица B – n×p, произведение A·B существует и даёт матрицу размера m×p.
A (m×n) · B (n×p) = C (m×p)
↑___↑
должны совпасть
Несколько примеров совместимости:
| Матрица A | Матрица B | Результат A·B | Результат B·A |
|---|---|---|---|
| 2×3 | 3×4 | 2×4 | – (недопустимо) |
| 3×3 | 3×3 | 3×3 | 3×3 |
| 1×4 | 4×1 | 1×1 (число) | 4×4 |
| 4×1 | 1×4 | 4×4 | 1×1 (число) |
Калькулятор автоматически проверяет совместимость. Если размеры не подходят, расчёт невозможен.
Правило строка на столбец: как работает алгоритм
Каждый элемент c(i,j) результирующей матрицы C – это скалярное произведение i-й строки матрицы A и j-го столбца матрицы B.
Формула:
$$c_{ij} = \sum_{k=1}^{n} a_{ik} \cdot b_{kj} = a_{i1}b_{1j} + a_{i2}b_{2j} + \ldots + a_{in}b_{nj}$$Другими словами: берёте строку из A, берёте столбец из B, умножаете попарно, складываете – получаете один элемент C.
Разобранный пример 2×2
$$A = \begin{pmatrix} 1 & 2 \\ 3 & 4 \end{pmatrix}, \quad B = \begin{pmatrix} 5 & 6 \\ 7 & 8 \end{pmatrix}$$Считаем каждый элемент C:
- c(1,1) – строка 1 × столбец 1: 1·5 + 2·7 = 5 + 14 = 19
- c(1,2) – строка 1 × столбец 2: 1·6 + 2·8 = 6 + 16 = 22
- c(2,1) – строка 2 × столбец 1: 3·5 + 4·7 = 15 + 28 = 43
- c(2,2) – строка 2 × столбец 2: 3·6 + 4·8 = 18 + 32 = 50
Пример 2×3 · 3×2
$$A = \begin{pmatrix} 1 & 0 & 2 \\ -1 & 3 & 1 \end{pmatrix}, \quad B = \begin{pmatrix} 3 & 1 \\ 2 & 1 \\ 1 & 0 \end{pmatrix}$$- c(1,1): 1·3 + 0·2 + 2·1 = 3 + 0 + 2 = 5
- c(1,2): 1·1 + 0·1 + 2·0 = 1 + 0 + 0 = 1
- c(2,1): (−1)·3 + 3·2 + 1·1 = −3 + 6 + 1 = 4
- c(2,2): (−1)·1 + 3·1 + 1·0 = −1 + 3 + 0 = 2
Свойства произведения матриц
Некоммутативность – ключевое отличие от умножения чисел. В общем случае A·B ≠ B·A. Иногда результаты отличаются, иногда B·A вообще не существует.
Ассоциативность – скобки не меняют результат: (A·B)·C = A·(B·C). Это важно при оптимизации вычислений: выгоднее сначала умножать меньшие матрицы.
Дистрибутивность – умножение раскладывается по сложению:
- A·(B + C) = A·B + A·C
- (A + B)·C = A·C + B·C
Единичная матрица E играет роль нейтрального элемента: A·E = E·A = A. Для матрицы 3×3 единичная выглядит так:
$$E = \begin{pmatrix} 1 & 0 & 0 \\ 0 & 1 & 0 \\ 0 & 0 & 1 \end{pmatrix}$$Нулевая матрица – аналог нуля: A·O = O·A = O. Но здесь есть ловушка: A·B = O не означает, что A = O или B = O (в отличие от обычных чисел).
Типичные ошибки при ручном счёте
Перепутан порядок: A·B и B·A – разные операции. Всегда проверяйте, какая матрица стоит первой.
Сдвиг при переходе к следующей строке: при ручном вычислении легко начать считать c(2,1) со второй строки B вместо первой. Удобно зачёркивать обработанные строки.
Ошибка в знаке при отрицательных элементах: знак минус теряется при умножении. Перепроверяйте каждое слагаемое.
Путаница размеров: результат A·B имеет столько строк, сколько у A, и столько столбцов, сколько у B – не наоборот.
Калькулятор принимает матрицы до 10×10. Элементы вводятся как целые числа или десятичные дроби (разделитель – точка или запятая). Результат отображается в виде матрицы с округлением до 4 знаков.
Где используется умножение матриц
Компьютерная графика – каждое преобразование объекта в 3D (поворот, масштабирование, перенос) записывается матрицей. Сложная анимация – это цепочка матричных умножений.
Машинное обучение – прямой проход нейронной сети сводится к последовательным умножениям матриц. Именно поэтому GPU, оптимизированные под матричные операции, стали основой глубокого обучения.
Системы линейных уравнений – запись Ax = b в матричной форме позволяет применять численные методы и находить решения через обратную матрицу: x = A⁻¹b.
Марковские цепи – вектор состояний системы после n шагов вычисляется возведением переходной матрицы в степень n, что само по себе – цепочка умножений.
Криптография – Hill cipher и ряд современных алгоритмов используют матричные преобразования над конечными полями.
Для разовых вычислений калькулятор даёт точный результат без риска арифметических ошибок. Для глубокого понимания метода – разберите пример 2×2 вручную по правилу строка на столбец, а затем проверьте калькулятором: это быстро закрепляет алгоритм.
Часто задаваемые вопросы
Когда умножение матриц возможно?
Матрицу A можно умножить на матрицу B только если число столбцов A равно числу строк B. Если A имеет размер m×n, а B – n×p, результат будет матрицей m×p. Если это условие не выполнено, произведение не определено.
Почему умножение матриц некоммутативно?
В общем случае A·B ≠ B·A. Причина – разные операции: в A·B строки A скалярно умножаются на столбцы B, а в B·A – наоборот. Кроме того, если A имеет размер m×n, а B – n×p, то B·A вообще может не существовать при m≠p.
Что такое скалярное произведение строки на столбец?
Это сумма попарных произведений элементов строки и столбца одинакового индекса. Для строки (a₁, a₂, a₃) и столбца (b₁, b₂, b₃) результат равен a₁·b₁ + a₂·b₂ + a₃·b₃. Именно это значение попадает в соответствующую ячейку матрицы-результата.
Как умножить матрицу на единичную?
Единичная матрица E – аналог единицы в обычной арифметике: A·E = E·A = A для любой квадратной матрицы A. Единичная матрица имеет единицы на главной диагонали и нули в остальных позициях.
Можно ли умножить матрицы разных размеров?
Да, если внутренние размеры совпадают. Матрица 2×3 умножается на 3×5 – результат 2×5. Матрица 3×2 на 2×3 тоже допустима – результат 3×3. А вот 2×3 на 2×3 – недопустимо, потому что 3 ≠ 2.
Чему равна сложность вычисления произведения матриц?
Классический алгоритм требует O(m·n·p) операций для матриц m×n и n×p. Для квадратных матриц n×n это O(n³). Существуют быстрые алгоритмы (Штрассена, Копперсмита–Винограда), снижающие степень, но они применяются при очень больших n.
Как умножение матриц связано с линейными преобразованиями?
Каждая матрица задаёт линейное преобразование пространства. Произведение матриц A·B соответствует последовательному применению двух преобразований: сначала B, затем A. Именно поэтому умножение некоммутативно – порядок применения преобразований важен.
Как умножить матрицу на число?
Умножение матрицы на скаляр (число) – отдельная операция: каждый элемент матрицы умножается на это число. Например, 3·[[1,2],[3,4]] = [[3,6],[9,12]]. Это не то же самое, что умножение двух матриц.