К содержимому

Матричное умножение: строка встречает столбец

Как в учебнике

Если $A\in\mathbb R^{m\times n}$ и $B\in\mathbb R^{n\times p}$, произведение $AB\in\mathbb R^{m\times p}$ определяют формулой $(AB)_{ij}:=\sum_{k=1}^n A_{ik}B_{kj}$. Внутренние размеры $n$ должны совпасть. Для ячейки результата перемножают соответствующие элементы строки $i$ и столбца $j$, затем складывают.

Умножение матрицы на вектор-столбец — тот же случай при $p=1$. Операция отличается от поэлементного произведения: каждый выход обычно зависит от нескольких входных чисел. Менять множители местами без проверки нельзя: обратное произведение может иметь другой размер, другой результат или не быть определено.

В формуле индексы $i$ и $j$ определяют адрес результата, а $k$ перебирает слагаемые внутри одной ячейки. Его диапазон одинаков для выбранной строки и столбца благодаря совпадению внутренних размеров. При $n=1$ сумма содержит одно произведение, но правило остаётся тем же. Нулевые элементы дают нулевые вклады, однако их позиции и согласование размерностей сохраняются.

Определения и дальнейшее чтение: Mathematics for Machine Learning.

На пальцах

Умножение матриц похоже на набор рецептов: строка задаёт коэффициенты, а столбец приносит соответствующие количества. Попарные произведения складываются в один выход, после чего следующая строка задаёт новый рецепт. Совпадение внутренних размеров проверяет число позиций, но смысловая согласованность данных проверяется отдельно. Кухня способна вычислить заказ с перепутанными мукой и солью без философских возражений; совпадения адресов на упаковке мало.

Пример

В исходном учебном примере матрица с рядами $(1,2)$, $(0,1)$ умножается на столбец $(3,4)^{\mathsf T}$. Проверка размерностей предшествует вычислению двух выходов.

Матричное умножение: строка встречает столбец

Совместимые размеры

Внутренние двойки совпадают; результат будет столбцом из двух чисел.

Шаг 1 из 3: Совместимые размеры

Все шаги текстом
  1. Совместимые размеры

    Внутренние двойки совпадают; результат будет столбцом из двух чисел.

    A₁
    1текущий2текущий
    A₂
    0текущий1текущий
    x
    3текущий4текущий
  2. Первый выход

    Первая строка даёт 1 × 3 + 2 × 4 = 11.

    A₁
    1 × 3текущий2 × 4текущий
    y₁
    11текущий
  3. Второй выход

    Вторая строка даёт 0 × 3 + 1 × 4 = 4.

    A₂
    0 × 3текущий1 × 4текущий
    y
    11текущий4текущий

Первый выход 11 содержит вклад 3 от первого входа и вклад 8 от второго. Во втором выходе первая координата умножается на ноль, поэтому остаётся только 4. Результат хранит эти два выхода раздельно: складывать 11 и 4 между собой не нужно. Быстрая проверка формы тоже помогает: матрица с двумя строками и столбец дают столбец с двумя результатами, а не одно число и не таблицу из четырёх.

Дальше: Конечная сумма, Поэлементное произведение.

Авторский текст этой бесплатной статьи опубликован по лицензии CC BY-NC-ND 4.0.

Предыдущая / следующая

Предыдущая
Транспонирование: поменять строки и столбцы
Следующая
Предел последовательности
  • Натуральные числа: счёт отдельных объектов

    Какие значения подходят для счёта и почему включение нуля нужно оговаривать.

    Читать статью
    Математика
  • Целые числа: счёт по обе стороны нуля

    Положительные и отрицательные целые, ноль и граница целочисленного деления.

    Читать статью
    Математика
  • Рациональные числа: отношение целых

    Число как отношение целых: равные дроби и обязательный ненулевой знаменатель.

    Читать статью
    Математика