Как найти обратную матрицу через метод гаусса

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

Матрица A−1 считается обратной для матрицы A, если при умножении A−1 на исходную матрицу получится новая матрица E, на главной диагонали которой расположены единицы, а вокруг них – нули. Образованная матрица E является единичной диагональной матрицей и может быть записана с помощью формулы: E=A×A−1.

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

Наиболее наглядно обратная матрица рассматривается на примере матрицы 3×3. Ее возможно обобщить с аналогичными произвольными матрицами. 

Осторожно! Если преподаватель обнаружит плагиат в работе, не избежать крупных проблем (вплоть до отчисления). Если нет возможности написать самому, закажите тут.

Свойства обратных матриц

  1. Обратное значение обратной матрицы A−1 эквивалентно исходной матрице A: (A−1)−1=A.
  2. Определитель исходной матрицы A соответствует обратному значению детерминанта обратной матрицы A−1: |A|=1/|A−1|.
  3. Матрица, обратная матрице A, умноженной на коэффициент λ≠0, равна значению, полученному при умножении обратной матрицы A−1 и обратного значения коэффициента λ, то есть (λ×A)−1=A−1/λ.
  4. Обратное значение произведения обратимых матриц A и B с одинаковым числом строк и столбцов будет равно значению, полученному при умножении матриц, обратных исходным, то есть (A×B)−1=B−1×A−1.
  5. Обратная матрица транспонированной матрицы эквивалентна транспонированной обратной матрице (A−1)T=(AT)−1.

Метод Гаусса для решения

Метод Гаусса – это правило, применяющееся в решении СЛАУ (систем линейных алгебраических уравнений). Данный метод имеет следующие плюсы:

  1. Не нужно производить проверку системы уравнения на совместность.
  2. Можно решать системы уравнений со следующими условиями:
  • при равенстве числа определителей и неизвестных переменных;
  • при несовпадении количества детерминантов и неизвестных переменных;
  • при определителе, равном 0.
  1. Ответ можно получить, выполнив относительно небольшое число вычислений.

Алгоритм решения

Исходная матрица имеет вид:

(A=begin{pmatrix}1&2\3&5end{pmatrix})

Нахождение обратной матрицы по правилу Гаусса необходимо выполнить в такой последовательности:

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

(left(begin{array}{cc}1&2\3&5end{array}left|begin{array}{cc}1&0\0&1end{array}right.right))

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

(left(begin{array}{cc}1&2\3&5end{array}left|begin{array}{cc}0&1\1&0end{array}right.right))

3. Выполним умножение верхней строки матрицы на 3 и вычтем полученные произведения из нижней:

(left(begin{array}{cc}1&2\0&-1end{array}left|begin{array}{cc}0&1\1&-3end{array}right.right))

4. Данный шаг правила Гаусса именуют методом Жордана-Гаусса. В единичной диагонали, полученной в итоге предыдущих манипуляций, обнулим верхние правые элементы. Обнуление производится путем сложения верхней и удвоенной нижней строк:

(left(begin{array}{cc}1&0\0&-1end{array}left|begin{array}{cc}2&-5\1&-3end{array}right.right))

Теперь выполним деление нижней строки на −1:

(left(begin{array}{cc}1&0\0&1end{array}left|begin{array}{cc}2&-5\-1&3end{array}right.right))

Инверсия исходной матрицы A, будет выглядеть так:

(A^{-1}=begin{pmatrix}2&-5\-1&3end{pmatrix})

Решение задач методом Гаусса

Пример

Найти инверсию матрицы третьего порядка:

(A=begin{pmatrix}2&3&7\1&-5&2\3&-1&9end{pmatrix})

Решение:

1. Запишем справа от A единичную диагональную матрицу:

(left(begin{array}{ccc}2&3&7\1&-5&2\3&-1&9end{array}left|begin{array}{ccc}1&0&0\0&1&0\0&0&1end{array}right.right))

Теперь необходимо выполнить преобразования, чтобы единичная диагональная матрица оказалась справа.

2. Первую и вторую строку поменяем местами:

(left(begin{array}{ccc}1&-5&2\2&3&7\3&-1&9end{array}left|begin{array}{ccc}0&1&0\1&0&0\0&0&1end{array}right.right))

3. Вторую строку суммируем с первой, умноженной на −2. Третью строку сложим с первой, умноженной на −3:

(left(begin{array}{ccc}1&-5&2\0&13&3\0&14&3end{array}left|begin{array}{ccc}0&1&0\1&-2&0\0&-3&1end{array}right.right))

4. Вторую сложим с третьей строкой, умноженной на −1:

(left(begin{array}{ccc}1&-5&2\0&-1&0\0&14&3end{array}left|begin{array}{ccc}0&1&0\1&1&-1\0&-3&1end{array}right.right))

5. Выполним умножение второй строки на −1:

(left(begin{array}{ccc}1&-5&2\0&1&0\0&14&3end{array}left|begin{array}{ccc}0&1&0\-1&-1&1\0&-3&1end{array}right.right))

6. Первую строку сложим с рядом чисел, полученных при умножении второй строки на 5. К третьей строке прибавим вторую строку, умноженную на −14:

(left(begin{array}{ccc}1&0&2\0&1&0\0&0&3end{array}left|begin{array}{ccc}-5&-4&5\-1&-1&1\14&11&-13end{array}right.right))

7. Произведем деление третьей строки на 3:

(left(begin{array}{ccc}1&0&2\0&1&0\0&0&1end{array}left|begin{array}{ccc}-5&-4&5\-1&-1&1\frac{14}3&frac{11}3&frac{-13}3end{array}right.right))

8. Сложим первую строку с умноженной на −2 третьей:

(left(begin{array}{ccc}1&0&0\0&1&0\0&0&1end{array}left|begin{array}{ccc}frac{-43}3&frac{-34}3&frac{41}3\-1&-1&1\frac{14}3&frac{11}3&frac{-13}3end{array}right.right))

Значит, инверсия матрицы A равна:

(A^{-1}=begin{pmatrix}frac{-43}3&frac{-34}3&frac{41}3\-1&-1&1\frac{14}3&frac{11}3&frac{-13}3end{pmatrix})

Автор статьи

Наталья Игоревна Восковская

Эксперт по предмету «Математика»

Задать вопрос автору статьи

Определение 1

Обратной матрицей матрицы $A$ называют такую матрицу $A^{-1}$, при умножении которой на исходную матрицу в качестве результата получается единичная диагональная матрица $E$, то есть матрица, на главной диагонали которой стоят единицы, а вокруг нули.

$A cdot A^{-1} = E$

Обратные матрицы существуют только для квадратных и невырожденных матриц.

Квадратная матрица – это матрица, у которой количество строк и столбцов одинаково.

Вырожденной называют квадратную матрицу, определитель которой $det(A)$ равен нулю.

Свойства обратных квадратных невырожденных матриц

  • Определитель матрицы $A$ равен обратному значению определителя для матрицы $A^{-1}$:
    $det(A) = frac {1}{det(A^{-1})}$;
  • Обратное значение произведения двух квадратных обратимых матриц $A$ и $B$ равно произведению двух обратных им матриц:
    $(A cdot B)^{-1} = A^{-1} cdot B^{-1}$;
  • Обратная матрица транспонированной матрицы равна транспонированной обратной матрице:
    $(A^T)^{-1} = (A^{-1})^T$;
  • Единичная обратная матрица равна единичной матрице:
    $E = E^{-1}$;
  • Обратная матрица матрицы $A$, умноженной на коэффициент $k$, не равный нулю, равна произведению обратной матрицы
    $A^{-1}$ и обратного значения коэффициента $k$:

Логотип baranka

Сдай на права пока
учишься в ВУЗе

Вся теория в удобном приложении. Выбери инструктора и начни заниматься!

Получить скидку 3 000 ₽

$(k cdot A)^{-1} = k^{-1} A^{-1}$.

Нахождение обратной матрицы методом Гаусса

Получение обратной матрицы методом Гаусса относится к одному из точных (прямых) методов.

Пример 1

Алгоритм для поиска и нахождения обратной матрицы $A$ методом Гаусса:

$A = left( begin{array}{cc|cc} 1 & 2 \ 3 & 5 \ end{array} right)$

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

$ left( begin{array}{cc|cc} 1 & 2 & 1 & 0 \ 3 & 5 & 0 & 1 \ end{array} right) $.

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

$ left( begin{array}{cc|cc} 1 & 2 & 0 & 1 \ 3 & 5 & 1 & 0 \ end{array} right) $.

Теперь верхнюю строку умножаем на $3$ и вычитаем из нижней:

$ left( begin{array}{cc|cc} 1 & 2 & 0 & 1 \ 0 & -1 & 1 & -3 \ end{array} right) $.

Теперь для получения единичной диагонали нужно обнулить элементы, находящиеся справа сверху, также эта часть метода зовётся методом Жордана-Гаусса. Для этого верхнюю строку складываем с нижней, умноженной на $2$:

$ left( begin{array}{cc|cc} 1 & 0 & 2 & -5 \ 0 & -1 & 1 & -3 \ end{array} right) $.

Делим нижнюю строку на $-1$, получаем:

$ left( begin{array}{cc|cc} 1 & 0 & 2 & -5 \ 0 & 1 & -1 & 3 \ end{array} right) $.

Обратная исходной матрица будет:

$ left( begin{array}{cc|cc} 2 & -5 \ -1 & 3 \ end{array} right) $.

«Нахождение обратной матрицы методом Гаусса» 👇

Пример 2

Найти обратную матрицу методом Гаусса.

$A = left( begin{array}{ccc} 1 & 2 & 3 \ 2 & 5 & 4 \ 0 & 1 & 0.5 end{array} right) $

Запишем нашу матрицу рядом с единичной:

$A = left( begin{array}{ccc|ccc} 1 & 2 & 3 & 1 & 0 & 0\ 2 & 5 & 4 & 0 & 1 & 0 \ 0 & 1 & 1/2 & 0 & 0 & 1 end{array} right) $

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

$A = left( begin{array}{ccc|ccc} 1 & 2 & 3 & 1 & 0 & 0\ 0 & 1 & -2 & -2 & 1 & 0 \ 0 & 1 & 1/2 & 0 & 0 & 1 end{array} right) $.

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

$A = left( begin{array}{ccc|ccc} 1 & 0 & 7 & 5 & -2 & 0\ 0 & 1 & -2 & -2 & 1 & 0 \ 0 & 0 & 2frac{1}{2} & 2 & -1 & 1 end{array} right) $.

Делим нижнюю строчку на $2frac{1}{2}$:

$A = left( begin{array}{ccc|ccc} 1 & 0 & 7 & 5 & -2 & 0\ 0 & 1 & -2 & -2 & 1 & 0 \ 0 & 0 & 1 & 0.8 & -0.4 & 0.4 end{array} right) $.

Теперь обнуляем элементы, находящиеся выше главной диагонали, для этого вычитаем из верхней строки третью, умноженную на $7$, а к средней строке добавляем третью, помноженную на $2$:

$A = left( begin{array}{ccc|ccc} 1 & 0 & 0 & -0.6 & 0.8 & -2.8\ 0 & 1 & 0 & -0.4 & 0.2 & 0.8 \ 0 & 0 & 1 & 0.8 & -0.4 & 0.4 end{array} right) $.

Обратная исходной матрице равна:

$A^{-1} = left( begin{array}{ccc} -0.6 & 0.8 & -2.8\ -0.4 & 0.2 & 0.8 \ 0.8 & -0.4 & 0.4 end{array} right) $.

Находи статьи и создавай свой список литературы по ГОСТу

Поиск по теме

Improve Article

Save Article

