Умножение уравнения на обратную матрицу

Обратная матрица и её свойства

15 февраля 2018

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

Фишка в том, что само понятие обратного элемента (и я сейчас не только о матрицах) отсылает нас к операции умножения. Даже в школьной программе умножение считается сложной операцией, а уж умножение матриц — вообще отдельная тема, которой у меня посвящён целый параграф и видеоурок.

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

Повторение: умножение матриц

Прежде всего договоримся об обозначениях. Матрицей $A$ размера $\left[ m\times n \right]$ называется просто таблица из чисел, в которой ровно $m$ строк и $n$ столбцов:

Чтобы случайно не перепутать строки и столбцы местами (поверьте, на экзамене можно и единицу с двойкой перепутать — что уж говорить про какие-то там строки), просто взгляните на картинку:

Определение индексов для клеток матрицы

Что происходит? Если разместить стандартную систему координат $OXY$ в левом верхнем углу и направить оси так, чтобы они охватывали всю матрицу, то каждой клетке этой матрицы можно однозначно сопоставить координаты $\left( x;y \right)$ — это и будет номер строки и номер столбца.

Почему система координат размещена именно в левом верхнем углу? Да потому что именно оттуда мы начинаем читать любые тексты. Это очень просто запомнить.

А почему ось $x$ направлена именно вниз, а не вправо? Опять всё просто: возьмите стандартную систему координат (ось $x$ идёт вправо, ось $y$ — вверх) и поверните её так, чтобы она охватывала матрицу. Это поворот на 90 градусов по часовой стрелке — его результат мы и видим на картинке.

В общем, как определять индексы у элементов матрицы, мы разобрались. Теперь давайте разберёмся с умножением.

Определение. Матрицы $A=\left[ m\times n \right]$ и $B=\left[ n\times k \right]$, когда количество столбцов в первой совпадает с количеством строк во второй, называются .

Именно в таком порядке. Можно сумничать и сказать, мол, матрицы $A$ и $B$ образуют упорядоченную пару $\left( A;B \right)$: если они согласованы в таком порядке, то совершенно необязательно, что $B$ и $A$, т.е. пара $\left( B;A \right)$ — тоже согласована.

Умножать можно только согласованные матрицы.

Определение. $A=\left[ m\times n \right]$ и $B=\left[ n\times k \right]$ — это новая матрица $C=\left[ m\times k \right]$, элементы которой $<_>$ считаются по формуле:

Другими словами: чтобы получить элемент $<_>$ матрицы $C=A\cdot B$, нужно взять $i$-строку первой матрицы, $j$-й столбец второй матрицы, а затем попарно перемножить элементы из этой строки и столбца. Результаты сложить.

Да, вот такое суровое определение. Из него сразу следует несколько фактов:

  1. Умножение матриц, вообще говоря, некоммутативно: $A\cdot B\ne B\cdot A$;
  2. Однако умножение ассоциативно: $\left( A\cdot B \right)\cdot C=A\cdot \left( B\cdot C \right)$;
  3. И даже дистрибутивно: $\left( A+B \right)\cdot C=A\cdot C+B\cdot C$;
  4. И ещё раз дистрибутивно: $A\cdot \left( B+C \right)=A\cdot B+A\cdot C$.

Дистрибутивность умножения пришлось отдельно описывать для левого и правого множителя-суммы как раз из-за некоммутативности операции умножения.

Если всё же получается так, что $A\cdot B=B\cdot A$, такие матрицы называются перестановочными.

Среди всех матриц, которые там на что-то умножаются, есть особые — те, которые при умножении на любую матрицу $A$ снова дают $A$:

Определение. Матрица $E$ называется , если $A\cdot E=A$ или $E\cdot A=A$. В случае с квадратной матрицей $A$ можем записать:

Единичная матрица — частый гость при решении матричных уравнений. И вообще частый гость в мире матриц.:)

А ещё из-за этой $E$ кое-кто придумал всю ту дичь, которая будет написана дальше.

Что такое обратная матрица

