Итак, в предыдущем уроке мы разобрали правила сложения и вычитания матриц. Это настолько простые операции, что большинство студентов понимают их буквально с ходу.
Однако вы рано радуетесь. Халява закончилась — переходим к умножению. Сразу предупрежу: умножить две матрицы — это вовсе не перемножить числа, стоящие в клеточках с одинаковыми координатами, как бы вы могли подумать. Тут всё намного веселее. И начать придётся с предварительных определений.
Одна из важнейших характеристик матрицы — это её размер. Мы уже сто раз говорили об этом: запись означает, что в матрице ровно строк и столбцов. Как не путать строки со столбцами, мы тоже уже обсуждали. Сейчас важно другое.
Определение. Матрицы вида и , в которых количество столбцов в первой матрице совпадает с количеством строк во второй, называются согласованными.
Ещё раз: количество столбцов в первой матрице равно количеству строк во второй! Отсюда получаем сразу два вывода:
Кроме того, капитан очевидность как бы намекает, что квадратные матрицы одинакового размера согласованы всегда.
В математике, когда важен порядок перечисления объектов (например, в рассмотренном выше определении важен порядок матриц), часто говорят об упорядоченных парах. Мы встречались с ними ещё в школе: думаю, и ежу понятно, что координаты и задают разные точки на плоскости.
Так вот: координаты — это тоже упорядоченные пары, которые составляются из чисел. Но ничто не мешает составить такую пару из матриц. Тогда можно будет сказать: «Упорядоченная пара матриц является согласованной, если количество столбцов в первой матрице совпадает с количеством строк во второй».
Ну и что с того?
Рассмотрим две согласованные матрицы: и . И определим для них операцию умножения.
Определение. Произведение двух согласованных матриц и — это новая матрица , элементы которой считаются по формуле:
Обозначается такое произведение стандартно: .
По-моему, тут всё очевидно. Дальше можно не читать. [на самом деле нет]
У тех, кто впервые видит это определение, сразу возникает два вопроса:
Что ж, обо всём по порядку. Начнём с первого вопроса. Что означают все эти индексы? И как не ошибиться при работе с реальными матрицами?
Прежде всего заметим, что длинная строчка для расчёта (специально поставил точку с запятой между индексами, чтобы не запутаться, но вообще их ставить не надо — я сам задолбался набирать формулу в определении) на самом деле сводится к простому правилу:
Данный процесс легко понять по картинке:
Ещё раз: фиксируем строку в первой матрице, столбец во второй матрице, перемножаем элементы с одинаковыми номерами, а затем полученные произведения складываем — получаем . И так для всех и . Т.е. всего будет таких «извращений».
На самом деле мы уже встречались с перемножением матриц в школьной программе, только в сильно урезанном виде. Пусть даны вектора:
Тогда их скалярным произведением будет именно сумма попарных произведений:
По сути, в те далёкие годы, когда деревья были зеленее, а небо ярче, мы просто умножали вектор-строку на вектор-столбец .
Сегодня ничего не поменялось. Просто теперь этих векторов-строк и столбцов стало больше.
Но хватит теории! Давайте посмотрим на реальные примеры. И начнём с самого простого случая — квадратных матриц.
Задача 1. Выполните умножение:
Решение. Итак, у нас две матрицы: и . Понятно, что они согласованы (квадратные матрицы одинакового размера всегда согласованы). Поэтому выполняем умножение:
Вот и всё!
Ответ: .
Задача 2. Выполните умножение:
Решение. Опять согласованные матрицы, поэтому выполняем действия:
Как видим, получилась матрица, заполненная нулями
Ответ: .
Из приведённых примеров очевидно, что умножение матриц — не такая уж и сложная операция. По крайней мере для квадратных матриц размера 2 на 2.
В процессе вычислений мы составили промежуточную матрицу, где прямо расписали, какие числа входят в ту или иную ячейку. Именно так и следует делать при решении настоящих задач.
В двух словах. Умножение матриц:
А теперь — всё то же самое, но более подробно.
Умножение матриц во многом напоминает классическое умножение чисел. Но есть отличия, важнейшее из которых состоит в том, что умножение матриц, вообще говоря, некоммутативно.
Рассмотрим ещё раз матрицы из задачи 1. Прямое их произведение мы уже знаем:
Но если поменять матрицы местами, то получим совсем другой результат:
Получается, что . Кроме того, операция умножения определена только для согласованных матриц и , но никто не гарантировал, что они останутся согласованными, если их поменять местами. Например, матрицы и вполне себе согласованы в указанном порядке, но те же матрицы и , записанные в обратном порядке, уже не согласованы. Печаль.:(
Среди квадратных матриц заданного размера всегда найдутся такие, которые дают одинаковый результат как при перемножении в прямом, так и в обратном порядке. Как описать все подобные матрицы (и сколько их вообще) — тема для отдельного урока. Сегодня не будем об этом.:)
Тем не менее, умножение матриц ассоциативно:
Следовательно, когда вам надо перемножить сразу несколько матриц подряд, совсем необязательно делать это напролом: вполне возможно, что некоторые рядом стоящие матрицы при перемножении дают интересный результат. Например, нулевую матрицу, как в Задаче 2, рассмотренной выше.
В реальных задачах чаще всего приходится перемножать квадратные матрицы размера . Множество всех таких матриц обозначается (т.е. записи и
Определение. Единичная матрица размера — это такая матрица , что для любой квадратной матрицы выполняется равенство:
Такая матрица всегда выглядит одинаково: на главной диагонали её стоят единицы, а во всех остальных клетках — нули.
Идём далее. Помимо ассоциативности умножение матриц ещё и дистрибутивно:
Другими словами, если нужно умножить одну матрицу на сумму двух других, то можно умножить её на каждую из этих «двух других», а затем результаты сложить. На практике обычно приходится выполнять обратную операцию: замечаем одинаковую матрицу, выносим её за скобку, выполняем сложение и тем самым упрощаем себе жизнь.:)
Заметьте: для описания дистрибутивности нам пришлось прописать две формулы: где сумма стоит во втором множителе и где сумма стоит в первом. Это происходит как раз из-за того, что умножение матриц некоммутативно (и вообще, в некоммутативной алгебре куча всяких приколов, которые при работе с обычными числами даже не приходят в голову). И если, допустим, вам на экзамене нужно будет расписать это свойство, то обязательно пишите обе формулы, иначе препод может немного разозлиться.
Ладно, всё это были сказки о квадратных матрицах. А что насчёт прямоугольных?
А ничего — всё то же самое, что и с квадратными.
Задача 3. Выполните умножение:
Решение. Имеем две матрицы: и . Выпишем числа, обозначающие размеры, в ряд:
Как видим, центральные два числа совпадают. Значит, матрицы согласованы, и их можно перемножить. Причём на выходе мы получим матрицу :
Всё чётко: в итоговой матрице 3 строки и 2 столбца. Вполне себе .
Ответ: .
Сейчас рассмотрим одно из лучших тренировочных заданий для тех, кто только начинает работать с матрицами. В нём нужно не просто перемножить какие-то две таблички, а сначала определить: допустимо ли такое умножение?
Рекомендую после прочтения задания не смотреть в решение, а сначала попробовать выполнить его самостоятельно. И затем сравнить с ответами.
Задача 4. Найдите все возможные попарные произведения матриц:
; ; .Решение. Для начала запишем размеры матриц:
Получаем, что матрицу можно согласовать лишь с матрицей , поскольку количество столбцов у равно 4, а такое количество строк только у . Следовательно, можем найти произведение:
Промежуточные шаги предлагаю выполнить читателю самостоятельно. Замечу лишь, что размер результирующей матрицы лучше определять заранее, ещё до каких-либо вычислений:
Другими словами, мы просто убираем «транзитные» коэффициенты, которые обеспечивали согласованность матриц.
Какие ещё возможны варианты? Безусловно, можно найти , поскольку , , поэтому упорядоченная пара является согласованной, а размерность произведения будет:
Короче говоря, на выходе будет матрица , коэффициенты которой легко считаются:
Очевидно, можно согласовать ещё и — и всё. Поэтому просто запишем полученные произведения:
Это было легко.:)
Ответ: ; ; ; .
Вообще, очень рекомендую выполнить это задание самостоятельно. И ещё одно аналогичное задание, которое есть в домашней работе. Эти простые на первый взгляд размышления помогут вам отработать все ключевые этапы умножения матриц.
Но на этом история не заканчивается. Переходим к частным случаям умножения.:)
Одной из самых распространённых матричных операций является умножение на матрицу, в которой одна строка или один столбец.
Определение. Вектор-столбец — это матрица размера , т.е. состоящая из нескольких строк и только одного столбца.
Вектор-строка — это матрица размера , т.е. состоящая из одной строки и нескольких столбцов.
На самом деле мы уже встречались с этими объектами. Например, обычный трёхмерный вектор из стереометрии — это не что иное как вектор-строка. С точки зрения теории разницы между строками и столбцами почти нет. Внимательными надо быть разве что при согласовании с окружающими матрицами-множителями.
Задача 5. Выполните умножение:
Решение. Перед нами произведение согласованных матриц: . Найдём это произведение:
Ответ: .
Задача 6. Выполните умножение:
Решение. Опять всё согласовано: . Считаем произведение:
На самом деле мне было в лом считать все эти три числа — посчитайте сами. А я просто запишу ответ.:)
Ответ: .
Как видите, при умножении вектор-строки и вектор-столбца на квадратную матрицу на выходе мы всегда получаем строку или столбец того же размера. Этот факт имеет множество приложений — от решения линейных уравнений до всевозможных преобразований координат (которые в итоге тоже сводятся к системам уравнений, но давайте не будем о грустном).
Думаю, здесь всё было очевидно. Переходим к заключительной части сегодняшнего урока.
Среди всех операций умножения отдельного внимания заслуживает возведение в степень — это когда мы несколько раз умножаем один и тот же объект на самого себя. Матрицы — не исключение, их тоже можно возводить в различные степени.
Такие произведения всегда согласованы:
И обозначаются точно так же, как и обычные степени:
На первый взгляд, всё просто. Посмотрим, как это выглядит на практике:
Задача 7. Возведите матрицу в указанную степень:
Решение. Ну ОК, давайте возводить. Сначала возведём в квадрат:
Вот и всё.:)
Ответ: .
Задача 8. Возведите матрицу в указанную степень:
Решение. Вот только не надо сейчас плакать по поводу того, что «степень слишком большая», «мир не справедлив» и «преподы совсем берега потеряли». На самом деле всё легко:
Заметьте: во второй строчке мы использовали ассоциативность умножения. Собственно, мы использовали её и в предыдущем задании, но там это было неявно.
Ответ: .
Как видите, ничего сложного в возведении матрицы в степень нет. Последний пример можно обобщить:
Этот факт легко доказать через математическую индукцию или прямым перемножением. Однако далеко не всегда при возведении в степень можно выловить подобные закономерности. Поэтому будьте внимательны: зачастую перемножить несколько матриц «напролом» оказывается проще и быстрее, нежели искать какие-то там закономерности.
В общем, не ищите высший смысл там, где его нет. В заключение рассмотрим возведение в степень матрицы большего размера — аж .
Задача 9. Возведите матрицу в указанную степень:
Решение. Не будем искать закономерности. Работаем «напролом»:
Для начала возведём эту матрицу в квадрат:
Теперь возведём в куб:
Вот и всё. Задача решена.
Ответ: .
Как видите, объём вычислений стал больше, но смысл от этого нисколько не поменялся.:)
На этом урок можно заканчивать. В следующий раз мы рассмотрим обратную операцию: по имеющемуся произведению будем искать исходные множители.
Как вы уже, наверное, догадались, речь пойдёт об обратной матрице и методах её нахождения.