Открыть сервис

Умножение матриц в математике

Умножение матриц — это бинарная операция над двумя матрицами, результатом которой является новая матрица. В отличие от поэлементного сложения, умножение матриц определяется через скалярное произведение строк первой матрицы на столбцы второй. Операция является центральной в линейной алгебре и лежит в основе описания линейных преобразований, решения систем линейных уравнений, компьютерной графики, численных методов и машинного обучения.

Определение и условие выполнимости

Пусть даны матрица 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ᵀ. Эти соотношения активно используются при доказательствах и в прикладных расчётах.

Источники: учебники по линейной алгебре (В. В. Воеводин, И. М. Гельфанд, Д. К. Фаддеев), классические работы А. Кэли, материалы по численным методам и алгоритму Штрассена.