Поскольку умножение матриц — весьма трудоёмкая операция (приходится перемножать кучу строчек и столбцов), то понятие обратной матрицы тоже оказывается не самым тривиальным. И требующим некоторых пояснений.

Ключевое определение

Что ж, пора познать истину.

Определение. Матрица $B$ называется , если

\[A\cdot B=B\cdot A=E\]

Казалось бы, всё предельно просто и ясно. Но при анализе такого определения сразу возникает несколько вопросов:

  1. Всегда ли существует обратная матрица? И если не всегда, то как определить: когда она существует, а когда — нет?
  2. А кто сказал, что такая матрица ровно одна? Вдруг для некоторой исходной матрицы $A$ найдётся целая толпа обратных?
  3. Как выглядят все эти «обратные»? И как, собственно, их считать?

Насчёт алгоритмов вычисления — об этом мы поговорим чуть позже. Но на остальные вопросы ответим прямо сейчас. Оформим их в виде отдельных утверждений-лемм.

Основные свойства

\[\begin & \left[ m\times n \right]\cdot \left[ a\times b \right]=\left[ m\times b \right] \\ & n=a \end\]

Это прямое следствие из алгоритма перемножения матриц: коэффициенты $n$ и $a$ являются «транзитными» и должны быть равны.

\[\begin & \left[ a\times b \right]\cdot \left[ m\times n \right]=\left[ a\times n \right] \\ & b=m \end\]

\[\begin & \left[ m\times n \right]=\left[ n\times m \right] \\ & m=n \end\]

Что ж, уже неплохо. Мы видим, что обратимыми бывают лишь квадратные матрицы. Теперь давайте убедимся, что обратная матрица всегда одна.

Доказательство. Пойдём от противного: пусть у матрицы $A$ есть хотя бы два экземпляра обратных —$B$ и $C$. Тогда, согласно определению, верны следующие равенства:

Из леммы 1 мы заключаем, что все четыре матрицы — $A$, $B$, $C$ и $E$ — являются квадратными одинакового порядка: $\left[ n\times n \right]$. Следовательно, определено произведение:

Поскольку умножение матриц ассоциативно (но не коммутативно!), мы можем записать:

Получили единственно возможный вариант: два экземпляра обратной матрицы равны. Лемма доказана.

Приведённые рассуждения почти дословно повторяют доказательство единственность обратного элемента для всех действительных чисел $b\ne 0$. Единственное существенное дополнение — учёт размерности матриц.

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

\[\left| A \right|\ne 0\]

Произведение двух чисел равно единице только в том случае, когда каждое из этих чисел отлично от нуля:

Вот и получается, что $\left| A \right|\ne 0$. Лемма доказана.

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

Но для начала сформулируем «вспомогательное» определение:

Определение. — это квадратная матрица размера $\left[ n\times n \right]$, чей определитель равен нулю.

Таким образом, мы можем утверждать, что всякая обратимая матрица является невырожденной.

Как найти обратную матрицу

Сейчас мы рассмотрим универсальный алгоритм нахождения обратных матриц. Вообще, существует два общепринятых алгоритма, и второй мы тоже сегодня рассмотрим.

Тот, который будет рассмотрен сейчас, очень эффективен для матриц размера $\left[ 2\times 2 \right]$ и — частично — размера $\left[ 3\times 3 \right]$. А вот начиная с размера $\left[ 4\times 4 \right]$ его лучше не применять. Почему — сейчас сами всё поймёте.

Алгебраические дополнения

Готовьтесь. Сейчас будет боль. Нет, не переживайте: к вам не идёт красивая медсестра в юбке, чулках с кружевами и не сделает укол в ягодицу. Всё куда прозаичнее: к вам идут алгебраические дополнения и Её Величество «Союзная Матрица».

Начнём с главного. Пусть имеется квадратная матрица размера $A=\left[ n\times n \right]$, элементы которой именуются $<_>$. Тогда для каждого такого элемента можно определить алгебраическое дополнение:

Где $M_^<*>$ — определитель матрицы, полученной из исходной $A$ вычёркиванием той самой $i$-й строки и $j$-го столбца.

