Решение матричных уравнений
Знакомимся с вектором Операции с векторами Векторы: третий уровень сложности Знакомство с матрицами Что такое обратная матрица
Решение матричных уравнений

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

При пере­мно­же­нии этих двух чисел полу­чит­ся еди­ни­ца:
1001 × 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. Пере­мно­жа­ем зна­че­ния и полу­ча­ем нуж­ную матрицу.

Формула вычисления обратной матрицы Фор­му­ла вычис­ле­ния обрат­ной матрицы 
Решение матричных уравнений Пер­вое дей­ствие. Мы посчи­та­ли опре­де­ли­тель и убе­ди­лись, что он не равен нулю, — это зна­чит, что у мат­рич­но­го урав­не­ния есть вари­ант реше­ния и мож­но продолжать 
Решение матричных уравнений Вто­рое дей­ствие, часть 1: полу­ча­ем мат­ри­цу миноров 
Решение матричных уравнений Вто­рое дей­ствие, часть 2: пере­во­дим мат­ри­цу мино­ров в транс­по­ни­ро­ван­ную мат­ри­цу алгеб­ра­и­че­ских дополнений 

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

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

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

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

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

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

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

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

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

Ну и что

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

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

Это­го коти­ка не суще­ству­ет, а мат­ри­цы — существуют. 

Текст:

Алек­сандр Бабаскин

Редак­ту­ра:

Мак­сим Ильяхов

Худож­ник:

Даня Бер­ков­ский

Кор­рек­тор:

Ири­на Михеева

Вёрст­ка:

Мария Дро­но­ва

Соц­се­ти:

Олег Веш­кур­цев