Приветствую Вас, уважаемые Читатели! Сегодня я хочу поговорить о теме, которая возникала, наверное, у каждого изучавшего матрицы в курсе алгебры. Почему мы так криво их умножаем? Это нужно для запутывания студентов? Это мировой заговор? Метод по-дебильному написан?
Однако, как бывает в математике, всё именно так, как нужно с точки зрения фундаментальных основ этой науки. Давайте разберемся с этим вопросом раз и навсегда.
Линейное отображение
Пусть нам дан вектор-столбец. Любое отображение мы можем представить как некий "черный ящик", который "проглатывает" вектор-столбец и "выплёвывает" новый:
Это отображение может быть абсолютно любым: "выплевывать" обратные значения, возвращать квадраты, возводить в степени, в конце концов, может вообще не изменить координаты. Нас же интересует один из конкретных случаев.
Первое свойство нужного нам отображения - аддитивность:
Второе - пропорциональность (условно):
Если для отображения выполняются эти два свойства, оно называется линейным. Давайте приведем самый простой пример.
Пусть функция нашего черного ящика заключается в том, что поданный на его вход вектор-столбец умножается на другой фиксированный вектор столбец:
Проверим свойства этого отображения. Первое:
Второе:
Значит, отображение "умножение на вектор-столбец" является линейным. Нам же интересно вот еще что: почему линейное отображение часто называют линейной трансформацией? Здесь нам необходимо перейти на плоскость и кое-что изобразить.
Линейная трансформация
Для начала вспомним, что такое базовые векторы.
Любой вектор можно разложить по координатам или по базисным векторам i и j, которые имеют единичную длины и сонаправлены с осями координат. Записанные вместе в матрицу 2х2, они трансформируют координаты любого вектора:
Ну как трансформируют...они оставляют его на том же месте! Однако же, мы можем подобрать другие значения матрицы линейного отображения, например, вот такие:
Что за трансформация произошла? Давайте нарисуем:
Вектор отразился относительно оси ординат. Здесь уже можно заметить, что начало координат осталось на том же месте - это верно для любых линейных трансформаций. Мы можем задать матрицу линейного преобразования, например, в таком виде:
С нашим вектором произошли уже серьезные изменения: он не только повернулся, но и изменил свою длину. Рассмотрев понятие матрицы линейного преобразования, мы уже вплотную подошли к тому, чтобы разобраться с матричным умножением.
Матричное умножение
Попробуем провернуть "двухэтапное" линейное преобразование для некоторого вектора:
Таким образом, наш вектор с помощью композиции преобразований изменился, но мы-то понимаем, что можно найти одну матрицу преобразований, которая сделает этот переход между двумя векторами!
Таким образом, мы можем объявить матрицу справа результатом умножения матрицу T₁ и T₂. Мы отработали линейные отображения просто не над произвольным вектором х, а над векторами i и j (можно считать, что они уже являются результатом преобразований привычных нам базисных векторов (0,1) и (1,0)).
Теперь можно проверить, ту ли матрицу преобразований мы нашли?
В общем виде правило умножения лучше записывать именно с помощью наших размышлений, а не как мнемоническое правило, применяемое студентами чаще всего бездумно:
Теперь понятно, почему умножение матриц некоммутативно? Легче всего это показать графически: пусть T₁ - матрица, задающая отражение относительно оси ОХ и T₂ - поворот на 90 градусов по часовой стрелке.
Как видно из рисунка, в общем случае умножение матриц чувствительно к порядку выполнения операций, хотя в частном случае можно подобрать такие матрицы, произведение которых коммутативно (например, взять любую матрицу и единичную матрицу).
Ну и напоследок. Почему обязательным условием умножения является равенство количества столбцов в первой матрице количеству строк во второй матрице? А вы попробуйте посчитать:
Впрочем, есть матричное умножение, которое происходит самым простым способом - строка на строку. Называется это умножение адамаровым и нередко используется. Впрочем, это уже совсем другая история.
- Спасибо за внимание!