Ещё раз. Алгебраическое дополнение к элементу матрицы с координатами $\left( i;j \right)$ обозначается как $<_>$ и считается по схеме:

  1. Сначала вычёркиваем из исходной матрицы $i$-строчку и $j$-й столбец. Получим новую квадратную матрицу, и её определитель мы обозначаем как $M_^<*>$.
  2. Затем умножаем этот определитель на $<<\left( -1 \right)>^>$ — поначалу это выражение может показаться мозговыносящим, но по сути мы просто выясняем знак перед $M_^<*>$.
  3. Считаем — получаем конкретное число. Т.е. алгебраическое дополнение — это именно число, а не какая-то новая матрица и т.д.

Важное замечание. Вообще-то во «взрослой» математике алгебраические дополнения определяются так:

  1. Берём в квадратной матрице $k$ строчек и $k$ столбцов. На их пересечении получится матрица размера $\left[ k\times k \right]$ — её определитель называется минором порядка $k$ и обозначается $<_>$.
  2. Затем вычёркиваем эти «избранные» $k$ строчек и $k$ столбцов. Снова получится квадратная матрица — её определитель называется дополнительным минором и обозначается $M_^<*>$.
  3. Умножаем $M_^<*>$ на $<<\left( -1 \right)>^>$, где $t$ — это (вот сейчас внимание!) сумма номеров всех выбранных строчек и столбцов. Это и будет алгебраическое дополнение.

Взгляните на третий шаг: там вообще-то сумма $2k$ слагаемых! Другое дело, что для $k=1$ мы получим лишь 2 слагаемых — это и будут те самые $i+j$ — «координаты» элемента $<_>$, для которого мы ищем алгебраическое дополнение.

Таким образом сегодня мы используем слегка упрощённое определение. Но как мы увидим в дальнейшем, его окажется более чем достаточно. Куда важнее следующая штука:

Определение. Союзная матрица $S$ к квадратной матрице $A=\left[ n\times n \right]$ — это новая матрица размера $\left[ n\times n \right]$, которая получается из $A$ заменой $<_>$ алгебраическими дополнениями $<_>$:

Первая мысль, возникающая в момент осознания этого определения — «это сколько же придётся всего считать!» Расслабьтесь: считать придётся, но не так уж и много.:)

Что ж, всё это очень мило, но зачем это нужно? А вот зачем.

Основная теорема

Вернёмся немного назад. Помните, в Лемме 3 утверждалось, что обратимая матрица $A$ всегда не вырождена (т.е. её определитель отличен от нуля: $\left| A \right|\ne 0$).

Так вот, верно и обратное: если матрица $A$ не вырождена, то она всегда обратима. И даже существует схема поиска $<^<-1>>$. Зацените:

. Пусть дана квадратная матрица $A=\left[ n\times n \right]$, причём её определитель отличен от нуля: $\left| A \right|\ne 0$. Тогда обратная матрица $<^<-1>>$ существует и считается по формуле:

А теперь — всё то же самое, но разборчивым почерком. Чтобы найти обратную матрицу, нужно:

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

\[\left[ \begin 3 & 1 \\ 5 & 2 \\\end \right]\]

Решение. Проверим обратимость. Посчитаем определитель:

\[\left| A \right|=\left| \begin 3 & 1 \\ 5 & 2 \\\end \right|=3\cdot 2-1\cdot 5=6-5=1\]

Определитель отличен от нуля. Значит, матрица обратима. Составим союзную матрицу:

Посчитаем алгебраические дополнения:

Обратите внимание: определители |2|, |5|, |1| и |3| — это именно определители матриц размера $\left[ 1\times 1 \right]$, а не модули. Т.е. если в определителях стояли отрицательные числа, убирать «минус» не надо.

Итого наша союзная матрица выглядит так:

Осталось посчитать обратную:

Ну вот и всё. Задача решена.

Ответ. $\left[ \begin<*<35>> 2 & -1 \\ -5 & 3 \\\end \right]$

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

