Построение обратной матрицы

Материал из Викиконспекты
Перейти к: навигация, поиск
НЕТ ВОЙНЕ

24 февраля 2022 года российское руководство во главе с Владимиром Путиным развязало агрессивную войну против Украины. В глазах всего мира это военное преступление совершено от лица всей страны, всех россиян.

Будучи гражданами Российской Федерации, мы против своей воли оказались ответственными за нарушение международного права, военное вторжение и массовую гибель людей. Чудовищность совершенного преступления не оставляет возможности промолчать или ограничиться пассивным несогласием.

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

Эту войну начали не россияне, а обезумевший диктатор. И наш гражданский долг — сделать всё, чтобы её остановить.

Антивоенный комитет России

Распространяйте правду о текущих событиях, оберегайте от пропаганды своих друзей и близких. Изменение общественного восприятия войны - ключ к её завершению.
meduza.io, Популярная политика, Новая газета, zona.media, Майкл Наки.

Описание алгоритма

Пусть [math]A[/math] — исходная матрица. Тогда построим дополненную матрицу [math](A|E)[/math], где [math]E[/math] — единицная матрица соответсвующей размерности. Далее, в соответвии с преобразованиями Гаусса мы последовательно проходимся по всем строкам, вычитая из них линейные комбинации предыдущих. В итоге, мы получим матрицу [math](E|N)[/math], где [math]N[/math] — матрица, обратная к матрице [math]A[/math].

Псевдокод

  • [math]\mathtt{A}[/math] — исходная матрица.
  • [math]\mathtt{E}[/math] — единичная матрица.
  • [math]\mathtt{N}[/math] — обратная матрица.
function buildInverseMatrix(A: int[n][n])
   N = E
   for i = 0 to nonabs - 1
      if A[i][i] [math] \neq [/math] 1
         mul = A[i][i]
         for j = 0 to nonabs - 1
            A[i][j] /= mul
            N[i][j] /= mul
      for row = 0 to nonabs - 1
         if i [math] \neq [/math] row
            mul = E[row][i]
            for j = 0 to nonabs - 1
               A[row][j] -= mul * A[i][j]
               N[row][j] -= mul * N[i][j]
   return N

Источники информации