Умножение матриц в математике¶
Умножение матриц — это бинарная операция над двумя матрицами, результатом которой является новая матрица. В отличие от поэлементного сложения, умножение матриц определяется через скалярное произведение строк первой матрицы на столбцы второй. Операция является центральной в линейной алгебре и лежит в основе описания линейных преобразований, решения систем линейных уравнений, компьютерной графики, численных методов и машинного обучения.
¶Определение и условие выполнимости
Пусть даны матрица A размера m × n (m строк, n столбцов) и матрица B размера n × p. Произведением AB называется матрица C размера m × p, элементы которой вычисляются по формуле:
cᵢⱼ = Σₖ aᵢₖ · bₖⱼ, где суммирование ведётся по k от 1 до n.
Ключевое условие: число столбцов первой матрицы должно совпадать с числом строк второй. Если это не так, произведение не определено. Размер результирующей матрицы — «внешние» размеры сомножителей: m строк и p столбцов.
Произведение BA в общем случае может быть не определено (если p ≠ m) или иметь другой размер. Даже когда обе матрицы квадратные одного порядка, AB и BA, как правило, не равны.
¶Свойства
Операция умножения матриц обладает следующими свойствами:
- Ассоциативность: (AB)C = A(BC).
- Дистрибутивность: A(B + C) = AB + AC и (A + B)C = AC + BC.
- Нейтральный элемент: умножение на единичную матрицу E даёт ту же матрицу: AE = EA = A (для квадратных матриц согласованного порядка).
- Скаляр: (λA)B = λ(AB) = A(λB), где λ — число.
- Некоммутативность: AB ≠ BA в общем случае. Это принципиальное отличие от умножения чисел.
Существуют также особые случаи: произведение двух ненулевых матриц может дать нулевую матрицу. Это означает отсутствие делителей нуля в привычном смысле и отсутствие операции «деления» матриц (вместо неё используют обратную матрицу).
¶Способы вычисления
На практике применяют несколько подходов.
Правило «строка на столбец». Классическое определение: элемент cᵢⱼ равен сумме произведений элементов i-й строки A на соответствующие элементы j-го столбца B. Этот метод удобен для ручных вычислений матриц малого размера.
Представление по столбцам и строкам. Произведение можно трактовать как линейную комбинацию столбцов A с коэффициентами из столбцов B, либо как комбинацию строк B с коэффициентами из строк A.
Блочное умножение. Матрицы разбивают на блоки и перемножают их как элементы, если размеры блоков согласованы. Приём используется в численных алгоритмах и при работе с разреженными структурами.
Алгоритмы высокой производительности. Для больших матриц применяют алгоритм Штрассена (сложность порядка n^2,807 вместо n^3), а также оптимизированные библиотеки, использующие кэш-блокирование и параллельные вычисления.
¶Сложность вычислений
Наивный алгоритм требует O(m·n·p) скалярных умножений. Для квадратных матриц порядка n это O(n³). Алгоритм Штрассена (1969) снижает показатель степени, а последующие работы уменьшили его теоретическую оценку. Однако на практике для умеренных размеров чаще выигрывают хорошо оптимизированные «наивные» реализации за счёт лучшей работы с памятью.
¶Применение
Умножение матриц используется повсеместно:
- Линейные преобразования. Поворот, масштабирование, отражение и сдвиг в пространстве описываются матрицами; композиция преобразований соответствует произведению матриц. Это основа компьютерной графики и робототехники.
- Решение систем линейных уравнений. Метод Гаусса, LU-разложение и другие алгоритмы опираются на матричные операции.
- Цепи Маркова и динамика. Переходные вероятности за несколько шагов вычисляются возведением матрицы перехода в степень, то есть многократным умножением.
- Машинное обучение. Прямой проход нейронных сетей, вычисление градиентов и работа с тензорами сводятся к матричным произведениям, для которых созданы специализированные ускорители (GPU, TPU).
- Теория графов. Число путей заданной длины между вершинами выражается через степени матрицы смежности.
- Криптография и кодирование. Матричные операции применяются в некоторых схемах шифрования и помехоустойчивого кодирования.
¶История
Матричное исчисление сформировалось в середине XIX века. Понятие матрицы ввёл в оборот Джеймс Джозеф Сильвестр (1850), а правила умножения систематизировал Артур Кэли в работах 1850-х годов. Кэли показал, что матрицы образуют алгебру, и связал их с линейными преобразованиями и теорией определителей. В XX веке матричная алгебра стала рабочим инструментом физики (квантовая механика, где матрицы ввёл Вернер Гейзенберг), экономики (модель «затраты — выпуск» Василия Леонтьева) и вычислительной математики.
В России значительный вклад в теорию матриц и линейной алгебры внесли математики XIX–XX веков; матричные методы широко преподаются в курсах высшей математики технических и экономических специальностей.
¶Типичные ошибки
- Попытка перемножить матрицы несогласованных размеров.
- Предположение о коммутативности: AB ≠ BA в общем случае.
- Путаница порядка сомножителей при вычислении, что меняет результат.
- Ошибочное «поэлементное» умножение вместо матричного (для поэлементного существует отдельная операция — произведение Адамара).
¶Связанные понятия
С умножением тесно связаны определитель (det(AB) = det(A)·det(B)), след, обратная и транспонированная матрицы, а также правило (AB)ᵀ = BᵀAᵀ. Эти соотношения активно используются при доказательствах и в прикладных расчётах.
Источники: учебники по линейной алгебре (В. В. Воеводин, И. М. Гельфанд, Д. К. Фаддеев), классические работы А. Кэли, материалы по численным методам и алгоритму Штрассена.