\[\left[ \begin<*<35>> 1 & -1 & 2 \\ 0 & 2 & -1 \\ 1 & 0 & 1 \\\end \right]\]

Решение. Опять считаем определитель:

\[\begin & \left| \begin<*<35>> 1 & -1 & 2 \\ 0 & 2 & -1 \\ 1 & 0 & 1 \\\end \right|=\begin \left( 1\cdot 2\cdot 1+\left( -1 \right)\cdot \left( -1 \right)\cdot 1+2\cdot 0\cdot 0 \right)- \\ -\left( 2\cdot 2\cdot 1+\left( -1 \right)\cdot 0\cdot 1+1\cdot \left( -1 \right)\cdot 0 \right) \\\end= \\ & =\left( 2+1+0 \right)-\left( 4+0+0 \right)=-1\ne 0. \\ \end\]

Определитель отличен от нуля — матрица обратима. А вот сейчас будет самая жесть: надо посчитать аж 9 (девять, мать их!) алгебраических дополнений. И каждое из них будет содержать определитель $\left[ 2\times 2 \right]$. Полетели:

Короче, союзная матрица будет выглядеть так:

\[S=\left[ \begin 2 & -1 & -2 \\ 1 & -1 & -1 \\ -3 & 1 & 2 \\\end \right]\]

Следовательно, обратная матрица будет такой:

Ну и всё. Вот и ответ.

Ответ. $\left[ \begin<*<35>> -2 & -1 & 3 \\ 1 & 1 & -1 \\ 2 & 1 & -2 \\\end \right]$

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

Не ленитесь выполнять проверку. Умножьте исходную матрицу на найденную обратную — должна получиться $E$.

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

Альтернативный способ

Как я и говорил, теорема об обратной матрице прекрасно работает для размеров $\left[ 2\times 2 \right]$ и $\left[ 3\times 3 \right]$ (в последнем случае — уже не так уж и «прекрасно»), а вот для матриц больших размеров начинается прям печаль.

Но не переживайте: есть альтернативный алгоритм, с помощью которого можно невозмутимо найти обратную хоть для матрицы $\left[ 10\times 10 \right]$. Но, как это часто бывает, для рассмотрения этого алгоритма нам потребуется небольшая теоретическая вводная.

Элементарные преобразования

Среди всевозможных преобразований матрицы есть несколько особых — их называют элементарными. Таких преобразований ровно три:

  1. Умножение. Можно взять $i$-ю строку (столбец) и умножить её на любое число $k\ne 0$;
  2. Сложение. Прибавить к $i$-й строке (столбцу) любую другую $j$-ю строку (столбец), умноженную на любое число $k\ne 0$ (можно, конечно, и $k=0$, но какой в этом смысл? Ничего не изменится же).
  3. Перестановка. Взять $i$-ю и $j$-ю строки (столбцы) и поменять местами.

Почему эти преобразования называются элементарными (для больших матриц они выглядят не такими уж элементарными) и почему их только три — эти вопросы выходят за рамки сегодняшнего урока. Поэтому не будем вдаваться в подробности.

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

Присоединённая матрица

Наверняка в школе вы решали системы уравнений методом сложения. Ну, там, вычесть из одной строки другую, умножить какую-то строку на число — вот это вот всё.

Так вот: сейчас будет всё то же, но уже «по-взрослому». Готовы?

Определение. Пусть дана матрица $A=\left[ n\times n \right]$ и единичная матрица $E$ такого же размера $n$. Тогда $\left[ A\left| E \right. \right]$ — это новая матрица размера $\left[ n\times 2n \right]$, которая выглядит так:

Короче говоря, берём матрицу $A$, справа приписываем к ней единичную матрицу $E$ нужного размера, разделяем их вертикальной чертой для красоты — вот вам и присоединённая.:)

В чём прикол? А вот в чём:

Теорема. Пусть матрица $A$ обратима. Рассмотрим присоединённую матрицу $\left[ A\left| E \right. \right]$. Если с помощью элементарных преобразований строк привести её к виду $\left[ E\left| B \right. \right]$, т.е. путём умножения, вычитания и перестановки строк получить из $A$ матрицу $E$ справа, то полученная слева матрица $B$ — это обратная к $A$:

