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

Определитель Основы линейной алгебры

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

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

Как найти определитель

Мы начнем с матрицы A размером 3*3:

[[1,5,3],[2,4,7],[4,6,2]]

Попробуем найти ее определитель. Его обозначают так:

  • |A| — самый частый вариант
  • det(A) — такое обозначение тоже встречается, но реже

Далее мы по шагам разберем, как найти определитель.

Шаг 1: Выбираем опорную строку

Для начала выберем одну строку или столбец — это будет наша опорная строка. Это выбор не влияет на результат: мы получим один и тот же ответ независимо от того, какую строку или какой столбец выберем в качестве опоры.

В качестве опорной строки выберем первую строку нашего примера:

[[1,5,3]]

Шаг 2: Составляем новую матрицу

Теперь с помощью опорной строки нужно составить новую матрицу. Она будет размером 2*2, потому что мы вычеркиваем:

  • Саму опорную строку
  • Столбец, который содержит первый элемент опорной строки (он обозначается как a_11)

Новая матрица будет выглядеть так:

[[4,7],[6,2]]

Шаг 3: Находим минор

Выше мы не только выбрали опорную строку, но и выбрали элемент, с которым будет работать далее. Это a_11 — первый элемент первой строки.

Теперь нам нужно найти минор этого элемента. Минором называют определитель не всей матрицы, а ее части. В нашем случае a_11 — это одновременно:

  • И определитель матрицы 2*2
  • И минор матрицы 3*3

Как только мы найдем минор, нам будет намного проще найти полный определитель.

Чтобы найти минор, воспользуемся такой формулой:

(a*d) - (b*c)

Эта формула работает для такой матрицы:

[[a,b],[c,d]]

Применим формулу к нашему примеру:

(4 * 2) - (7 * 6) = -34

Это число -34 и есть минор.

Далее умножим полученный минор на выбранный элемент a_11. Получаем:

1*-34 = -34

Шаг 4: Определяем знак

На предыдущем шаге мы нашли минор. Теперь надо найти знак ответа. Для этого надо умножить:

  • Либо на 1
  • Либо на -1

На что умножать? Все зависит от того, где элемент был в матрице. Вот простая таблица знаков, чтобы отслеживать, какой элемент на что умножать:

[[+,-,+],[-,+,-],[+,-,+]]

Мы выбрали элемент a_11, отмеченный знаком +, поэтому мы умножаем число на 1. Ответ по-прежнему равен -34.

Шаг 5: Повторяем шаги для второго элемента опорной строки

Повторим этот процесс для второго элемента в опорной строке. Вернемся к исходной матрице 3*3:

[[1,5,3],[2,4,7],[4,6,2]]

Вспомним, что в качестве опорной строки мы выбрали первую строку нашего примера:

[[1,5,3]]

С первым элементом опорной строки мы уже поработали — это был элемент a_11. Возьмем следующий элемент — a_12 со значением 5.

Вычеркнем опорную строку и второй столбец, потому что он содержит a_12. Получится такая матрица 2*2:

[[2,7],[4,2]]

Найдем минор этой матрицы по формуле (a*d) - (b*c):

(2*2) - (7*4)= -24

Умножим минор на выбранный элемент матрицы — a_12:

-24 * 5 = -120

Определим знак по таблице знаков. Мы выбрали элемент a_12, который на таблице знаков имеет знак -. Мы должны изменить знак нашего ответа:

(-1)*(-120) = 120

Шаг 6: Повторяем шаги для третьего элемента опорной строки

Попробуйте самостоятельно повторить все те же шаги с третьим элементом (a_13 со значением 3):

  • Вычеркните из начальной матрицы опорную строку и третий столбец
  • Составьте новую матрицу 2 * 2
  • Найдите минор по формуле (a*d) - (b*c)
  • Умножьте минор на a_13
  • Определите знак по таблице

В итоге у вас должно получится -12.

Шаг 7: Складываем все значения

Последним шагом нужно сложить все значения:

(-34) + 120 + (-12) = 74

Таким образом, мы нашли определитель для нашей матрицы — это 74.

Как найти обратную матрицу через определитель

Продолжим работать с матрицей из примера выше:

[[1,5,3],[2,4,7],[4,6,2]]

Попробуем найти для нее обратную матрицу:

Шаг 1. Найдем определитель матрицы. В нашем случае он равен 74. Если определитель равен нулю, то работа закончена — матрица не имеет обратной величины

