В этом уроке мы познакомимся еще с одной арифметической операцией — делением матриц. Вообще разделить одну матрицу на другую нельзя, но из этой ситуации есть выход — обратная матрица с линейным сокращением строк и определителем.
Как работает деление матриц
Представьте себе задачу, в которой надо разделить дробь на дробь:
1/2 ÷ 8/10
Этот пример можно упростить — заменить деление умножением на обратную дробь:
1/2 ÷ 8/10=1/2*10/8
Проведем вычисления дальше:
1/2*10/8=(1*10)/(2*8)=10/16=5/8=0.625
Это базовая обратная операция. То же самое мы можем делать с матрицами:
[[1,2],[3,4]]^(-1) = [[-2,1],[3/2,-1/2]]
Матрицы нельзя делить друг не друга, поэтому мы будем умножать на обратную матрицу. Далее мы по шагам рассмотрим, как вычислять обратную матрицу вручную, используя линейное сокращение строк и определители.
Линейное сокращение
Изучать деление мы начнем с деления случайной матрицы A на матрицу I:
[[3,0,2],[2,0,2],[0,1,1]] ÷ [[1,0,0],[0,1,0],[0,0,1]]
Обратите внимание, что эта матрица состоит из 0 и 1 на главной диагонали. Главная диагональ матрицы — это элементы с номерами 11, 22, 33 и так далее.
Теперь мы постараемся превратить матрицу A в такую, чтобы она имела 1 на диагонали и 0 в других местах — так мы проведем операцию деления. Матрица I тоже участвует в этом, с ней также выполняются все операции.
Здесь мы можем выполнять только эти элементарные операции со строками:
- Менять местами строки
- Умножать или делить каждый элемент строки на константу
- Заменить строку, прибавив или вычтя к ней кратное другой
Для начала запишем обе матрицы рядом:
[[3,0,2],[2,0,2],[0,1,1]] [[1,0,0],[0,1,0],[0,0,1]]
Теперь наша задача — это постепенно превратить матрицу слева в матрицу справа. Строчка за строчкой матрица справа превратится в обратную матрицу, которую мы и хотим найти.
Рассмотрим процесс по шагам.
Шаг 1. Первую строку делим на число 3:
[[1,0,2/3],[2,0,2],[0,1,1]][[1/3,0,0],[0,1,0],[0,0,1]]
Шаг 2. От второй строки отнимаем первую строку, умноженную на число 2:
[[1,0,2/3],[0,0,2/3],[0,1,1]][[1/3,0,0],[-2/3,1,0],[0,0,1]]
Шаг 3. Затем поменяем вторую и третью строку местами, при этом вторую строку делим на число 1:
[[1,0,2/3],[0,1,1],[0,0,2/3]][[1/3,0,0],[0,0,1],[-2/3,1,0]]
Шаг 4. Третью строку делим на число 2/3:
[[1,0,2/3],[0,1,1],[0,0,1]][[1/3,0,0],[0,0,1],[-1,1.5,0]]
Шаг 5. От первой строки отнимаем третью строку, умноженную на 2/3. От второй строки отнимаем третью строку, умноженную на 1:
[[1,0,0],[0,1,0],[0,0,1]][[1,-1,0],[1,-1.5,1],[-1,1.5,0]]
Шаг 6. Готово! Матрица A превратилась в матрицу I. В то же время матрица I превратилась в A^(-1):
A^(-1)=[[1,-1,0],[1,-1.5,1],[-1,1.5,0]]
Обратим внимание, что не существует «правильного способа» проводить такие операции. На каждом шаге мы выбирали самый выгодный способ упростить расчеты. Со временем вы научитесь замечать, как быстрее провести вычисления. Это приходит с практикой.
Почему это работает
Обратные матрицы можно воспринимать так:
- Представим, что мы превращаем
5в1путем деления на5и делаем то же самое с1 - В таком случае
1превращается в1/5, то есть в обратную величину от5
Математически это можно обозначить таким образом:
5 ÷ 5 = 5/5 = 1+1 ÷ 5 = 1/5+1/5— это обратная величина от5
Все это нас подводит к формальному определению:
Суммарный эффект от всех операций над строками такой же, как от умножения на
A^(-1)
Таким образом:
AстановитсяI, потому чтоA^(-1)*A = IIстановитсяA^(-1), потому чтоA^(-1) * I = A^(-1)
Выводы
В этом уроке мы изучили, как работают обратные матрицы. Теперь вы знаете, что деление матриц можно заменить на умножение на обратную матрицу. Еще мы научились проводить линейное сокращение, которое помогает упростить расчеты.
Здесь мы находили обратную величину вручную, но необязательно всегда делать именно так. То же самое можно делать и с помощью современного калькулятора.
Самостоятельная работа
По условию задачи у нас есть такая матрица:
A = [[4,6],[4,9]]
Найдите ее обратную матрицу.
Нажмите, чтобы увидеть ответ
Запишем обратную матрицу:
A^(-1) = [[4,6],[4,9]]^(-1)
Проведем вычисления:
[[4,6],[4,9]]^(-1)=1/(4*9-6*4)*[[9,-6],[-4,4]]=[[3/4,-1/2],[-1/3,1/3]]
Запишем ответ:
A^(-1) = [[3/4,-1/2],[-1/3,1/3]]
Для полного доступа к курсу нужен базовый план
Базовый план откроет полный доступ ко всем курсам, упражнениям и урокам Хекслета, проектам и пожизненный доступ к теории пройденных уроков. Подписку можно отменить в любой момент.