\[\left[ A\left| E \right. \right]\to \left[ E\left| B \right. \right]\Rightarrow B=<^<-1>>\]

Вот так всё просто! Короче говоря, алгоритм нахождения обратной матрицы выглядит так:

  1. Записать присоединённую матрицу $\left[ A\left| E \right. \right]$;
  2. Выполнять элементарные преобразования строк до тех пор, пока права вместо $A$ не появится $E$;
  3. Разумеется, слева тоже что-то появится — некая матрица $B$. Это и будет обратная;
  4. PROFIT!:)

Конечно, сказать намного проще, чем сделать. Поэтому давайте рассмотрим парочку примеров: для размеров $\left[ 3\times 3 \right]$ и $\left[ 4\times 4 \right]$.

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

\[\left[ \begin<*<35>> 1 & 5 & 1 \\ 3 & 2 & 1 \\ 6 & -2 & 1 \\\end \right]\]

Решение. Составляем присоединённую матрицу:

\[\left[ \begin 1 & 5 & 1 & 1 & 0 & 0 \\ 3 & 2 & 1 & 0 & 1 & 0 \\ 6 & -2 & 1 & 0 & 0 & 1 \\\end \right]\]

Поскольку последний столбец исходной матрицы заполнен единицами, вычтем первую строку из остальных:

\[\begin & \left[ \begin 1 & 5 & 1 & 1 & 0 & 0 \\ 3 & 2 & 1 & 0 & 1 & 0 \\ 6 & -2 & 1 & 0 & 0 & 1 \\\end \right]\begin \downarrow \\ -1 \\ -1 \\\end\to \\ & \to \left[ \begin 1 & 5 & 1 & 1 & 0 & 0 \\ 2 & -3 & 0 & -1 & 1 & 0 \\ 5 & -7 & 0 & -1 & 0 & 1 \\\end \right] \\ \end\]

Больше единиц нет, кроме первой строки. Но её мы не трогаем, иначе в третьем столбце начнут «размножаться» только что убранные единицы.

Зато можем вычесть вторую строку дважды из последней — получим единицу в левом нижнем углу:

\[\begin & \left[ \begin 1 & 5 & 1 & 1 & 0 & 0 \\ 2 & -3 & 0 & -1 & 1 & 0 \\ 5 & -7 & 0 & -1 & 0 & 1 \\\end \right]\begin \ \\ \downarrow \\ -2 \\\end\to \\ & \left[ \begin 1 & 5 & 1 & 1 & 0 & 0 \\ 2 & -3 & 0 & -1 & 1 & 0 \\ 1 & -1 & 0 & 1 & -2 & 1 \\\end \right] \\ \end\]

Теперь можно вычесть последнюю строку из первой и дважды из второй — таким образом мы «занулим» первый столбец:

\[\begin & \left[ \begin 1 & 5 & 1 & 1 & 0 & 0 \\ 2 & -3 & 0 & -1 & 1 & 0 \\ 1 & -1 & 0 & 1 & -2 & 1 \\\end \right]\begin -1 \\ -2 \\ \uparrow \\\end\to \\ & \to \left[ \begin 0 & 6 & 1 & 0 & 2 & -1 \\ 0 & -1 & 0 & -3 & 5 & -2 \\ 1 & -1 & 0 & 1 & -2 & 1 \\\end \right] \\ \end\]

Умножим вторую строку на −1, а затем вычтем её 6 раз из первой и прибавим 1 раз к последней:

\[\begin & \left[ \begin 0 & 6 & 1 & 0 & 2 & -1 \\ 0 & -1 & 0 & -3 & 5 & -2 \\ 1 & -1 & 0 & 1 & -2 & 1 \\\end \right]\begin \ \\ \left| \cdot \left( -1 \right) \right. \\ \ \\\end\to \\ & \to \left[ \begin 0 & 6 & 1 & 0 & 2 & -1 \\ 0 & 1 & 0 & 3 & -5 & 2 \\ 1 & -1 & 0 & 1 & -2 & 1 \\\end \right]\begin -6 \\ \updownarrow \\ +1 \\\end\to \\ & \to \left[ \begin 0 & 0 & 1 & -18 & 32 & -13 \\ 0 & 1 & 0 & 3 & -5 & 2 \\ 1 & 0 & 0 & 4 & -7 & 3 \\\end \right] \\ \end\]

