В этом видео мы посмотрим на альтернативные интерпретации умножения матриц. Давайте вспомним две матрицы, что мы умножали: 2, минус 1, 3; 1, 2, 4, матрицу размера два на три мы умножали на матрицу 1, 0, 4; минус 2, 1, минус 1; 3, 2, 0, матрицу размера три на три, и получали мы матрицу 13, 5, 9; 9, 10, 2, матрицу размера два на три. Обратим снова внимание, что соседние размеры были одинаковые. Число строк в правой матрице совпадает с числом столбцов в левой матрице. Давайте зададим вопрос: а как получить столбец j в ответе? И если мы вспомним логику наших действий, то она оказывается следующей: мы берем столбец j правой матрицы и трактуем его как веса. Например, если я хочу получить столбец 5, 10, я беру столбец 0, 1, 2, трактую его как веса w1, w2, w3, а потом записываю ответ, что j-й столбец интересующей нас матрицы надо с найденными весами взвесить столбцы левой матрицы. Первый столбец левой матрицы плюс второй вес на второй столбец матрицы, плюс третий вес на третий столбец матрицы. Естественно, если размеры матриц другие, весов будет побольше и столбцов у левой матрицы будет побольше. На всякий случай: это левая матрица, это правая матрица, а это матрица, которую мы получаем в результате умножения. Давайте сосредоточимся на конкретном элементе, например, на пятерочке. Это элемент из второго столбца и первой строки. Давайте посмотрим, как он был получен. Как получен элемент Aij? Сначала мы пишем строку, а затем столбец. Поскольку этот элемент лежит во втором столбце, то, соответственно, для его получения использовался второй столбец вектора R. Первое, что мы отвечаем: используем столбец j-й правой матрицы и трактуем его как некие веса. Однако нас интересует не столбец матрицы A целиком, а всего лишь одно число, первое число в этом векторе. Стало быть, чтобы получить первую компоненту вектора, то при сложении векторов нас будет интересовать только первая компонента. Но первая компонента в каждом столбце L, первая компонента будет приходить из первых компонент. Соответственно, с весами мы будем взвешивать на самом деле только первые компоненты каждого столбца. Поэтому получается, что столбец R мы используем как веса, а взвешиваем мы не вектора левой матрицы, а мы взвешиваем числа в первой строке, и взвешиваем числа в строке i-й (первой) от левой матрицы. Соответственно, получается, что, если нас интересует только один элемент в i-й строке и j-м столбце результата, нам достаточно скалярно умножить строку i матрицы L на столбец j матрицы R. В частности, например, если я хочу взять и, не считая остальные элементы, получить, скажем, девяточку, то, поскольку девяточка находится в первом столбце и во второй строке, я из матрицы R возьму первый столбец, из матрицы L возьму вторую строку, и, стало быть, в данном примере A21 окажется равным 1, 2, 4 (когда я выполняю скалярное произведение, мне неважно, записан вектор столбиком или строчкой) умножить на 1, минус 2, 3 и получится 1 на 1, минус 2 на 2, плюс 4 на 3, получится 9. Давайте еще раз посмотрим на полученный нами результат. Чтобы получить Aij, мы берем скалярное произведение i-й строки из левой матрицы и j-го столбца из правой матрицы. Это означает, что строки в левой матрице играют такую же роль, как столбцы в правой матрице. И получается, что я могу получать матрицу A не по столбцам, а по строчкам. Но для этого надо делать с левой матрицей то же, что я делаю с правой, и получается симметричная интерпретация. Как получить строку i ответа? И способ совершенно аналогичен сделанному нами, только строчки надо заменять на столбцы, а правую матрицу — на левую. Наш прошлый способ говорил: "Возьмите столбец R". Теперь возьмем строчку i-ю из L. Она на этот раз будет задавать веса w1, w2, w3. И, соответственно, строка i-я ответа: я буду с весами из левой матрицы брать строки из правой. Первую строчку из правой плюс вторую строчку с весом w2 из правой, и плюс снова вес из левой, а строчку — из правой. Давайте убедимся на примере какой-нибудь строки, что это работает. Возьмем, например, посчитаем вторую строчку ответа. Для этого мы возьмем веса из второй строки левой матрицы (веса будут один) и перебираем с заданными весами строки из правой матрицы: 1 умножить на 1, 0, 4, плюс 2 умножить на минус 2, 1, минус 1, плюс 4 умножить на 3, 2, 0. И получим: по первой компоненте 1 минус 4, плюс 12; по второй компоненте 2 плюс 8, по третьей компоненте 4 минус 2. И в результате получим 9, 10, 2 — ровно нужную строчку из матрицы A. И давайте, руководствуясь новыми правилами, попробуем что-нибудь теперь уже быстро перемножить. Давайте попробуем решить следующий пример. Попробуем строчку 5, 6, 7 умножить на столбец 1, 2, минус 1. Воспользуемся второй интерпретацией, что элемент матрицы равен скалярному произведению строки из левой матрицы на столбец из правой матрицы. У них как раз совпадает число элементов. Поэтому результат: берем строчку из левой, скалярно умножаем на столбец из правой. Получаем: 5 на 1, плюс 6 на 2, минус 7 на 1. Получаем, что результат — это всего лишь одно число 5 плюс 12, минус 7, получается 10. Или, например, можем умножить в другом порядке: 1, 2, минус 1 помножим на 5, 6, 7. Заметим, что в данном случае результат уже будет размера три на три. Чтобы получить первый-первый элемент, мы умножаем первую строчку на первый столбец, получаем пять. Чтобы получить второй элемент, мы умножаем первую строчку на второй столбец — шесть. Первую строчку на второй столбец — семь. Далее, вторую строчку на первый столбец — 10. Вторую строчку на второй столбец — 12. Вторую строчку на третий столбец — 14. Третью строчку на первый столбец — минус пять. Третью строчку на второй столбец — минус шесть. И третью строчку на третий столбец — минус семь. В этом видео мы научились умножать матрицы тремя различными способами, а в следующем видео мы обсудим, как решать систему уравнения с помощью матриц.