Перемножение матриц в математике¶
Перемножение матриц — бинарная операция над двумя матрицами, результатом которой является новая матрица. В отличие от поэлементного сложения, умножение матриц определяется через сумму произведений элементов строк первой матрицы на соответствующие элементы столбцов второй. Операция лежит в основе линейной алгебры и широко применяется в математике, физике, экономике и информатике.
¶Определение
Пусть даны матрица \(A\) размера \(m \times n\) и матрица \(B\) размера \(n \times p\). Их произведением \(C = AB\) называется матрица размера \(m \times p\), элементы которой вычисляются по формуле:
\[ c_{ij} = \sum_{k=1}^{n} a_{ik} b_{kj} \]
где \(c_{ij}\) — элемент, стоящий в \(i\)-й строке и \(j\)-м столбце результата. Элемент \(c_{ij}\) равен скалярному произведению \(i\)-й строки матрицы \(A\) и \(j\)-го столбца матрицы \(B\).
Ключевое условие существования произведения: число столбцов первой матрицы должно совпадать с числом строк второй. Если \(A\) имеет размер \(m \times n\), то \(B\) обязана иметь размер \(n \times p\). В противном случае произведение не определено.
¶Пример
Пусть
\[ A = \begin{pmatrix} 1 & 2 \\ 3 & 4 \end{pmatrix}, \quad B = \begin{pmatrix} 5 & 6 \\ 7 & 8 \end{pmatrix}. \]
Тогда
\[ AB = \begin{pmatrix} 1\cdot5 + 2\cdot7 & 1\cdot6 + 2\cdot8 \\ 3\cdot5 + 4\cdot7 & 3\cdot6 + 4\cdot8 \end{pmatrix} = \begin{pmatrix} 19 & 22 \\ 43 & 50 \end{pmatrix}. \]
При этом \(BA = \begin{pmatrix} 23 & 34 \\ 31 & 46 \end{pmatrix}\), то есть \(AB \neq BA\).
¶Свойства
Умножение матриц обладает рядом характерных свойств:
- Ассоциативность: \((AB)C = A(BC)\) при согласованных размерах.
- Дистрибутивность: \(A(B + C) = AB + AC\) и \((A + B)C = AC + BC\).
- Некоммутативность: в общем случае \(AB \neq BA\). Равенство выполняется лишь для отдельных пар матриц (например, для диагональных).
- Связь с транспонированием: \((AB)^T = B^T A^T\).
- Связь с определителем: для квадратных матриц \(\det(AB) = \det A \cdot \det B\).
- Единичная матрица: \(AI = IA = A\), где \(I\) — единичная матрица подходящего размера.
- Нулевые произведения: из \(AB = 0\) не следует, что \(A = 0\) или \(B = 0\).
Отсутствие коммутативности — важнейшее отличие матричного умножения от умножения чисел.
¶Способы вычисления
¶Правило «строка на столбец»
Классический метод: каждый элемент результата получается как сумма произведений элементов строки и столбца. Трудоёмкость для матриц размера \(n \times n\) составляет \(O(n^3)\) арифметических операций.
¶Блочное умножение
Матрицы разбиваются на блоки (подматрицы), и умножение выполняется над блоками как над элементами. Метод удобен при работе с большими матрицами и в параллельных вычислениях.
¶Алгоритмы быстрого умножения
В 1969 году Фолькер Штрассен предложил алгоритм с асимптотикой около \(O(n^{2{,}807})\), что быстрее классического \(O(n^3)\). Позднее были найдены ещё более быстрые алгоритмы, однако на практике для умеренных размеров классический метод часто оказывается предпочтительнее из-за меньших накладных расходов.
¶Применение
- Решение систем линейных уравнений: метод Гаусса и обратная матрица опираются на матричные операции.
- Линейные преобразования: умножение матрицы на вектор описывает поворот, масштабирование, отражение в геометрии и компьютерной графике.
- Компьютерная графика и 3D-рендеринг: цепочки преобразований координат реализуются как произведения матриц.
- Машинное обучение: нейронные сети основаны на умножении матриц весов на векторы входных данных.
- Теория графов: матрицы смежности перемножаются для подсчёта числа путей заданной длины.
- Экономика: межотраслевые балансы (модель Леонтьева) используют матричные вычисления.
- Физика: квантовая механика оперирует матрицами операторов.
¶Вычислительные аспекты
На практике умножение больших матриц требует значительных ресурсов. Для ускорения применяются:
- Библиотеки линейной алгебры (BLAS, LAPACK), оптимизированные под конкретные процессоры.
- Параллельные вычисления на многоядерных процессорах и кластерах.
- Графические процессоры (GPU), эффективные для массовых однотипных операций.
- Кэш-оптимизация: порядок обхода элементов влияет на скорость из-за особенностей доступа к памяти.
В российских научных и инженерных расчётах матричные операции реализуются в том числе в отечественных вычислительных пакетах и библиотеках, применяемых в задачах моделирования и обработки данных.
¶Историческая справка
Понятие матрицы и правила действий с ними формировались в XIX веке. Артур Кэли в 1858 году опубликовал работу «A Memoir on the Theory of Matrices», где систематически изложил алгебру матриц, включая правило умножения. Джеймс Джозеф Сильвестр ввёл сам термин «матрица» в 1850 году. Матричное исчисление стало фундаментом для развития линейной алгебры, функционального анализа и квантовой теории.
¶Связанные понятия
- Обратная матрица \(A^{-1}\): существует, если \(\det A \neq 0\), и удовлетворяет \(AA^{-1} = A^{-1}A = I\).
- Скалярное произведение векторов — частный случай матричного умножения для векторов-строк и векторов-столбцов.
- Тензорное (кронекерово) произведение — иная операция над матрицами.
- След матрицы \(\operatorname{tr}(AB) = \operatorname{tr}(BA)\) — инвариант относительно перестановки множителей.
¶Источники
- Кэли А. A Memoir on the Theory of Matrices, 1858.
- Гантмахер Ф. Р. Теория матриц.
- Ильин В. А., Позняк Э. Г. Линейная алгебра.
- Кострикин А. И. Введение в алгебру.
- Strassen V. Gaussian Elimination is not Optimal, 1969.