Осталось лишь поменять местами строки 1 и 3:

\[\left[ \begin 1 & 0 & 0 & 4 & -7 & 3 \\ 0 & 1 & 0 & 3 & -5 & 2 \\ 0 & 0 & 1 & -18 & 32 & -13 \\\end \right]\]

Готово! Справа — искомая обратная матрица.

Ответ. $\left[ \begin<*<35>>4 & -7 & 3 \\ 3 & -5 & 2 \\ -18 & 32 & -13 \\\end \right]$

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

\[\left[ \begin 1 & 4 & 2 & 3 \\ 1 & -2 & 1 & -2 \\ 1 & -1 & 1 & 1 \\ 0 & -10 & -2 & -5 \\\end \right]\]

Решение. Снова составляем присоединённую:

\[\left[ \begin 1 & 4 & 2 & 3 & 1 & 0 & 0 & 0 \\ 1 & -2 & 1 & -2 & 0 & 1 & 0 & 0 \\ 1 & -1 & 1 & 1 & 0 & 0 & 1 & 0 \\ 0 & -10 & -2 & -5 & 0 & 0 & 0 & 1 \\\end \right]\]

Немного позалимаем, попечалимся от того, сколько сейчас придётся считать. и начнём считать. Для начала «обнулим» первый столбец, вычитая строку 1 из строк 2 и 3:

\[\begin & \left[ \begin 1 & 4 & 2 & 3 & 1 & 0 & 0 & 0 \\ 1 & -2 & 1 & -2 & 0 & 1 & 0 & 0 \\ 1 & -1 & 1 & 1 & 0 & 0 & 1 & 0 \\ 0 & -10 & -2 & -5 & 0 & 0 & 0 & 1 \\\end \right]\begin \downarrow \\ -1 \\ -1 \\ \ \\\end\to \\ & \to \left[ \begin 1 & 4 & 2 & 3 & 1 & 0 & 0 & 0 \\ 0 & -6 & -1 & -5 & -1 & 1 & 0 & 0 \\ 0 & -5 & -1 & -2 & -1 & 0 & 1 & 0 \\ 0 & -10 & -2 & -5 & 0 & 0 & 0 & 1 \\\end \right] \\ \end\]

Наблюдаем слишком много «минусов» в строках 2—4. Умножим все три строки на −1, а затем «выжжем» третий столбец, вычитая строку 3 из остальных:

\[\begin & \left[ \begin 1 & 4 & 2 & 3 & 1 & 0 & 0 & 0 \\ 0 & -6 & -1 & -5 & -1 & 1 & 0 & 0 \\ 0 & -5 & -1 & -2 & -1 & 0 & 1 & 0 \\ 0 & -10 & -2 & -5 & 0 & 0 & 0 & 1 \\\end \right]\begin \ \\ \left| \cdot \left( -1 \right) \right. \\ \left| \cdot \left( -1 \right) \right. \\ \left| \cdot \left( -1 \right) \right. \\\end\to \\ & \to \left[ \begin 1 & 4 & 2 & 3 & 1 & 0 & 0 & 0 \\ 0 & 6 & 1 & 5 & 1 & -1 & 0 & 0 \\ 0 & 5 & 1 & 2 & 1 & 0 & -1 & 0 \\ 0 & 10 & 2 & 5 & 0 & 0 & 0 & -1 \\\end \right]\begin -2 \\ -1 \\ \updownarrow \\ -2 \\\end\to \\ & \to \left[ \begin 1 & -6 & 0 & -1 & -1 & 0 & 2 & 0 \\ 0 & 1 & 0 & 3 & 0 & -1 & 1 & 0 \\ 0 & 5 & 1 & 2 & 1 & 0 & -1 & 0 \\ 0 & 0 & 0 & 1 & -2 & 0 & 2 & -1 \\\end \right] \\ \end\]