Шаг 2. Транспонируем исходную матрицу. Транспонировать — это отразить матрицу относительно главной диагонали. Когда мы транспонируем элементы матрицы, главная диагональ остается неизменной.

Есть и другой способ представить транспонирование:

  • Переписать первую строку как первый столбец
  • Вторую строку — как второй столбец
  • Третью строку — как третий столбец

Это похоже на то, что происходит со значками приложений на планшете, если повернуть планшет из горизонтального положения в вертикальное.

Возьмем нашу исходную матрицу:

[[1,5,3],[2,4,7],[4,6,2]]

И транспонируем ее:

[[1,2,4],[5,4,6],[3,7,2]]

Шаг 3. Вся предварительная работа сделана. Осталось только воспользоваться формулой для нахождения обратной матрицы через определитель.

Матрица миноров, который мы нашли ранее:

[[-34,8,23],[24,-10,-1],[-4,14,-6]]

Транспонируем ее:

[[-34,24,-4],[8,-10,14],[23,-1,-6]]

Найдем обратную матрицу:

A^(-1)=(C^(starT))/(det A) = 1/74 *[[-34,24,-4],[8,-10,14],[23,-1,-6]]

Готово:

A^(-1)=[[-34/74,8/74,23/74],[24/74,-10/74,-1/74],[-4/74,14/74,-6/74]]

Немного упростим:

A^(-1)=[[-17/37,4/37,23/74],[12/37,-5/37,-1/74],[-2/37,7/37,-3/37]]

Выводы

В этом уроке мы научились вычислять определитель и находить по нему обратную матрицу. Кратко повторим необходимые шаги.

Чтобы вычислить определитель матрицы 3 * 3, нужно:

  • Выбрать опорную строку
  • Вычеркнуть из начальной матрицы опорную строку и первый столбец
  • Составить новую матрицу 2 * 2
  • Найти минор по формуле (a*d) - (b*c)
  • Умножить минор на a_11
  • Определить знак по таблице
  • Вычеркнуть из начальной матрицы опорную строку и второй столбец
  • Составить новую матрицу 2 * 2
  • Найти минор по формуле (a*d) - (b*c)
  • Умножить минор на a_12
  • Определить знак по таблице
  • Вычеркнуть из начальной матрицы опорную строку и третий столбец
  • Составить новую матрицу 2 * 2
  • Найти минор по формуле (a*d) - (b*c)
  • Умножить минор на a_13
  • Определить знак по таблице
  • Сложить все получившиеся значения

Чтобы через определитель найти обратную матрицу, нужно:

  • Найти определитель матрицы
  • Транспонировать исходную матрицу
  • Воспользоваться формулой для нахождения обратной матрицы через определитель

Самостоятельная работа

Задача 1

Рассмотрим матрицу 3 * 3:

[[1,2,3],[4,5,6],[7,8,9]]

Найдите определитель этой матрицы.

Нажмите, чтобы увидеть ответ

Выберем в качестве опорной строки первую строку:

[[1,2,3]]

Вычеркнем опорную строку и первый столбец. Составим новую матрицу 2 * 2:

[[5,6],[8,9]]

Найдем минор по формуле (a*d) - (b*c):

(5*9) - (6*8) = -3

Умножим минор на выбранный элемент матрицы — a_11:

-3 * 1 = -3

Определим знак по таблице знаков. Выбранный элемент имеет знак +, значит, знак ответа менять не нужно.

Перейдем ко второй опорной строке:

[[4,5,6]]

Вычеркнем опорную строку и второй столбец, составим новую матрицу 2 * 2:

[[2,3],[8,9]]

Найдем минор:

(2*9) - (3*8) = -6

Умножим минор на выбранный элемент матрицы — a_12:

-6 * 2 = -12

Определим знак по таблице знаков: выбранный элемент имеет знак -, значит, знак ответа нужно изменить на противоположный.

Перейдем к последней опорной строке:

[[7,8,9]]

Вычеркнем опорную строку и третий столбец, составим новую матрицу 2 * 2:

[[2,3],[5,6]]

Найдем минор:

(2*6) - (3*5) = -3

Умножим минор на выбранный элемент матрицы — a_13:

-3 * 3 = -9

Определим знак по таблице знаков. Выбранный элемент имеет знак +, значит, знак ответа менять не нужно.

Сложим все получившиеся значения: -3 + 12 + (-9) = 0

Таким образом, определитель матрицы 3 * 3 равен 0.

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

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

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

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

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

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

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

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