Like Article

  • Read
  • Discuss
  • Improve Article

    Save Article

    Like Article

    Given a Matrix, the task is to find the inverse of this Matrix using the Gauss-Jordan method.

    What is matrix?

    Matrix is an ordered rectangular array of numbers.  

    Operations that can be performed on a matrix are: Addition, Subtraction, Multiplication or Transpose of matrix etc.

    Inverse of a matrix:

    Given a square matrix A, which is non-singular (means the Determinant of A is nonzero); Then there exists a matrix 

    A^{-1}

    which is called inverse of matrix A.

    The inverse of a matrix is only possible when such properties hold: 

    1. The matrix must be a square matrix.
    2. The matrix must be a non-singular matrix and,
    3. There exist an Identity matrix I for which

    A A^{-1} = A^{-1} A = I
     In general, the inverse of n X n matrix A can be found using this simple formula:   

    where, Adj(A) denotes the adjoint of a matrix and, Det(A) is Determinant of matrix A.  

    Methods for finding Inverse of Matrix:

    Finding the inverse of a 2×2 matrix is a simple task, but for finding the inverse of larger matrix (like 3×3, 4×4, etc) is a tough task, So the following methods can be used: 

    1. Elementary Row Operation (Gauss-Jordan Method) (Efficient)
    2. Minors, Cofactors and Ad-jugate Method (Inefficient)

    Elementary Row Operation (Gauss – Jordan Method):

    Gauss-Jordan Method is a variant of Gaussian elimination in which row reduction operation is performed to find the inverse of a matrix.

    Steps to find the inverse of a matrix using Gauss-Jordan method:
    In order to find the inverse of the matrix following steps need to be followed:  

    1. Form the augmented matrix by the identity matrix.
    2. Perform the row reduction operation on this augmented matrix to generate a row reduced echelon form of the matrix.
    3. The following row operations are performed on augmented matrix when required: 
      • Interchange any two row.
      • Multiply each element of row by a non-zero integer.
      • Replace a row by the sum of itself and a constant multiple of another row of the matrix.

    Example: 

    • Augmented Matrix is formed as A:B

    • After applying the Gauss-Jordan elimination method:

    Below is the C++ program to find the inverse of a matrix using the Gauss-Jordan method:  

    C++

    #include <iostream>

    #include <vector>

    using namespace std;

    void PrintMatrix(float** ar, int n, int m)

    {

        for (int i = 0; i < n; i++) {

            for (int j = 0; j < m; j++) {

                cout << ar[i][j] << "  ";

            }

            printf("n");

        }

        return;

    }

    void PrintInverse(float** ar, int n, int m)

    {

        for (int i = 0; i < n; i++) {

            for (int j = n; j < m; j++) {

                printf("%.3f  ", ar[i][j]);

            }

            printf("n");

        }

        return;

    }

    void InverseOfMatrix(float** matrix, int order)

    {

        float temp;

        printf("=== Matrix ===n");

        PrintMatrix(matrix, order, order);

        for (int i = 0; i < order; i++) {

            for (int j = 0; j < 2 * order; j++) {

                if (j == (i + order))

                    matrix[i][j] = 1;

            }

        }

        for (int i = order - 1; i > 0; i--) {

            if (matrix[i - 1][0] < matrix[i][0]) {

                float* temp = matrix[i];

                matrix[i] = matrix[i - 1];

                matrix[i - 1] = temp;

            }

        }

        printf("n=== Augmented Matrix ===n");

        PrintMatrix(matrix, order, order * 2);

        for (int i = 0; i < order; i++) {

            for (int j = 0; j < order; j++) {

                if (j != i) {

                    temp = matrix[j][i] / matrix[i][i];

                    for (int k = 0; k < 2 * order; k++) {

                        matrix[j][k] -= matrix[i][k] * temp;

                    }

                }

            }

        }

        for (int i = 0; i < order; i++) {

            temp = matrix[i][i];

            for (int j = 0; j < 2 * order; j++) {

                matrix[i][j] = matrix[i][j] / temp;

            }

        }

        printf("n=== Inverse Matrix ===n");

        PrintInverse(matrix, order, 2 * order);

        return;

    }

    int main()

    {

        int order;

        order = 3;

        float** matrix = new float*[20];

        for (int i = 0; i < 20; i++)

            matrix[i] = new float[20];

        matrix[0][0] = 5;

        matrix[0][1] = 7;

        matrix[0][2] = 9;

        matrix[1][0] = 4;

        matrix[1][1] = 3;

        matrix[1][2] = 8;

        matrix[2][0] = 7;

        matrix[2][1] = 5;

        matrix[2][2] = 6;

        InverseOfMatrix(matrix, order);

        return 0;

    }

    Java

    import java.util.Arrays;

    public class Main {

        static void PrintMatrix(float[][] ar, int n, int m)

        {

            for (int i = 0; i < n; i++) {

                for (int j = 0; j < m; j++) {

                    System.out.print(ar[i][j] + "  ");

                }

                System.out.println();

            }

            return;

        }

        static void PrintInverse(float[][] ar, int n, int m)

        {

            for (int i = 0; i < n; i++) {

                for (int j = n; j < m; j++) {

                    System.out.printf("%.3f  ", ar[i][j]);

                }

                System.out.println();

            }

            return;

        }

        static void InverseOfMatrix(float[][] matrix, int order)

        {

            float temp;

            System.out.println("=== Matrix ===");

            PrintMatrix(matrix, order, order);

            for (int i = 0; i < order; i++) {

                for (int j = 0; j < 2 * order; j++) {

                    if (j == (i + order))

                        matrix[i][j] = 1;

                }

            }

            for (int i = order - 1; i > 0; i--) {

                if (matrix[i - 1][0] < matrix[i][0]) {

                    float[] tempArr = matrix[i];

                    matrix[i] = matrix[i - 1];

                    matrix[i - 1] = tempArr;

                }

            }

            System.out.println("n=== Augmented Matrix ===");

            PrintMatrix(matrix, order, order * 2);

            for (int i = 0; i < order; i++) {

                for (int j = 0; j < order; j++) {

                    if (j != i) {

                        temp = matrix[j][i] / matrix[i][i];

                        for (int k = 0; k < 2 * order; k++) {

                            matrix[j][k] -= matrix[i][k] * temp;

                        }

                    }

                }

            }

            for (int i = 0; i < order; i++) {

                temp = matrix[i][i];

                for (int j = 0; j < 2 * order; j++) {

                    matrix[i][j] = matrix[i][j] / temp;

                }

            }

            System.out.println("n=== Inverse Matrix ===");

            PrintInverse(matrix, order, 2 * order);

            return;

        }

        public static void main(String[] args)

        {

            int order;

            order = 3;

            float[][] matrix = new float[20][20];

            matrix[0][0] = 5;

            matrix[0][1] = 7;

            matrix[0][2] = 9;

            matrix[1][0] = 4;

            matrix[1][1] = 3;

            matrix[1][2] = 8;

            matrix[2][0] = 7;

            matrix[2][1] = 5;

            matrix[2][2] = 6;

            InverseOfMatrix(matrix, order);

        }

    }

    Python3

    def PrintMatrix(ar, n, m):

        for i in range(n):

            for j in range(m):

                print(ar[i][j], end="  ")

            print()

        return

    def PrintInverse(ar, n, m):

        for i in range(n):

            for j in range(n, m):

                print("%.3f  " % ar[i][j], end="")

            print()

        return

    def InverseOfMatrix(matrix, order):

        print("=== Matrix ===")

        PrintMatrix(matrix, order, order)

        for i in range(order):

            for j in range(2 * order):

                if j == (i + order):

                    matrix[i][j] = 1

        for i in range(order - 1, 0, -1):

            if matrix[i - 1][0] < matrix[i][0]:

                tempArr = matrix[i]

                matrix[i] = matrix[i - 1]

                matrix[i - 1] = tempArr

        print("n=== Augmented Matrix ===")

        PrintMatrix(matrix, order, order * 2)

        for i in range(order):

            for j in range(order):

                if j != i:

                    temp = matrix[j][i] / matrix[i][i]

                    for k in range(2 * order):

                        matrix[j][k] -= matrix[i][k] * temp

        for i in range(order):

            temp = matrix[i][i]

            for j in range(2 * order):

                matrix[i][j] = matrix[i][j] / temp

        print("n=== Inverse Matrix ===")

        PrintInverse(matrix, order, 2 * order)

        return

    def main():

        order = 3

        matrix = [[0 for i in range(20)] for j in range(20)]

        matrix[0][0] = 5

        matrix[0][1] = 7

        matrix[0][2] = 9

        matrix[1][0] = 4

        matrix[1][1] = 3

        matrix[1][2] = 8

        matrix[2][0] = 7

        matrix[2][1] = 5

        matrix[2][2] = 6

        InverseOfMatrix(matrix, order)

    if __name__ == '__main__':

        main()

    C#

    using System;

    public class GFG

    {

      static void PrintMatrix(float[][] ar, int n, int m)

      {

        for (int i = 0; i < n; i++) {

          for (int j = 0; j < m; j++) {

            Console.Write(ar[i][j] + "  ");

          }

          Console.WriteLine();

        }

        return;

      }

      static void PrintInverse(float[][] ar, int n, int m)

      {

        for (int i = 0; i < n; i++) {

          for (int j = n; j < m; j++) {

            Console.Write("{0:F3}  ", ar[i][j]);

          }

          Console.WriteLine();

        }

        return;

      }

      static void InverseOfMatrix(float[][] matrix, int order)

      {

        float temp;

        Console.WriteLine("=== Matrix ===");

        PrintMatrix(matrix, order, order);

        for (int i = 0; i < order; i++) {

          for (int j = 0; j < 2 * order; j++) {

            if (j == (i + order))

              matrix[i][j] = 1;

          }

        }

        for (int i = order - 1; i > 0; i--) {

          if (matrix[i - 1][0] < matrix[i][0]) {

            float[] tempArr = matrix[i];

            matrix[i] = matrix[i - 1];

            matrix[i - 1] = tempArr;

          }

        }

        Console.WriteLine("n=== Augmented Matrix ===");

        PrintMatrix(matrix, order, order * 2);

        for (int i = 0; i < order; i++) {

          for (int j = 0; j < order; j++) {

            if (j != i) {

              temp = matrix[j][i] / matrix[i][i];

              for (int k = 0; k < 2 * order; k++) {

                matrix[j][k] -= matrix[i][k] * temp;

              }

            }

          }

        }

        for (int i = 0; i < order; i++) {

          temp = matrix[i][i];

          for (int j = 0; j < 2 * order; j++) {

            matrix[i][j] = matrix[i][j] / temp;

          }

        }

        Console.WriteLine("n=== Inverse Matrix ===");

        PrintInverse(matrix, order, 2 * order);

        return;

      }

      public static void Main()

      {

        int order;

        order = 3;

        float[][] matrix = new float[20][];

        for (int i = 0; i < 20; i++) {

          matrix[i] = new float[20];

        }

        matrix[0][0] = 5;

        matrix[0][1] = 7;

        matrix[0][2] = 9;

        matrix[1][0] = 4;

        matrix[1][1] = 3;

        matrix[1][2] = 8;

        matrix[2][0] = 7;

        matrix[2][1] = 5;

        matrix[2][2] = 6;

        InverseOfMatrix(matrix, order);

      }

    }

    Javascript

    function printMatrix(matrix) {

      for (let i = 0; i < matrix.length; i++) {

        console.log(matrix[i].join(" "));

      }

    }

    function printInverse(matrix) {

      for (let i = 0; i < matrix.length; i++) {

        for (let j = matrix.length; j < 2 * matrix.length; j++) {

          console.log(matrix[i][j].toFixed(3) + " ");

        }

        console.log("n");

      }

    }

    function inverseOfMatrix(matrix) {

      let order = matrix.length;

      let temp;

      console.log("=== Matrix ===");

      printMatrix(matrix);

      for (let i = 0; i < order; i++) {

        for (let j = 0; j < 2 * order; j++) {

          if (j == i + order) {

            matrix[i][j] = 1;

          }

        }

      }

      for (let i = order - 1; i > 0; i--) {

        if (matrix[i - 1][0] < matrix[i][0]) {

          let tempArr = matrix[i];

          matrix[i] = matrix[i - 1];

          matrix[i - 1] = tempArr;

        }

      }

      console.log("n=== Augmented Matrix ===");

      printMatrix(matrix);

      for (let i = 0; i < order; i++) {

        for (let j = 0; j < order; j++) {

          if (j != i) {

            temp = matrix[j][i] / matrix[i][i];

            for (let k = 0; k < 2 * order; k++) {

              matrix[j][k] -= matrix[i][k] * temp;

            }

          }

        }

      }

      for (let i = 0; i < order; i++) {

        temp = matrix[i][i];

        for (let j = 0; j < 2 * order; j++) {

          matrix[i][j] = matrix[i][j] / temp;

        }

      }

      console.log("n=== Inverse Matrix ===");

      printInverse(matrix);

    }

    let matrix = [  [5, 7, 9],

      [4, 3, 8],

      [7, 5, 6],

    ];

    inverseOfMatrix(matrix);

    Output

    === Matrix ===
    5  7  9  
    4  3  8  
    7  5  6  
    
    === Augmented Matrix ===
    7  5  6  0  0  1  
    5  7  9  1  0  0  
    4  3  8  0  1  0  
    
    === Inverse Matrix ===
    -0.210  0.029  0.276  
    0.305  -0.314  -0.038  
    -0.010  0.229  -0.124  

    Last Updated :
    11 Apr, 2023

    Like Article

    Save Article

    Добавил:

    Upload

    Опубликованный материал нарушает ваши авторские права? Сообщите нам.

    Вуз:

    Предмет:

    Файл:

    Chislennye_metody_otchyot.docx

    Скачиваний:

    2

    Добавлен:

    06.05.2019

    Размер:

    1.88 Mб

    Скачать

    Нахождение обратной матрицы методом Гаусса Теоретические основы

    Возьмём
    две матрицы: саму A и единичную E.
    Приведём матрицу A к
    единичной матрице методом
    Гаусса—Жордана
    .
    После применения каждой операции к
    первой матрице применим ту же операцию
    ко второй. Когда приведение первой
    матрицы к единичному виду будет
    завершено, вторая матрица окажется
    равной A−1.

    При
    использовании метода Гаусса первая
    матрица будет умножаться слева на одну
    из элементарных
    матриц Λi (трансвекцию или диагональную
    матрицу
     с
    единицами на главной диагонали, кроме
    одной позиции):


    .


    .

    Вторая
    матрица после применения всех операций
    станет равна Λ,
    то есть будет искомой.

    Блок-схема метода

    Результаты
    решения

    1

    Матрица
    A:

    1

    0,421

    0,45

    0,66

    0,42

    1

    0,32

    0,44

    0,54

    0,32

    1

    0,22

    0,66

    0,44

    0,22

    1

    Единичная
    матрица:

    1

    0

    0

    0

    0

    1

    0

    0

    0

    0

    1

    0

    0

    0

    0

    1

    Ход
    Решения:

    Итерация#1

    Матрица
    A:

    1

    0,421

    0,45

    0,66

    0

    0,82318

    0,131

    0,1628

    0

    0,09266

    0,757

    -0,1364

    0

    0,16214

    -0,077

    0,5644

    Обратная
    Матрица:

    1

    0

    0

    0

    -0,42

    1

    0

    0

    -0,54

    0

    1

    0

    -0,66

    0

    0

    1

    Итерация#2

    Матрица A:

    1

    0,421

    0,45

    0,66

    0

    1

    0,159139

    0,19777

    0

    0

    0,742254

    -0,154725

    0

    0

    -0,102803

    0,532334

    Обратная
    Матрица:

    1

    0

    0

    0

    -0,510216

    1,214801

    0

    0

    -0,54

    -0,112563

    1

    0

    -0,66

    -0,196968

    0

    1

    Итерация#3

    Матрица A:

    1

    0,421

    0,45

    0,66

    0

    1

    0,159139

    0,19777

    0

    0

    1

    -0,208453

    0

    0

    0

    0,510904

    Обратная
    Матрица:

    1

    0

    0

    0

    -0,510216

    1,214801

    0

    0

    -0,727514

    -0,151651

    1,347247

    0

    -0,66

    -0,196968

    0,138501

    1

    Итерация#4

    Матрица A:

    1

    0,421

    0,45

    0,66

    0

    1

    0,159139

    0,19777

    0

    0

    1

    -0,208453

    0

    0

    0

    1

    Обратная
    Матрица:

    1

    0

    0

    0

    -0,510216

    1,214801

    0

    0

    -0,727514

    -0,151651

    1,347247

    0

    -1,291828

    -0,385528

    0,27109

    1,957315

    В
    конечном итоге получаем обратную
    матрицу

    2,341625

    -0,20022

    -0,69399

    -1,285128

    -0,096103

    1,32797

    -0,277006

    -0,452027

    -0,996799

    -0,232015

    1,403757

    0,408009

    -1,291828

    -0,385528

    0,27109

    1,957315

    2

    Матрица
    A:

    2,11

    3,01

    4,02

    0,22

    0,18

    3,41

    0,15

    1,43

    2,14

    0,17

    0,26

    0,18

    1,28

    0,42

    0,54

    1

    Единичная
    матрица:

    1

    0

    0

    0

    0

    1

    0

    0

    0

    0

    1

    0

    0

    0

    0

    1

    Ход
    Решения:

    Итерация#1

    Матрица
    A:

    1

    1,42654

    1,905213

    0,104265

    0

    3,153223

    -0,192938

    1,411232

    0

    -2,882796

    -3,817156

    -0,043128

    0

    -1,405972

    -1,898673

    0,86654

    Обратная
    Матрица:

    0,473934

    0

    0

    0

    -0,085308

    1

    0

    0

    -1,014218

    0

    1

    0

    -0,606635

    0

    0

    1

    Итерация#2

    Матрица A:

    1

    1,42654

    1,905213

    0,104265

    0

    1

    -0,061188

    0,447552

    0

    0

    -3,993548

    1,247074

    0

    0

    -1,984701

    1,495786

    Обратная
    Матрица:

    0,473934

    0

    0

    0

    -0,027054

    0,317136

    0

    0

    -1,014218

    0,914238

    1

    0

    -0,606635

    0,445884

    0

    1

    Итерация#3

    Матрица A:

    1

    1,42654

    1,905213

    0,104265

    0

    1

    -0,061188

    0,447552

    0

    0

    1

    -0,312272

    0

    0

    0

    0,876019

    Обратная
    Матрица:

    0,473934

    0

    0

    0

    -0,027054

    0,317136

    0

    0

    0,253964

    -0,228929

    -0,250404

    0

    -0,606635

    0,445884

    -0,496977

    1

    Итерация#4

    Матрица A:

    1

    1,42654

    1,905213

    0,104265

    0

    1

    -0,061188

    0,447552

    0

    0

    1

    -0,312272

    0

    0

    0

    1

    Обратная
    Матрица:

    0,473934

    0

    0

    0

    -0,027054

    0,317136

    0

    0

    0,253964

    -0,228929

    -0,250404

    0

    -0,692491

    0,508989

    -0,567313

    1,141528

    В
    конечном итоге получаем обратную
    матрицу

    0,067455

    -0,041066

    0,548863

    -0,100473

    0,28518

    0,085054

    0,227741

    -0,489082

    0,037719

    -0,069986

    -0,42756

    0,356467

    -0,692491

    0,508989

    -0,567313

    1,141528

    3

    Матрица
    A:

    -0,33

    0,42

    0,51

    -0,11

    2,71

    -0,92

    -2,17

    0,81

    0,75

    0,68

    0,33

    0,17

    0,28

    -3,71

    2,17

    0,16

    Единичная
    матрица:

    1

    0

    0

    0

    0

    1

    0

    0

    0

    0

    1

    0

    0

    0

    0

    1

    Ход
    Решения:

    Итерация#1

    Матрица
    A:

    1

    -1,272727

    -1,545455

    0,333333

    0

    2,529091

    2,018182

    -0,093333

    0

    1,634545

    1,489091

    -0,08

    0

    -3,353636

    2,602727

    0,066667

    Обратная
    Матрица:

    -3,030303

    0

    0

    0

    8,212121

    1

    0

    0

    2,272727

    0

    1

    0

    0,848485

    0

    0

    1

    Итерация#2

    Матрица A:

    1

    -1,272727

    -1,545455

    0,333333

    0

    1

    0,797987

    -0,036904

    0

    0

    0,184745

    -0,019679

    0

    0

    5,278886

    -0,057096

    Обратная
    Матрица:

    -3,030303

    0

    0

    0

    3,247064

    0,395399

    0

    0

    2,272727

    -0,646298

    1

    0

    0,848485

    1,326024

    0

    1

    Итерация#3

    Матрица A:

    1

    -1,272727

    -1,545455

    0,333333

    0

    1

    0,797987

    -0,036904

    0

    0

    1

    -0,106519

    0

    0

    0

    0,505208

    Обратная
    Матрица:

    -3,030303

    0

    0

    0

    3,247064

    0,395399

    0

    0

    12,301983

    -3,498327

    5,412873

    0

    0,848485

    1,326024

    -28,573936

    1

    Итерация#4

    Матрица A:

    1

    -1,272727

    -1,545455

    0,333333

    0

    1

    0,797987

    -0,036904

    0

    0

    1

    -0,106519

    0

    0

    0

    1

    Обратная
    Матрица:

    -3,030303

    0

    0

    0

    3,247064

    0,395399

    0

    0

    12,301983

    -3,498327

    5,412873

    0

    1,679477

    2,624712

    -56,558793

    1,979384

    В
    конечном итоге получаем обратную
    матрицу

    7,234184

    -1,953792

    15,872327

    -0,455114

    -6,650537

    3,060777

    -1,599087

    -0,095203

    12,48088

    -3,218744

    -0,611731

    0,210843

    1,679477

    2,624712

    -56,558793

    1,979384

    4

    Матрица
    A:

    0,72

    3,54

    7,28

    0,33

    -0,28

    0,72

    3,04

    0,22

    1

    0,35

    -0,78

    1

    7,03

    -5,04

    -3,75

    3,41

    Единичная
    матрица:

    1

    0

    0

    0

    0

    1

    0

    0

    0

    0

    1

    0

    0

    0

    0

    1

    Ход
    Решения:

    Итерация#1

    Матрица
    A:

    1

    4,916667

    10,111111

    0,458333

    0

    2,096667

    5,871111

    0,348333

    0

    -4,566667

    -10,891111

    0,541667

    0

    -39,604167

    -74,831111

    0,187917

    Обратная
    Матрица:

    1,388889

    0

    0

    0

    0,388889

    1

    0

    0

    -1,388889

    0

    1

    0

    -9,763889

    0

    0

    1

    Итерация#2

    Матрица A:

    1

    4,916667

    10,111111

    0,458333

    0

    1

    2,800212

    0,166137

    0

    0

    1,896524

    1,300358

    0

    0

    36,068951

    6,767623

    Обратная
    Матрица:

    1,388889

    0

    0

    0

    0,18548

    0,476948

    0

    0

    -1,388889

    2,17806

    1

    0

    -9,763889

    18,88911

    0

    1

    Итерация#3

    Матрица A:

    1

    4,916667

    10,111111

    0,458333

    0

    1

    2,800212

    0,166137

    0

    0

    1

    0,685653

    0

    0

    0

    -17,963173

    Обратная
    Матрица:

    1,388889

    0

    0

    0

    0,18548

    0,476948

    0

    0

    -0,732334

    1,148449

    0,527281

    0

    -9,763889

    18,88911

    -19,018456

    1

    Итерация#4

    Матрица A:

    1

    4,916667

    10,111111

    0,458333

    0

    1

    2,800212

    0,166137

    0

    0

    1

    0,685653

    0

    0

    0

    1

    Обратная
    Матрица:

    1,388889

    0

    0

    0

    0,18548

    0,476948

    0

    0

    -0,732334

    1,148449

    0,527281

    0

    0,54355

    -1,051546

    1,058747

    -0,055669

    В
    конечном итоге получаем обратную
    матрицу

    -3,368805

    4,113832

    -0,346827

    0,119614

    3,18947

    -4,583195

    0,380373

    -0,097635

    -1,105021

    1,869445

    -0,198653

    0,03817

    0,54355

    -1,051546

    1,058747

    -0,055669

    5

    Матрица
    A:

    7,13

    8,21

    4,47

    -2,11

    3,25

    1,54

    2,91

    5,43

    -6,34

    -8,17

    -10,2

    3,93

    4,52

    6,73

    1,37

    -9,89

    Единичная
    матрица:

    1

    0

    0

    0

    0

    1

    0

    0

    0

    0

    1

    0

    0

    0

    0

    1

    Ход
    Решения:

    Итерация#1

    Матрица
    A:

    1

    1,151473

    0,626928

    -0,295933

    0

    -2,202286

    0,872482

    6,391781

    0

    -0,869663

    -6,225273

    2,053787

    0

    1,525344

    -1,463717

    -8,552384

    Обратная
    Матрица:

    0,140252

    0

    0

    0

    -0,45582

    1

    0

    0

    0,889201

    0

    1

    0

    -0,633941

    0

    0

    1

    Итерация#2

    Матрица A:

    1

    1,151473

    0,626928

    -0,295933

    0

    1

    -0,396171

    -2,902339

    0

    0

    -6,569809

    -0,470271

    0

    0

    -0,859419

    -4,12532

    Обратная
    Матрица:

    0,140252

    0

    0

    0

    0,206976

    -0,454074

    0

    0

    0,889201

    -0,394891

    1

    0

    -0,633941

    0,692618

    0

    1

    Итерация#3

    Матрица A:

    1

    1,151473

    0,626928

    -0,295933

    0

    1

    -0,396171

    -2,902339

    0

    0

    1

    0,071581

    0

    0

    0

    -4,063802

    Обратная
    Матрица:

    0,140252

    0

    0

    0

    0,206976

    -0,454074

    0

    0

    -0,135346

    0,060107

    -0,152211

    0

    -0,633941

    0,692618

    -0,130813

    1

    Итерация#4

    Матрица A:

    1

    1,151473

    0,626928

    -0,295933

    0

    1

    -0,396171

    -2,902339

    0

    0

    1

    0,071581

    0

    0

    0

    1

    Обратная
    Матрица:

    0,140252

    0

    0

    0

    0,206976

    -0,454074

    0

    0

    -0,135346

    0,060107

    -0,152211

    0

    0,155997

    -0,170436

    0,03219

    -0,246075

    В
    конечном итоге получаем обратную
    матрицу

    -0,414557

    0,963691

    0,069306

    0,730474

    0,601688

    -0,920091

    0,032211

    -0,707215

    -0,146513

    0,072307

    -0,154516

    0,017614

    0,155997

    -0,170436

    0,03219

    -0,246075

    6

    Матрица
    A:

    -2

    3,01

    0,12

    -0,11

    2,92

    -0,17

    0,11

    0,22

    0,66

    0,52

    3,17

    2,11

    3,01

    0,42

    -0,27

    -0,15

    Единичная
    матрица:

    1

    0

    0

    0

    0

    1

    0

    0

    0

    0

    1

    0

    0

    0

    0

    1

    Ход
    Решения:

    Итерация#1

    Матрица
    A:

    1

    -1,505

    -0,06

    0,055

    0

    4,2246

    0,2852

    0,0594

    0

    1,5133

    3,2096

    2,0737

    0

    4,95005

    -0,0894

    -0,31555

    Обратная
    Матрица:

    -0,5

    0

    0

    0

    1,46

    1

    0

    0

    0,33

    0

    1

    0

    1,505

    0

    0

    1

    Итерация#2

    Матрица A:

    1

    -1,505

    -0,06

    0,055

    0

    1

    0,067509

    0,014061

    0

    0

    3,107438

    2,052422

    0

    0

    -0,423575

    -0,38515

    Обратная
    Матрица:

    -0,5

    0

    0

    0

    0,345595

    0,236709

    0

    0

    0,33

    -0,358211

    1

    0

    1,505

    -1,17172

    0

    1

    Итерация#3

    Матрица A:

    1

    -1,505

    -0,06

    0,055

    0

    1

    0,067509

    0,014061

    0

    0

    1

    0,660487

    0

    0

    0

    -0,105385

    Обратная
    Матрица:

    -0,5

    0

    0

    0

    0,345595

    0,236709

    0

    0

    0,106197

    -0,115275

    0,321809

    0

    1,505

    -1,17172

    0,13631

    1

    Итерация#4

    Матрица A:

    1

    -1,505

    -0,06

    0,055

    0

    1

    0,067509

    0,014061

    0

    0

    1

    0,660487

    0

    0

    0

    1

    Обратная
    Матрица:

    -0,5

    0

    0

    0

    0,345595

    0,236709

    0

    0

    0,106197

    -0,115275

    0,321809

    0

    -14,281015

    11,118509

    -1,293451

    -9,489046

    В
    конечном итоге получаем обратную
    матрицу

    0,710956

    -0,180248

    0,049582

    0,461962

    -0,097553

    0,583923

    -0,061212

    -0,289687

    9,53862

    -7,458905

    1,176116

    6,267391

    -14,281015

    11,118509

    -1,293451

    -9,489046

    7

    Матрица
    A:

    3,41

    -0,18

    2,34

    7,08

    0,21

    0,17

    -0,51

    -0,44

    0,33

    3,42

    -5,17

    0,66

    0,77

    3,68

    0,22

    -0,19

    Единичная
    матрица:

    1

    0

    0

    0

    0

    1

    0

    0

    0

    0

    1

    0

    0

    0

    0

    1

    Ход
    Решения:

    Итерация#1

    Матрица
    A:

    1

    -0,052786

    0,686217

    2,076246

    0

    0,181085

    -0,654106

    -0,876012

    0

    3,437419

    -5,396452

    -0,025161

    0

    3,720645

    -0,308387

    -1,78871

    Обратная
    Матрица:

    0,293255

    0

    0

    0

    -0,061584

    1

    0

    0

    -0,096774

    0

    1

    0

    -0,225806

    0

    0

    1

    Итерация#2

    Матрица A:

    1

    -0,052786

    0,686217

    2,076246

    0

    1

    -3,612146

    -4,837571

    0

    0

    7,020008

    16,603598

    0

    0

    13,131126

    16,210175

    Обратная
    Матрица:

    0,293255

    0

    0

    0

    -0,340081

    5,522267

    0

    0

    -0,096774

    -18,982348

    1

    0

    -0,225806

    -20,546397

    0

    1

    Итерация#3

    Матрица A:

    1

    -0,052786

    0,686217

    2,076246

    0

    1

    -3,612146

    -4,837571

    0

    0

    1

    2,365182

    0

    0

    0

    -14,84733

    Обратная
    Матрица:

    0,293255

    0

    0

    0

    -0,340081

    5,522267

    0

    0

    -0,013785

    -2,704035

    0,14245

    0

    -0,225806

    -20,546397

    -1,870529

    1

    Итерация#4

    Матрица A:

    1

    -0,052786

    0,686217

    2,076246

    0

    1

    -3,612146

    -4,837571

    0

    0

    1

    2,365182

    0

    0

    0

    1

    Обратная
    Матрица:

    0,293255

    0

    0

    0

    -0,340081

    5,522267

    0

    0

    -0,013785

    -2,704035

    0,14245

    0

    0,015209

    1,383845

    0,125984

    -0,067352

    В
    конечном итоге получаем обратную
    матрицу

    0,272267

    0,73359

    -0,152333

    0,0437

    -0,446236

    -9,37337

    0,047676

    0,249595

    -0,049756

    -5,97708

    -0,155526

    0,1593

    0,015209

    1,383845

    0,125984

    -0,067352

    8

    Матрица
    A:

    4,2

    0,32

    0,11

    0,13

    0,17

    0,25

    0,48

    0,52

    0,12

    0,08

    0,72

    0,61

    0,54

    0,13

    0,81

    0,17

    Единичная
    матрица:

    1

    0

    0

    0

    0

    1

    0

    0

    0

    0

    1

    0

    0

    0

    0

    1

    Ход
    Решения:

    Итерация#1

    Матрица
    A:

    1

    0,07619

    0,02619

    0,030952

    0

    0,237048

    0,475548

    0,514738

    0

    0,070857

    0,716857

    0,606286

    0

    0,088857

    0,795857

    0,153286

    Обратная
    Матрица:

    0,238095

    0

    0

    0

    -0,040476

    1

    0

    0

    -0,028571

    0

    1

    0

    -0,128571

    0

    0

    1

    Итерация#2

    Матрица A:

    1

    0,07619

    0,02619

    0,030952

    0

    1

    2,006127

    2,171454

    0

    0

    0,574709

    0,452423

    0

    0

    0,617598

    -0,039664

    Обратная
    Матрица:

    0,238095

    0

    0

    0

    -0,170751

    4,218562

    0

    0

    -0,028571

    -0,298915

    1

    0

    -0,128571

    -0,374849

    0

    1

    Итерация#3

    Матрица A:

    1

    0,07619

    0,02619

    0,030952

    0

    1

    2,006127

    2,171454

    0

    0

    1

    0,787221

    0

    0

    0

    -0,52585

    Обратная
    Матрица:

    0,238095

    0

    0

    0

    -0,170751

    4,218562

    0

    0

    -0,049715

    -0,520116

    1,740012

    0

    -0,128571

    -0,374849

    -1,074629

    1

    Итерация#4

    Матрица A:

    1

    0,07619

    0,02619

    0,030952

    0

    1

    2,006127

    2,171454

    0

    0

    1

    0,787221

    0

    0

    0

    1

    Обратная
    Матрица:

    0,238095

    0

    0

    0

    -0,170751

    4,218562

    0

    0

    -0,049715

    -0,520116

    1,740012

    0

    0,244502

    0,712845

    2,043604

    -1,901684

    В
    конечном итоге получаем обратную
    матрицу

    0,253313

    -0,362495

    0,291471

    -0,066149

    -0,215809

    4,839841

    -4,700885

    1,126157

    -0,242192

    -1,081282

    0,131245

    1,497045

    0,244502

    0,712845

    2,043604

    -1,901684

    9

    Матрица
    A:

    2

    0,17

    3,02

    0,11

    0,28

    0,13

    0,54

    3,12

    0,54

    0,18

    2,11

    3,08

    2,33

    0,11

    0,22

    2,22

    Единичная
    матрица:

    1

    0

    0

    0

    0

    1

    0

    0

    0

    0

    1

    0

    0

    0

    0

    1

    Ход
    Решения:

    Итерация#1

    Матрица
    A:

    1

    0,085

    1,51

    0,055

    0

    0,1062

    0,1172

    3,1046

    0

    0,1341

    1,2946

    3,0503

    0

    -0,08805

    -3,2983

    2,09185

    Обратная
    Матрица:

    0,5

    0

    0

    0

    -0,14

    1

    0

    0

    -0,27

    0

    1

    0

    -1,165

    0

    0

    1

    Итерация#2

    Матрица A:

    1

    0,085

    1,51

    0,055

    0

    1

    1,103578

    29,233522

    0

    0

    1,14661

    -0,869915

    0

    0

    -3,20113

    4,665862

    Обратная
    Матрица:

    0,5

    0

    0

    0

    -1,318267

    9,416196

    0

    0

    -0,27

    -1,262712

    1

    0

    -1,165

    0,829096

    0

    1

    Итерация#3

    Матрица A:

    1

    0,085

    1,51

    0,055

    0

    1

    1,103578

    29,233522

    0

    0

    1

    -0,758684

    0

    0

    0

    2,237214

    Обратная
    Матрица:

    0,5

    0

    0

    0

    -1,318267

    9,416196

    0

    0

    -0,235477

    -1,101256

    0,872136

    0

    -1,165

    0,829096

    2,791821

    1

    Итерация#4

    Матрица A:

    1

    0,085

    1,51

    0,055

    0

    1

    1,103578

    29,233522

    0

    0

    1

    -0,758684

    0

    0

    0

    1

    Обратная
    Матрица:

    0,5

    0

    0

    0

    -1,318267

    9,416196

    0

    0

    -0,235477

    -1,101256

    0,872136

    0

    -0,520737

    0,370593

    1,2479

    0,446984

    В
    конечном итоге получаем обратную
    матрицу

    0,239725

    1,261521

    0,456293

    0,605844

    14,600569

    -0,512507

    -38,487822

    -13,441176

    -0,630552

    -0,820093

    1,818899

    0,33912

    -0,520737

    0,370593

    1,2479

    0,446984

    10

    Матрица
    A:

    0,54

    0,32

    1

    0,22

    0,66

    0,44

    0,22

    1

    1

    0,42

    0,54

    0,66

    0,42

    1

    0,32

    0,44

    Единичная
    матрица:

    1

    0

    0

    0

    0

    1

    0

    0

    0

    0

    1

    0

    0

    0

    0

    1

    Ход
    Решения:

    Итерация#1

    Матрица
    A:

    1

    0,592593

    1,851852

    0,407407

    0

    0,048889

    -1,002222

    0,731111

    0

    -0,172593

    -1,311852

    0,252593

    0

    0,751111

    -0,457778

    0,268889

    Обратная
    Матрица:

    1,851852

    0

    0

    0

    -1,222222

    1

    0

    0

    -1,851852

    0

    1

    0

    -0,777778

    0

    0

    1

    Итерация#2

    Матрица A:

    1

    0,592593

    1,851852

    0,407407

    0

    1

    -20,5

    14,954545

    0

    0

    -4,85

    2,833636

    0

    0

    14,94

    -10,963636

    Обратная
    Матрица:

    1,851852

    0

    0

    0

    -25

    20,454545

    0

    0

    -1,851852

    3,530303

    1

    0

    -0,777778

    -15,363636

    0

    1

    Итерация#3

    Матрица A:

    1

    0,592593

    1,851852

    0,407407

    0

    1

    -20,5

    14,954545

    0

    0

    1

    -0,584255

    0

    0

    0

    -2,234868

    Обратная
    Матрица:

    1,851852

    0

    0

    0

    -25

    20,454545

    0

    0

    0,381825

    -0,727898

    -0,206186

    0

    -0,777778

    -15,363636

    3,080412

    1

    Итерация#4

    Матрица A:

    1

    0,592593

    1,851852

    0,407407

    0

    1

    -20,5

    14,954545

    0

    0

    1

    -0,584255

    0

    0

    0

    1

    Обратная
    Матрица:

    1,851852

    0

    0

    0

    -25

    20,454545

    0

    0

    0,381825

    -0,727898

    -0,206186

    0

    0,34802

    6,874517

    -1,378342

    -0,447454

    В
    конечном итоге получаем обратную
    матрицу

    11,416812

    -0,040316

    2,507586

    -0,123039

    -18,20875

    -14,934987

    -0,123039

    1,332213

    0,585157

    3,288573

    -1,011489

    -0,261427

    0,34802

    6,874517

    -1,378342

    -0,447454

    Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]

    • #
    • #
    • #
    • #
    • #
    • #
    • #
    • #
    • #
    • #
    • #

    Метод элементарных преобразований (методы Гаусса и Гаусса-Жордана для нахождения обратных матриц).

    В первой части был рассмотрен способ нахождения обратной матрицы с помощью алгебраических дополнений. Здесь же мы опишем иной метод нахождения обратных матриц: с использованием элементарных преобразований.

    Пусть нам задана квадратная матрица $A_{ntimes{n}}$. Допишем справа к матрице $A$ единичную матрицу $E$ n-го порядка. После такого дописывания мы получим матрицу $left(A|Eright)$. Со строками этой матрицы можно выполнять такие преобразования:

    1. Смена мест двух строк.
    2. Умножение всех элементов строки на некоторое число, не равное нулю.
    3. Прибавление к элементам одной строки соответствующих элементов другой строки, умноженных на любой множитель.

    Конечная цель указанных выше преобразований: привести матрицу $left(A|Eright)$ к такому виду: $left(E|A^{-1}right)$. Т.е. нужно сделать так, чтобы матрица до черты стала единичной, тогда после черты будет записана обратная матрица $A^{-1}$.

    Добиться этой цели можно, выполняя над исходной матрицей $left(A|Eright)$ преобразования метода Гаусса или Гаусса-Жордана. Перед тем, как перейти к описанию этих методов, оговорим, что изначально матрица $A_{ntimes{n}}$ не должна иметь нулевых строк или столбцов. Если в матрице $A$ есть хоть один нулевой столбец или нулевая строка, то обратная матрица $A^{-1}$ не существует.

    Строки матрицы станем обозначать буквами $r$ (от слова «row»): $r_1$ – первая строка, $r_2$ – вторая строка и так далее.

    Метод Гаусса

    Этот метод делят на два этапа, которые называют прямым ходом и обратным.

    Прямой ход метода Гаусса

    В процессе выполнения прямого хода мы последовательно используем строки матрицы. На первом шаге работаем с первой строкой, на втором шаге – со второй и так далее. Если в ходе решения в матрице до черты возникла нулевая строка, то прекращаем преобразования, так как обратная матрица $A^{-1}$ не существует.

    На первом шаге прямого хода обратимся к первой строке $r_1$. Если первый элемент $a_1$ первой строки не равен нулю, то выполняем обнуление всех ненулевых элементов первого столбца, лежащих под первой строкой. Если же $a_1=0$, то меняем местами первую строку с одной из тех нижележащих строк, у которых первый элемент отличен от нуля, а затем уже производим обнуление.

    На втором шаге прямого хода обратимся к второй строке $r_2$. Если второй элемент $a_2$ второй строки не равен нулю, то выполняем обнуление всех ненулевых элементов второго столбца, лежащих под второй строкой. Если же $a_2=0$, то меняем местами вторую строку с одной из тех нижележащих строк, у которых второй элемент отличен от нуля, а затем уже производим обнуление. В случае, когда второй элемент равен нулю как у второй строки, так и у всех нижележащих строк, прекращаем решение, так как обратная матрица $A^{-1}$ не существует.

    Полагаю, логика прямого хода ясна. На некоем k-м шаге мы работаем с строкой $r_k$. Если k-й элемент $a_k$ этой строки не равен нулю, то выполняем обнуление всех ненулевых элементов k-го столбца, лежащих под строкой $r_k$. Если же $a_k=0$, то меняем местами строку $r_k$ с одной из тех нижележащих строк, у которых k-й элемент отличен от нуля, а затем уже производим обнуление. В случае, когда k-й элемент равен нулю как у строки $r_k$, так и у всех нижележащих строк, прекращаем решение, так как обратная матрица $A^{-1}$ не существует.

    Когда мы придём к последней строке, матрица до черты станет верхней треугольной, т.е. все элементы под главной диагональю будут равны нулю. Это будет означать конец прямого хода метода Гаусса.

    Обратный ход метода Гаусса

    На этом этапе мы поднимаемся по матрице «снизу вверх». Сначала используем последнюю строку $r_n$, затем предпоследнюю $r_{n-1}$ и так далее, пока не дойдём до первой строки. С каждой строкой выполняем однотипные операции.

    Пусть, например, речь идёт о некоей k-й строке. Матрица, расположенная до черты, содержит в строке $r_k$ диагональный элемент $a_{kk}$. Если $a_{kk}=1$, то это нас вполне устраивает, а если $a_{kk}neq{1}$, то просто умножаем строку $r_k$ на коэффициент $frac{1}{a_{kk}}$, чтобы диагональный элемент стал равен 1. Затем с помощью строки $r_k$ обнуляем элементы k-го столбца, расположенные над строкой $r_k$.

    Как только мы дойдём до первой строки, матрица до черты станет единичной, и алгоритм завершится.

    Метод Гаусса-Жордана

    Последовательно используем строки матрицы. На первом шаге работаем с первой строкой, на втором шаге – со второй и так далее. Если в ходе решения в матрице до черты возникла нулевая строка, то прекращаем преобразования, так как обратная матрица $A^{-1}$ не существует.

    На первом шаге прямого хода обратимся к первой строке $r_1$. Первый элемент этой строки обозначим как $a_1$. Если $a_1=0$, то меняем местами первую строку с одной из тех нижележащих строк, у которых первый элемент отличен от нуля. Затем, если $a_1neq{1}$, умножаем строку $r_1$ на $frac{1}{a_1}$ (если $a_1=1$, то никакого домножения делать не надо). Далее с помощью строки $r_1$ производим обнуление всех остальных ненулевых элементов первого столбца, после чего переходим к следующему шагу.

    На втором шаге прямого хода работаем с второй строкой $r_2$. Второй элемент этой строки обозначим как $a_2$. Если $a_2=0$, то меняем местами вторую строку с одной из тех нижележащих строк, у которых второй элемент отличен от нуля. Если таких строк нет, т.е. у всех нижележащих строк второй элемент равен нулю, то прекращаем решение, так как обратная матрица $A^{-1}$ не существует. Затем, если $a_2neq{1}$, умножаем строку $r_2$ на $frac{1}{a_2}$ (если $a_2=1$, то никакого домножения делать не надо). Далее с помощью строки $r_2$ производим обнуление всех остальных ненулевых элементов второго столбца, после чего переходим к следующему шагу.

    Полагаю, логика данного метода ясна. На k-м шаге работаем с k-й строкой $r_k$, k-й элемент которой обозначим как $a_k$. Если $a_k=0$, то меняем местами строку $r_k$ с одной из тех нижележащих строк, у которых k-й элемент отличен от нуля. Если таких строк нет, т.е. у всех нижележащих строк k-й элемент равен нулю, то прекращаем решение, так как обратная матрица $A^{-1}$ не существует. Затем, если $a_kneq{1}$, умножаем строку $r_k$ на $frac{1}{a_k}$ (если $a_k=1$, то никакого домножения делать не надо). Далее с помощью строки $r_k$ производим обнуление всех остальных ненулевых элементов k-го столбца, после чего переходим к следующему шагу.

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

    Перед тем, как переходить к примерам, я введу один дополнительный термин: ведущий элемент. Ведущим элементом ненулевой строки называется её первый (считая слева направо) отличный от нуля элемент. Например, в строке $(0;0;5;-9;0)$ ведущим будет третий элемент (он равен 5).

    Пример №5

    Найти матрицу $A^{-1}$, если
    $A=left(begin{array}{ccc}
    -5 & 23 & -24\
    -1 & 4 & -5\
    9 & -40 & 43 end{array} right)$.

    Решение

    Заданная нам матрица не имеет нулевых строк или столбцов, поэтому можем приступать к нахождению $A^{-1}$. Поставленную задачу решим двумя способами: как преобразованиями метода Гаусса, так и метода Гаусса-Жордана. Для начала запишем матрицу $(A|E)$, которая в нашем случае будет иметь такой вид:

    $$
    left(begin{array}{ccc|ccc}
    -5 & 23 & -24 & 1 & 0 & 0\
    -1 & 4 & -5 & 0 & 1 & 0\
    9 & -40 & 43 & 0 & 0 & 1 end{array}right)
    $$

    Наша цель: привести матрицу $(A|E)$ к виду $left(E|A^{-1}right)$.

    Метод Гаусса

    Прямой ход метода Гаусса

    Первый шаг

    На первом шаге прямого хода мы работаем с первой строкой. Первый элемент этой строки (число -5) не равен нулю, поэтому можем приступать к обнулению ненулевых элементов первого столбца, расположенных под первой строкой. Однако для тех преобразований, которые мы станем делать для обнуления элементов, удобно, когда ведущий элемент используемой строки равен 1 или -1. Почему это так, станет ясно из дальнейших действий. Чтобы ведущий элемент текущей строки стал равен -1, поменяем местами первую строку с одной из нижележащих строк – с второй строкой:

    $$
    left(begin{array}{ccc|ccc}
    -5 & 23 & -24 & 1 & 0 & 0\
    -1 & 4 & -5 & 0 & 1 & 0\
    9 & -40 & 43 & 0 & 0 & 1 end{array}right)
    overset{r_1leftrightarrow{r_2}}{rightarrow}

    left(begin{array}{ccc|ccc}
    boldred{-1} & 4 & -5 & 0 & 1 & 0\
    normblue{-5} & 23 & -24 & 1 & 0 & 0\
    normblue{9} & -40 & 43 & 0 & 0 & 1 end{array}right)
    $$

    Теперь ведущий элемент первой строки стал равен -1 (я выделил этот элемент красным цветом). Приступим к обнулению ненулевых элементов первого столбца, лежащих под первой строкой (они выделены синим цветом). Для этого над строками матрицы нужно выполнить такие действия:

    $$
    begin{aligned}
    &r_2-frac{normblue{-5}}{boldred{-1}}cdot{r_1}=r_2-5r_1;\
    &r_3-frac{normblue{9}}{boldred{-1}}cdot{r_1}=r_3+9r_1.
    end{aligned}
    $$

    Запись $r_2-5r_1$ означает, что от элементов второй строки вычли соответствующие элементы первой строки, умноженные на пять. Результат записывают на место второй строки в новую матрицу. Если с устным выполнением такой операции возникают сложности, то это действие можно выполнить отдельно:

    $$
    r_2-5r_1
    =(-5;;23;;-24;;1;;0;;0)-5cdot(-1;;4;;-5;;0;;1;;0)=\

    =(-5;;23;;-24;;1;;0;;0)-(-5;;20;;-25;;0;;5;;0)
    =(0;;3;;1;;1;;-5;;0)
    $$

    Действие $r_3+9r_1$ выполняется аналогично. Первую строку мы не трогали, поэтому в новую матрицу она перейдёт без изменений:

    $$
    left(begin{array}{ccc|ccc}
    -1 & 4 & -5 & 0 & 1 & 0\
    -5 & 23 & -24 & 1 & 0 & 0\
    9 & -40 & 43 & 0 & 0 & 1 end{array}right)
    begin{array} {l} phantom{0}\ r_2-5r_1 \ r_3+9r_1 end{array} rightarrow

    left(begin{array}{ccc|ccc}
    -1 & 4 & -5 & 0 & 1 & 0\
    0 & 3 & 1 & 1 & -5 & 0\
    0 & -4 & -2 & 0 & 9 & 1 end{array}right)
    $$

    На этом первый шаг закончен. Нулевых строк в матрице до черты не возникло, поэтому продолжаем решение. Кстати, теперь, я полагаю, ясно, зачем надо было менять местами строки. Если бы не смена мест строк, нам пришлось бы выполнять действия $r_2-frac{1}{5}cdot{r_1}$ и $r_3+frac{9}{5}cdot{r_1}$, что привело бы к появлению дробей. А легче, разумеется, работать с целыми числами, чем с дробями.

    Второй шаг

    На втором шаге прямого хода мы работаем с второй строкой. Второй элемент этой строки (число 3) не равен нулю, поэтому можем приступать к обнулению ненулевых элементов второго столбца, расположенных под второй строкой:

    $$
    left(begin{array}{ccc|ccc}
    -1 & 4 & -5 & 0 & 1 & 0\
    0 & 3 & 1 & 1 & -5 & 0\
    0 & -4 & -2 & 0 & 9 & 1 end{array}right)
    begin{array} {l} phantom{0}\ phantom{0} \ r_3+4/3cdot{r_2} end{array} rightarrow

    left(begin{array}{ccc|ccc}
    -1 & 4 & -5 & 0 & 1 & 0\
    0 & 3 & 1 & 1 & -5 & 0\
    0 & 0 & -2/3 & 4/3 & 7/3 & 1 end{array}right)
    $$

    Матрица до черты стала верхней треугольной, поэтому прямой ход метода Гаусса окончен.

    Пару слов насчёт действий со строками, которые мы выполняли на втором шаге. На первом шаге мы меняли местами строки, чтобы ведущий элемент первой строки стал равен -1. Здесь такая смена строк ничего не даст, так как доступна к обмену лишь третья строка, а у неё ведущий элемент тоже не равен ни 1, ни -1. В этом случае можно выполнить дополнительное преобразование со второй строкой: $r_2+r_3$:

    $$
    left(begin{array}{ccc|ccc}
    -1 & 4 & -5 & 0 & 1 & 0\
    0 & 3 & 1 & 1 & -5 & 0\
    0 & -4 & -2 & 0 & 9 & 1 end{array}right)
    begin{array} {l} phantom{0}\ r_2+r_3 \ phantom{0} end{array} rightarrow

    left(begin{array}{ccc|ccc}
    -1 & 4 & -5 & 0 & 1 & 0\
    0 & -1 & -1 & 1 & 4 & 1\
    0 & -4 & -2 & 0 & 9 & 1 end{array}right)
    $$

    После этого текущий шаг прямого хода будет продолжен без дробей. Можно было сделать и такое действие: $3r_3+4r_2$, тогда и необходимый элемент третьего столбца был бы обнулён, и дробей бы не появилось. Выполнять такие действия или нет – надо смотреть по ситуации. Если работы с дробями предвидится немного, то особого смысла в попытках их избежать нет. Если же нас ожидают ещё несколько шагов прямого хода, то, возможно, лучше упростить себе расчёты и выполнить вспомогательное действие, чтобы потом не работать с дробями. К слову, если есть необходимость избавиться от дробей в некоей строке, то можно просто домножить данную строку на соответствующий коэффициент. Например, строку $left(frac{1}{3};;-frac{4}{5};;2;0right)$ можно домножить на число 15, тогда дроби исчезнут, и строка станет такой: $left(5;;-12;;30;0right)$.

    Обратный ход метода Гаусса

    Первый шаг

    На первом шаге обратного хода мы работаем с последней, т.е. третьей строкой матрицы. Посмотрим на диагональный элемент в третьей строке: он равен $-frac{2}{3}$. Сделаем этот элемент единицей, домножив третью строку на $-frac{3}{2}$, а затем с помощью третьей строки обнулим ненулевые элементы третьего столбца, расположенные над третьей строкой:

    $$
    left(begin{array}{ccc|ccc}
    -1 & 4 & -5 & 0 & 1 & 0\
    0 & 3 & 1 & 1 & -5 & 0\
    0 & 0 & -2/3 & 4/3 & 7/3 & 1 end{array}right)
    begin{array} {l} phantom{0}\ phantom{0}\ -3/2cdot{r_3} end{array} rightarrow\

    left(begin{array}{ccc|ccc}
    -1 & 4 & -5 & 0 & 1 & 0\
    0 & 3 & 1 & 1 & -5 & 0\
    0 & 0 & 1 & -2 & -7/2 & -3/2 end{array}right)
    begin{array} {l} r_1+5r_3 phantom{0}\ r_2-r_3\ phantom{0} end{array} rightarrow

    left(begin{array}{ccc|ccc}
    -1 & 4 & 0 & -10 & -33/2 & -15/2\
    0 & 3 & 0 & 3 & -3/2 & 3/2\
    0 & 0 & 1 & -2 & -7/2 & -3/2 end{array}right)
    $$

    Второй шаг

    На втором шаге обратного хода мы работаем с предпоследней, т.е. второй строкой матрицы. Посмотрим на диагональный элемент во второй строке: он равен 3. Сделаем этот элемент единицей, домножив вторую строку на $frac{1}{3}$, а затем с помощью второй строки обнулим ненулевой элемент второго столбца, расположенный над второй строкой:

    $$
    left(begin{array}{ccc|ccc}
    -1 & 4 & 0 & -10 & -33/2 & -15/2\
    0 & 3 & 0 & 3 & -3/2 & 3/2\
    0 & 0 & 1 & -2 & -7/2 & -3/2 end{array}right)
    begin{array} {l} phantom{0}\ 1/3cdot{r_2} \ phantom{0} end{array} rightarrow\

    left(begin{array}{ccc|ccc}
    -1 & 4 & 0 & -10 & -33/2 & -15/2\
    0 & 1 & 0 & 1 & -1/2 & 1/2\
    0 & 0 & 1 & -2 & -7/2 & -3/2 end{array}right)
    begin{array} {l} r_1-4r_2\ phantom{0} \ phantom{0} end{array} rightarrow

    left(begin{array}{ccc|ccc}
    -1 & 0 & 0 & -14 & -29/2 & -19/2\
    0 & 1 & 0 & 1 & -1/2 & 1/2\
    0 & 0 & 1 & -2 & -7/2 & -3/2 end{array}right)
    $$

    Третий шаг

    Работаем с первой строкой. Сделаем диагональный элемент в первой строке (число -1) равным единице, домножив первую строку на -1:

    $$
    left(begin{array}{ccc|ccc}
    -1 & 0 & 0 & -14 & -29/2 & -19/2\
    0 & 1 & 0 & 1 & -1/2 & 1/2\
    0 & 0 & 1 & -2 & -7/2 & -3/2 end{array}right)
    begin{array} {l} -1cdot{r_1}\ phantom{0} \ phantom{0} end{array} rightarrow

    left(begin{array}{ccc|ccc}
    1 & 0 & 0 & 14 & 29/2 & 19/2\
    0 & 1 & 0 & 1 & -1/2 & 1/2\
    0 & 0 & 1 & -2 & -7/2 & -3/2 end{array}right)
    $$

    Матрица до черты стала единичной, преобразования завершены. Обратная матрица будет такой:

    $$
    A^{-1}
    =left(begin{array}{ccc}
    14 & 29/2 & 19/2\
    1 & -1/2 & 1/2\
    -2 & -7/2 & -3/2 end{array}right)
    $$

    Если пропустить все пояснения, то решение будет таким:

    $$
    left(begin{array}{ccc|ccc}
    -5 & 23 & -24 & 1 & 0 & 0\
    -1 & 4 & -5 & 0 & 1 & 0\
    9 & -40 & 43 & 0 & 0 & 1 end{array}right)
    overset{r_1leftrightarrow{r_2}}{rightarrow}
    $$

    $$
    rightarrowleft(begin{array}{ccc|ccc}
    -1 & 4 & -5 & 0 & 1 & 0\
    -5 & 23 & -24 & 1 & 0 & 0\
    9 & -40 & 43 & 0 & 0 & 1 end{array}right)
    begin{array} {l} phantom{0}\ r_2-5r_1 \ r_3+9r_1 end{array} rightarrow

    left(begin{array}{ccc|ccc}
    -1 & 4 & -5 & 0 & 1 & 0\
    0 & 3 & 1 & 1 & -5 & 0\
    0 & -4 & -2 & 0 & 9 & 1 end{array}right)
    begin{array} {l} phantom{0}\ phantom{0} \ r_3+4/3cdot{r_2} end{array} rightarrow
    $$

    $$
    rightarrowleft(begin{array}{ccc|ccc}
    -1 & 4 & -5 & 0 & 1 & 0\
    0 & 3 & 1 & 1 & -5 & 0\
    0 & 0 & -2/3 & 4/3 & 7/3 & 1 end{array}right)
    begin{array} {l} phantom{0}\ phantom{0}\ -3/2cdot{r_3} end{array} rightarrow

    left(begin{array}{ccc|ccc}
    -1 & 4 & -5 & 0 & 1 & 0\
    0 & 3 & 1 & 1 & -5 & 0\
    0 & 0 & 1 & -2 & -7/2 & -3/2 end{array}right)
    begin{array} {l} r_1+5r_3 phantom{0}\ r_2-r_3\ phantom{0} end{array} rightarrow
    $$

    $$
    rightarrowleft(begin{array}{ccc|ccc}
    -1 & 4 & 0 & -10 & -33/2 & -15/2\
    0 & 3 & 0 & 3 & -3/2 & 3/2\
    0 & 0 & 1 & -2 & -7/2 & -3/2 end{array}right)
    begin{array} {l} phantom{0}\ 1/3cdot{r_2} \ phantom{0} end{array} rightarrow

    left(begin{array}{ccc|ccc}
    -1 & 4 & 0 & -10 & -33/2 & -15/2\
    0 & 1 & 0 & 1 & -1/2 & 1/2\
    0 & 0 & 1 & -2 & -7/2 & -3/2 end{array}right)
    begin{array} {l} r_1-4r_2\ phantom{0} \ phantom{0} end{array} rightarrow
    $$

    $$
    rightarrowleft(begin{array}{ccc|ccc}
    -1 & 0 & 0 & -14 & -29/2 & -19/2\
    0 & 1 & 0 & 1 & -1/2 & 1/2\
    0 & 0 & 1 & -2 & -7/2 & -3/2 end{array}right)
    begin{array} {l} -1cdot{r_1}\ phantom{0} \ phantom{0} end{array} rightarrow

    left(begin{array}{ccc|ccc}
    1 & 0 & 0 & 14 & 29/2 & 19/2\
    0 & 1 & 0 & 1 & -1/2 & 1/2\
    0 & 0 & 1 & -2 & -7/2 & -3/2 end{array}right)
    $$

    Теперь решим этот же пример методом Гаусса-Жордана.

    Метод Гаусса-Жордана

    Первый шаг

    На первом шаге мы работаем с первой строкой. Первый элемент этой строки (число -5) не равен нулю, поэтому можем следовать стандартному алгоритму: домножить первую строку на $-frac{1}{5}$, чтобы первый элемент стал равен единице, а затем обнулить все иные ненулевые элементы первого столбца. Однако, как и при решении методом Гаусса, удобно, когда ведущий элемент используемой строки равен 1 или -1. Поэтому как и на первом шаге метода Гаусса, поменяем местами первую строку с второй строкой:

    $$
    left(begin{array}{ccc|ccc}
    -5 & 23 & -24 & 1 & 0 & 0\
    -1 & 4 & -5 & 0 & 1 & 0\
    9 & -40 & 43 & 0 & 0 & 1 end{array}right)
    overset{r_1leftrightarrow{r_2}}{rightarrow}

    left(begin{array}{ccc|ccc}
    -1 & 4 & -5 & 0 & 1 & 0\
    normblue{-5} & 23 & -24 & 1 & 0 & 0\
    normblue{9} & -40 & 43 & 0 & 0 & 1 end{array}right)
    $$

    Теперь первый элемент первой строки стал равен -1. Чтобы этот элемент стал равен 1, домножим первую строку на -1, а потом обнулим все остальные ненулевые элементы первого столбца (они выделены в матрице выше синим цветом):

    $$
    left(begin{array}{ccc|ccc}
    -1 & 4 & -5 & 0 & 1 & 0\
    -5 & 23 & -24 & 1 & 0 & 0\
    9 & -40 & 43 & 0 & 0 & 1 end{array}right)
    begin{array} {l} -1cdot{r_1}\ phantom{0} \ phantom{0} end{array} rightarrow\

    rightarrowleft(begin{array}{ccc|ccc}
    1 & -4 & 5 & 0 & -1 & 0\
    -5 & 23 & -24 & 1 & 0 & 0\
    9 & -40 & 43 & 0 & 0 & 1 end{array}right)
    begin{array} {l} phantom{0}\ r_2+5r_1 \ r_3-9r_1 end{array} rightarrow

    left(begin{array}{ccc|ccc}
    1 & -4 & 5 & 0 & -1 & 0\
    0 & 3 & 1 & 1 & -5 & 0\
    0 & -4 & -2 & 0 & 9 & 1 end{array}right)
    $$

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

    Второй шаг

    На втором шаге мы работаем с второй строкой. Второй элемент этой строки (число 3) не равен нулю, поэтому домножаем вторую строку на $frac{1}{3}$, чтобы второй элемент стал равен единице, а затем обнуляем все иные ненулевые элементы второго столбца.

    $$
    left(begin{array}{ccc|ccc}
    1 & -4 & 5 & 0 & -1 & 0\
    0 & 3 & 1 & 1 & -5 & 0\
    0 & -4 & -2 & 0 & 9 & 1 end{array}right)
    begin{array} {l} phantom{0}\1/3cdot{r_2} \phantom{0}end{array} rightarrow\

    rightarrowleft(begin{array}{ccc|ccc}
    1 & -4 & 5 & 0 & -1 & 0\
    0 & 1 & 1/3 & 1/3 & -5/3 & 0\
    0 & -4 & -2 & 0 & 9 & 1 end{array}right)
    begin{array} {l} r_1+4r_2\ phantom{0} \ r_3+4r_2 end{array} rightarrow

    left(begin{array}{ccc|ccc}
    1 & 0 & 19/3 & 4/3 & -23/3 & 0\
    0 & 1 & 1/3 & 1/3 & -5/3 & 0\
    0 & 0 & -2/3 & 4/3 & 7/3 & 1 end{array}right)
    $$

    Замечание относительно облегчения работы с дробями, сделанное после второго шага прямого хода метода Гаусса, остаётся в силе и здесь.

    Третий шаг

    На третьем шаге мы работаем с третьей строкой. Третий элемент этой строки (число -2/3) не равен нулю, поэтому домножаем третью строку на $-frac{3}{2}$, чтобы третий элемент стал равен единице, а затем обнуляем все иные ненулевые элементы третьего столбца.

    $$
    left(begin{array}{ccc|ccc}
    1 & 0 & 19/3 & 4/3 & -23/3 & 0\
    0 & 1 & 1/3 & 1/3 & -5/3 & 0\
    0 & 0 & -2/3 & 4/3 & 7/3 & 1 end{array}right)
    begin{array} {l} phantom{0}\phantom{0} \ -3/2cdot{r_3}end{array} rightarrow\

    rightarrowleft(begin{array}{ccc|ccc}
    1 & 0 & 19/3 & 4/3 & -23/3 & 0\
    0 & 1 & 1/3 & 1/3 & -5/3 & 0\
    0 & 0 & 1 & -2 & -7/2 & -3/2 end{array}right)
    begin{array} {l} r_1-19/3r_3\ r_2-1/3cdot{r_3} \ phantom{0} end{array} rightarrow

    left(begin{array}{ccc|ccc}
    1 & 0 & 0 & 14 & 29/2 & 19/2\
    0 & 1 & 0 & 1 & -1/2 & 1/2\
    0 & 0 & 1 & -2 & -7/2 & -3/2 end{array}right)
    $$

    Матрица до черты стала единичной, преобразования завершены. Обратная матрица будет такой:

    $$
    A^{-1}
    =left(begin{array}{ccc}
    14 & 29/2 & 19/2\
    1 & -1/2 & 1/2\
    -2 & -7/2 & -3/2 end{array}right)
    $$

    Если пропустить все пояснения, то решение будет таким:

    $$
    left(begin{array}{ccc|ccc}
    -5 & 23 & -24 & 1 & 0 & 0\
    -1 & 4 & -5 & 0 & 1 & 0\
    9 & -40 & 43 & 0 & 0 & 1 end{array}right)
    overset{r_1leftrightarrow{r_2}}{rightarrow}

    left(begin{array}{ccc|ccc}
    -1 & 4 & -5 & 0 & 1 & 0\
    -5 & 23 & -24 & 1 & 0 & 0\
    9 & -40 & 43 & 0 & 0 & 1 end{array}right)
    begin{array} {l} -1cdot{r_1}\ phantom{0} \ phantom{0} end{array} rightarrow
    $$

    $$
    rightarrowleft(begin{array}{ccc|ccc}
    1 & -4 & 5 & 0 & -1 & 0\
    -5 & 23 & -24 & 1 & 0 & 0\
    9 & -40 & 43 & 0 & 0 & 1 end{array}right)
    begin{array} {l} phantom{0}\ r_2+5r_1 \ r_3-9r_1 end{array} rightarrow

    left(begin{array}{ccc|ccc}
    1 & -4 & 5 & 0 & -1 & 0\
    0 & 3 & 1 & 1 & -5 & 0\
    0 & -4 & -2 & 0 & 9 & 1 end{array}right)
    begin{array} {l} phantom{0}\1/3cdot{r_2} \phantom{0}end{array} rightarrow
    $$

    $$
    rightarrowleft(begin{array}{ccc|ccc}
    1 & -4 & 5 & 0 & -1 & 0\
    0 & 1 & 1/3 & 1/3 & -5/3 & 0\
    0 & -4 & -2 & 0 & 9 & 1 end{array}right)
    begin{array} {l} r_1+4r_2\ phantom{0} \ r_3+4r_2 end{array} rightarrow

    left(begin{array}{ccc|ccc}
    1 & 0 & 19/3 & 4/3 & -23/3 & 0\
    0 & 1 & 1/3 & 1/3 & -5/3 & 0\
    0 & 0 & -2/3 & 4/3 & 7/3 & 1 end{array}right)
    begin{array} {l} phantom{0}\phantom{0} \ -3/2cdot{r_3}end{array} rightarrow
    $$

    $$
    rightarrowleft(begin{array}{ccc|ccc}
    1 & 0 & 19/3 & 4/3 & -23/3 & 0\
    0 & 1 & 1/3 & 1/3 & -5/3 & 0\
    0 & 0 & 1 & -2 & -7/2 & -3/2 end{array}right)
    begin{array} {l} r_1-19/3r_3\ r_2-1/3cdot{r_3} \ phantom{0} end{array} rightarrow

    left(begin{array}{ccc|ccc}
    1 & 0 & 0 & 14 & 29/2 & 19/2\
    0 & 1 & 0 & 1 & -1/2 & 1/2\
    0 & 0 & 1 & -2 & -7/2 & -3/2 end{array}right)
    $$

    Ответ: $A^{-1}
    =left(begin{array}{ccc}
    14 & 29/2 & 19/2\
    1 & -1/2 & 1/2\
    -2 & -7/2 & -3/2 end{array}right)$.

    Пример №6

    Найти матрицу $A^{-1}$, если
    $A=left(begin{array}{cccc}
    -2 & 3 & 0 & 1\
    -6 & 9 & -2 & 7\
    0 & -2 & -18 & 27\
    -4 & 5 & -8 & 14end{array} right)$.

    Решение

    В предыдущем примере были даны подробные пояснения каждого шага как метода Гаусса, так и метода Гаусса-Жордана. В этом примере я стану комментировать лишь некие нюансы, которые возникнут в ходе решения.

    Метод Гаусса

    $$
    left(begin{array}{cccc|cccc}
    -2 & 3 & 0 & 1 & 1 & 0 & 0 & 0\
    -6 & 9 & -2 & 7 & 0 & 1 & 0 & 0 \
    0 & -2 & -18 & 27 & 0 & 0 & 1 & 0\
    -4 & 5 & -8 & 14 & 0 & 0 & 0 & 1
    end{array} right)
    begin{array} {l} phantom{0} \ r_2-3r_1 \ phantom{0} \ r_4-2r_1 end{array} rightarrow

    left(begin{array}{cccc|cccc}
    -2 & 3 & 0 & 1 & 1 & 0 & 0 & 0\
    0 & 0 & -2 & 4 & -3 & 1 & 0 & 0 \
    0 & -2 & -18 & 27 & 0 & 0 & 1 & 0\
    0 & -1 & -8 & 12 & -2 & 0 & 0 & 1
    end{array} right)
    $$

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

    $$
    left(begin{array}{cccc|cccc}
    -2 & 3 & 0 & 1 & 1 & 0 & 0 & 0\
    0 & 0 & -2 & 4 & -3 & 1 & 0 & 0 \
    0 & -2 & -18 & 27 & 0 & 0 & 1 & 0\
    0 & -1 & -8 & 12 & -2 & 0 & 0 & 1
    end{array} right)
    overset{r_2leftrightarrow{r_4}}{rightarrow}

    left(begin{array}{cccc|cccc}
    -2 & 3 & 0 & 1 & 1 & 0 & 0 & 0\
    0 & -1 & -8 & 12 & -2 & 0 & 0 & 1\
    0 & -2 & -18 & 27 & 0 & 0 & 1 & 0\
    0 & 0 & -2 & 4 & -3 & 1 & 0 & 0
    end{array} right)
    begin{array} {l} phantom{0} \ phantom{0} \ r_3-2r_2 \ phantom{0} end{array} rightarrow
    $$

    $$
    rightarrowleft(begin{array}{cccc|cccc}
    -2 & 3 & 0 & 1 & 1 & 0 & 0 & 0\
    0 & -1 & -8 & 12 & -2 & 0 & 0 & 1\
    0 & 0 & -2 & 3 & 4 & 0 & 1 & -2\
    0 & 0 & -2 & 4 & -3 & 1 & 0 & 0
    end{array} right)
    begin{array} {l} phantom{0} \ phantom{0} \ phantom{0} \ r_4-r_3 end{array} rightarrow
    $$

    $$
    rightarrowleft(begin{array}{cccc|cccc}
    -2 & 3 & 0 & 1 & 1 & 0 & 0 & 0\
    0 & -1 & -8 & 12 & -2 & 0 & 0 & 1\
    0 & 0 & -2 & 3 & 4 & 0 & 1 & -2\
    0 & 0 & 0 & 1 & -7 & 1 & -1 & 2 end{array} right)
    begin{array} {l} r_1-r_4 \ r_2-12r_4 \ r_3-3r_1 \ phantom{0} end{array} rightarrow
    $$

    $$
    rightarrowleft(begin{array}{cccc|cccc}
    -2 & 3 & 0 & 0 & 8 & -1 & 1 & -2\
    0 & -1 & -8 & 0 & 82 & -12 & 12 & -23\
    0 & 0 & -2 & 0 & 25 & -3 & 4 & -8\
    0 & 0 & 0 & 1 & -7 & 1 & -1 & 2
    end{array} right)
    begin{array} {l} phantom{0} \ phantom{0} \ -1/2cdot{r_3} \ phantom{0} end{array} rightarrow
    $$

    $$
    rightarrowleft(begin{array}{cccc|cccc}
    -2 & 3 & 0 & 0 & 8 & -1 & 1 & -2\
    0 & -1 & -8 & 0 & 82 & -12 & 12 & -23\
    0 & 0 & 1 & 0 & -25/2 & 3/2 & -2 & 4\
    0 & 0 & 0 & 1 & -7 & 1 & -1 & 2
    end{array} right)
    begin{array} {l} phantom{0} \ r_2+8r_3 \ phantom{0} \ phantom{0} end{array} rightarrow
    $$

    $$
    rightarrowleft(begin{array}{cccc|cccc}
    -2 & 3 & 0 & 0 & 8 & -1 & 1 & -2\
    0 & -1 & 0 & 0 & -18 & 0 & -4 & 9\
    0 & 0 & 1 & 0 & -25/2 & 3/2 & -2 & 4\
    0 & 0 & 0 & 1 & -7 & 1 & -1 & 2
    end{array} right)
    begin{array} {l} phantom{0} \ -1cdot{r_2} \ phantom{0} \ phantom{0} end{array} rightarrow
    $$

    $$
    rightarrowleft(begin{array}{cccc|cccc}
    -2 & 3 & 0 & 0 & 8 & -1 & 1 & -2\
    0 & 1 & 0 & 0 & 18 & 0 & 4 & -9\
    0 & 0 & 1 & 0 & -25/2 & 3/2 & -2 & 4\
    0 & 0 & 0 & 1 & -7 & 1 & -1 & 2
    end{array} right)
    begin{array} {l} r_1-3r_2 \ phantom{0} \ phantom{0} \ phantom{0} end{array} rightarrow

    $$

    $$
    rightarrowleft(begin{array}{cccc|cccc}
    -2 & 0 & 0 & 0 & -46 & -1 & -11 & 25\
    0 & 1 & 0 & 0 & 18 & 0 & 4 & -9\
    0 & 0 & 1 & 0 & -25/2 & 3/2 & -2 & 4\
    0 & 0 & 0 & 1 & -7 & 1 & -1 & 2
    end{array} right)
    begin{array} {l} -1/2cdot{r_1} \ phantom{0} \ phantom{0} \ phantom{0} end{array} rightarrow
    $$

    $$
    rightarrowleft(begin{array}{cccc|cccc}
    1 & 0 & 0 & 0 & 23 & 1/2 & 11/2 & -25/2\
    0 & 1 & 0 & 0 & 18 & 0 & 4 & -9\
    0 & 0 & 1 & 0 & -25/2 & 3/2 & -2 & 4\
    0 & 0 & 0 & 1 & -7 & 1 & -1 & 2
    end{array}right)
    $$

    Из последней матрицы получаем ответ:

    $$
    A^{-1}
    =left(begin{array}{cccc}
    23 & 1/2 & 11/2 & -25/2\
    18 & 0 & 4 & -9\
    -25/2 & 3/2 & -2 & 4\
    -7 & 1 & -1 & 2
    end{array}right)
    $$

    Метод Гаусса-Жордана

    $$
    left(begin{array}{cccc|cccc}
    -2 & 3 & 0 & 1 & 1 & 0 & 0 & 0\
    -6 & 9 & -2 & 7 & 0 & 1 & 0 & 0 \
    0 & -2 & -18 & 27 & 0 & 0 & 1 & 0\
    -4 & 5 & -8 & 14 & 0 & 0 & 0 & 1
    end{array} right)
    begin{array} {l} -1/2cdot{r_1} \ phantom{0} \ phantom{0} \ phantom{0} end{array} rightarrow
    $$

    $$
    rightarrowleft(begin{array}{cccc|cccc}
    1 & -3/2 & 0 & -1/2 & -1/2 & 0 & 0 & 0\
    -6 & 9 & -2 & 7 & 0 & 1 & 0 & 0 \
    0 & -2 & -18 & 27 & 0 & 0 & 1 & 0\
    -4 & 5 & -8 & 14 & 0 & 0 & 0 & 1
    end{array} right)
    begin{array} {l} phantom{0} \ r_2+6r_1 \ phantom{0} \ r_4+4r_1 end{array} rightarrow
    $$

    $$
    rightarrowleft(begin{array}{cccc|cccc}
    1 & -3/2 & 0 & -1/2 & -1/2 & 0 & 0 & 0\
    0 & 0 & -2 & 4 & -3 & 1 & 0 & 0 \
    0 & -2 & -18 & 27 & 0 & 0 & 1 & 0\
    0 & -1 & -8 & 12 & -2 & 0 & 0 & 1
    end{array} right)
    $$

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

    $$
    left(begin{array}{cccc|cccc}
    1 & -3/2 & 0 & -1/2 & -1/2 & 0 & 0 & 0\
    0 & 0 & -2 & 4 & -3 & 1 & 0 & 0 \
    0 & -2 & -18 & 27 & 0 & 0 & 1 & 0\
    0 & -1 & -8 & 12 & -2 & 0 & 0 & 1
    end{array} right)
    overset{r_2leftrightarrow{r_4}}{rightarrow}
    $$

    $$
    rightarrowleft(begin{array}{cccc|cccc}
    1 & -3/2 & 0 & -1/2 & -1/2 & 0 & 0 & 0\
    0 & -1 & -8 & 12 & -2 & 0 & 0 & 1 \
    0 & -2 & -18 & 27 & 0 & 0 & 1 & 0\
    0 & 0 & -2 & 4 & -3 & 1 & 0 & 0
    end{array} right)
    begin{array} {l} phantom{0} \ -1cdot{r_2} \ phantom{0} \ phantom{0} end{array} rightarrow
    $$

    $$
    rightarrowleft(begin{array}{cccc|cccc}
    1 & -3/2 & 0 & -1/2 & -1/2 & 0 & 0 & 0\
    0 & 1 & 8 & -12 & 2 & 0 & 0 & -1 \
    0 & -2 & -18 & 27 & 0 & 0 & 1 & 0\
    0 & 0 & -2 & 4 & -3 & 1 & 0 & 0
    end{array} right)
    begin{array} {l} r_1+3/2cdot{r_2} \ phantom{0} \ r_3+2r_2 \ phantom{0} end{array} rightarrow
    $$

    $$
    rightarrowleft(begin{array}{cccc|cccc}
    1 & 0 & 12 & -37/2 & 5/2 & 0 & 0 & -3/2\
    0 & 1 & 8 & -12 & 2 & 0 & 0 & -1 \
    0 & 0 & -2 & 3 & 4 & 0 & 1 & -2\
    0 & 0 & -2 & 4 & -3 & 1 & 0 & 0
    end{array} right)
    begin{array} {l} phantom{0} \ phantom{0} \ -1/2cdot{r_3} \ phantom{0} end{array} rightarrow
    $$

    $$
    rightarrowleft(begin{array}{cccc|cccc}
    1 & 0 & 12 & -37/2 & 5/2 & 0 & 0 & -3/2\
    0 & 1 & 8 & -12 & 2 & 0 & 0 & -1 \
    0 & 0 & 1 & -3/2 & -2 & 0 & -1/2 & 1\
    0 & 0 & -2 & 4 & -3 & 1 & 0 & 0
    end{array} right)
    begin{array} {l} r_1-12r_3 \ r_2-8r_3 \ phantom{0} \ r_4+2r_3 end{array} rightarrow
    $$

    $$
    rightarrowleft(begin{array}{cccc|cccc}
    1 & 0 & 0 & -1/2 & 53/2 & 0 & 6 & -27/2\
    0 & 1 & 0 & 0 & 18 & 0 & 4 & -9 \
    0 & 0 & 1 & -3/2 & -2 & 0 & -1/2 & 1\
    0 & 0 & 0 & 1 & -7 & 1 & -1 & 2
    end{array} right)
    begin{array} {l} r_1+1/2cdot{r_4} \ phantom{0} \ r_3+3/2cdot{r_4} \ phantom{0} end{array} rightarrow
    $$

    $$
    rightarrowleft(begin{array}{cccc|cccc}
    1 & 0 & 0 & 0 & 23 & 1/2 & 11/2 & -25/2\
    0 & 1 & 0 & 0 & 18 & 0 & 4 & -9\
    0 & 0 & 1 & 0 & -25/2 & 3/2 & -2 & 4\
    0 & 0 & 0 & 1 & -7 & 1 & -1 & 2
    end{array}right)
    $$

    Из последней матрицы получаем ответ:

    $$
    A^{-1}
    =left(begin{array}{cccc}
    23 & 1/2 & 11/2 & -25/2\
    18 & 0 & 4 & -9\
    -25/2 & 3/2 & -2 & 4\
    -7 & 1 & -1 & 2
    end{array}right)
    $$

    Ответ: $
    A^{-1}
    =left(begin{array}{cccc}
    23 & 1/2 & 11/2 & -25/2\
    18 & 0 & 4 & -9\
    -25/2 & 3/2 & -2 & 4\
    -7 & 1 & -1 & 2
    end{array}right)
    $.

    Пример №7

    Найти матрицу $A^{-1}$, если
    $A=left(begin{array}{ccc}
    1 & -2 & 5\
    -2 & 5 & -13\
    -3 & 4 & -9end{array} right)$.

    Решение

    В данном примере применим метод Гаусса.

    $$
    left(begin{array}{ccc|ccc}
    1 & -2 & 5 & 1 & 0 & 0\
    -2 & 5 & -13 & 0 & 1 & 0\
    -3 & 4 & -9 & 0 & 0 & 1end{array} right)
    begin{array} {l} phantom{0} \ r_2+2r_1 \ r_3+3r_1 end{array} rightarrow\
    $$

    $$
    rightarrowleft(begin{array}{ccc|ccc}
    1 & -2 & 5 & 1 & 0 & 0\
    0 & 1 & -3 & 2 & 1 & 0\
    0 & -2 & 6 & 3 & 0 & 1end{array} right)
    begin{array} {l} phantom{0} \ phantom{0} \ r_3+2r_2 end{array} rightarrow

    left(begin{array}{ccc|ccc}
    1 & -2 & 5 & 1 & 0 & 0\
    0 & 1 & -3 & 2 & 1 & 0\
    0 & 0 & 0 & 7 & 2 & 1end{array}right)
    $$

    В матрице до черты появилась нулевая строка. Это означает, что обратная матрица $A^{-1}$ не существует.

    Ответ: обратной матрицы не существует.

    Понравилась статья? Поделить с друзьями:
  • Если утюгом припалил вещь как исправить быстро убрать
  • Смотреть как нашли русалку
  • Как составить маршрут турпохода
  • Autorun dll 0x7e как исправить
  • Как исправить разбитые румяна без спирта