Теперь самое время «поджарить» последний столбец исходной матрицы: вычитаем строку 4 из остальных:

\[\begin & \left[ \begin 1 & -6 & 0 & -1 & -1 & 0 & 2 & 0 \\ 0 & 1 & 0 & 3 & 0 & -1 & 1 & 0 \\ 0 & 5 & 1 & 2 & 1 & 0 & -1 & 0 \\ 0 & 0 & 0 & 1 & -2 & 0 & 2 & -1 \\\end \right]\begin +1 \\ -3 \\ -2 \\ \uparrow \\\end\to \\ & \to \left[ \begin 1 & -6 & 0 & 0 & -3 & 0 & 4 & -1 \\ 0 & 1 & 0 & 0 & 6 & -1 & -5 & 3 \\ 0 & 5 & 1 & 0 & 5 & 0 & -5 & 2 \\ 0 & 0 & 0 & 1 & -2 & 0 & 2 & -1 \\\end \right] \\ \end\]

Финальный бросок: «выжигаем» второй столбец, вычитая строку 2 из строки 1 и 3:

\[\begin & \left[ \begin 1 & -6 & 0 & 0 & -3 & 0 & 4 & -1 \\ 0 & 1 & 0 & 0 & 6 & -1 & -5 & 3 \\ 0 & 5 & 1 & 0 & 5 & 0 & -5 & 2 \\ 0 & 0 & 0 & 1 & -2 & 0 & 2 & -1 \\\end \right]\begin 6 \\ \updownarrow \\ -5 \\ \ \\\end\to \\ & \to \left[ \begin 1 & 0 & 0 & 0 & 33 & -6 & -26 & -17 \\ 0 & 1 & 0 & 0 & 6 & -1 & -5 & 3 \\ 0 & 0 & 1 & 0 & -25 & 5 & 20 & -13 \\ 0 & 0 & 0 & 1 & -2 & 0 & 2 & -1 \\\end \right] \\ \end\]

И снова слева единичная матрица, значит справа — обратная.:)

Ответ. $\left[ \begin 33 & -6 & -26 & 17 \\ 6 & -1 & -5 & 3 \\ -25 & 5 & 20 & -13 \\ -2 & 0 & 2 & -1 \\\end \right]$

Ну вот и всё. Проверку сделайте сами — мне в лом.:)

Решение матричных уравнений

Финальная глава саги.

Линейная алгебра и, в частности, матрицы — это основа математики нейросетей. Когда говорят «машинное обучение», на самом деле говорят «перемножение матриц», «решение матричных уравнений» и «поиск коэффициентов в матричных уравнениях».

Понятно, что между простой матрицей в линейной алгебре и нейросетью, которая генерирует котов, много слоёв усложнений, дополнительной логики, обучения и т. д. Но здесь мы говорим именно о фундаменте. Цель — чтобы стало понятно, из чего оно сделано.

Краткое содержание прошлых частей:

  • Линейная алгебра изучает векторы, матрицы и другие понятия, которые относятся к упорядоченным наборам данных. Линейной алгебре интересно, как можно трансформировать эти упорядоченные данные, складывать и умножать, всячески обсчитывать и находить в них закономерности.
  • Вектор — это набор упорядоченных данных в одном измерении. Можно упрощённо сказать, что это последовательность чисел.
  • Матрица — это тоже набор упорядоченных данных, только уже не в одном измерении, а в двух (или даже больше).
  • Матрицу можно представить как упорядоченную сумку с данными. И с этой сумкой как с единым целым можно совершать какие-то действия. Например, делить, умножать, менять знаки.
  • Матрицы можно складывать и умножать на другие матрицы. Это как взять две сумки с данными и получить третью сумку, тоже с данными, только теперь какими-то новыми.
  • Матрицы перемножаются по довольно замороченному алгоритму. Арифметика простая, а порядок перемножения довольно запутанный.

