Зарегистрируйтесь, чтобы продолжить обучение

Обратная матрица Основы линейной алгебры

В этом уроке мы познакомимся еще с одной арифметической операцией — делением матриц. Вообще разделить одну матрицу на другую нельзя, но из этой ситуации есть выход — обратная матрица с линейным сокращением строк и определителем.

Как работает деление матриц

Представьте себе задачу, в которой надо разделить дробь на дробь:

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 = I
  • I становится 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]]

Для полного доступа к курсу нужен базовый план

Базовый план откроет полный доступ ко всем курсам, упражнениям и урокам Хекслета, проектам и пожизненный доступ к теории пройденных уроков. Подписку можно отменить в любой момент.

Получить доступ
1000
упражнений
2000+
часов теории
3200
тестов

Открыть доступ

Курсы программирования для новичков и опытных разработчиков. Начните обучение бесплатно

  • 130 курсов, 2000+ часов теории
  • 1000 практических заданий в браузере
  • 360 000 студентов
Отправляя форму, вы принимаете «Соглашение об обработке персональных данных» и условия «Оферты», а также соглашаетесь с «Условиями использования»

Наши выпускники работают в компаниях:

Логотип компании Альфа Банк
Логотип компании Aviasales
Логотип компании Yandex
Логотип компании Tinkoff