И вот наконец мы здесь: если мы можем перемножать матрицы, то мы можем и решить матричное уравнение.

❌ Никакого практического применения следующего материала в народном хозяйстве вы не увидите. Это чистая алгебра в несколько упрощённом виде. Отсюда до практики далёкий путь, поэтому, если нужно что-то практическое, — посмотрите, как мы генерим Чехова на цепях Маркова.

Что такое матричное уравнение

Матричное уравнение — это когда мы умножаем известную матрицу на матрицу Х и получаем новую матрицу. Наша задача — найти неизвестную матрицу Х.

Шаг 1. Упрощаем уравнение

Вместо известных числовых матриц вводим в уравнение буквы: первую матрицу обозначаем буквой A, вторую — буквой B. Неизвестную матрицу X оставляем. Это упрощение поможет составить формулу и выразить X через известную матрицу.

Приводим матричное уравнение к упрощённому виду

Шаг 2. Вводим единичную матрицу

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

Можно представить, что есть число 100 — это «сто в первой степени», 100 1

И есть число 0,01 — это «сто в минус первой степени», 100 -1

При перемножении этих двух чисел получится единица:
100 1 × 100 -1 = 100 × 0,01 = 1.

Вот такое, только в мире матриц.

Зная свойства единичных и обратных матриц, делаем алгебраическое колдунство. Умножаем обе известные матрицы на обратную матрицу А -1 . Неизвестную матрицу Х оставляем без изменений и переписываем уравнение:

А -1 × А × Х = А -1 × В

Добавляем единичную матрицу и упрощаем запись:

А -1 × А = E — единичная матрица

E × Х = А -1 × В — единичная матрица, умноженная на исходную матрицу, даёт исходную матрицу. Единичную матрицу убираем

Х = А -1 × В — новая запись уравнения

После введения единичной матрицы мы нашли способ выражения неизвестной матрицы X через известные матрицы A и B.

💡 Смотрите, что произошло: раньше нам нужно было найти неизвестную матрицу. А теперь мы точно знаем, как её найти: нужно рассчитать обратную матрицу A -1 и умножить её на известную матрицу B. И то и другое — замороченные процедуры, но с точки зрения арифметики — просто.

Шаг 3. Находим обратную матрицу

Вспоминаем формулу и порядок расчёта обратной матрицы:

  1. Делим единицу на определитель матрицы A.
  2. Считаем транспонированную матрицу алгебраических дополнений.
  3. Перемножаем значения и получаем нужную матрицу.

Собираем формулу и получаем обратную матрицу. Для удобства умышленно оставляем перед матрицей дробное число, чтобы было проще считать.

Третье действие: получаем обратную матрицу

Шаг 4. Вычисляем неизвестную матрицу

Нам остаётся посчитать матрицу X: умножаем обратную матрицу А -1 на матрицу B. Дробь держим за скобками и вносим в матрицу только при условии, что элементы новой матрицы будут кратны десяти — их можно умножить на дробь и получить целое число. Если кратных элементов не будет — дробь оставим за скобками.

Решаем матричное уравнение и находим неизвестную матрицу X. Мы получили кратные числа и внесли дробь в матрицу

Шаг 5. Проверяем уравнение

Мы решили матричное уравнение и получили красивый ответ с целыми числами. Выглядит правильно, но в случае с матрицами этого недостаточно. Чтобы проверить ответ, нам нужно вернуться к условию и умножить исходную матрицу A на матрицу X. В результате должна появиться матрица B. Если расчёты совпадут — мы всё сделали правильно. Если будут отличия — придётся решать заново.

👉 Часто начинающие математики пренебрегают финальной проверкой и считают её лишней тратой времени. Сегодня мы разобрали простое уравнение с двумя квадратными матрицами с четырьмя элементами в каждой. Когда элементов будет больше, в них легко запутаться и допустить ошибку.

Проверяем ответ и получаем матрицу B — наши расчёты верны

Ну и что

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


источники:

http://thecode.media/matrix-equation/