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

Общий случай СЛАУ Основы линейной алгебры

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

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

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

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

Матричное уравнение имеет вид A*X = B, где:

  • A — матрица коэффициентов
  • X — матрица столбцов переменных
  • B — матрица столбцов констант, которые находятся в правой части уравнений системы

Для примера рассмотрим систему из n уравнений с n переменных:

{
((a_11 * x_1) + (a_12 * x_2) + ... + (a_(1n) * x_n) = b_1),
((a_21 * x_1) + (a_22 * x_2) + ... + (a_(2n) * x_n) = b_2),
(...),
((a_(n1) * x_1) + (a_(n2) * x_2) + ... + (a_(n\n) * x_n) = b_n)
}

Тогда матричное уравнение, соответствующее вышеуказанной системе, имеет вид A * X = B, где:

  • A — матрица, составленная из коэффициентов
  • X — матрица столбцов переменных
  • B — матрица столбцов констант

Подставим все три матрицы в формулу:

[[a_11,a_12,...,a_(1n)],[a_21,a_22,...,a_(2n)],[:,:,:,:],[a_(n1),a_(n2),...,a_(n\n)]]*[[x_1],[x_2],[:],[x_n]]=[[b_1],[b_2],[:],[b_n]]

Как написать матричное уравнение

Чтобы записать систему уравнений в виде матричного уравнения, нужно выполнить четыре шага:

  • Убедиться, что переменные находятся в одинаковом порядке в каждом уравнении
  • Убедиться, что все переменные находятся в левой части, а все постоянные — в правой
  • Найти матрицу коэффициентов A, матрицу переменных X и матрицу постоянных B
  • Записать систему в виде матричного уравнения A*X = B

Попробуем попрактиковаться на примерах. Возьмем такую систему уравнений:

{
    (3x + y + 2z - 10 = 0),
    (z - 3y = -5),
    (y + x - 2z = 7)
}

Попробуем записать ее в виде матричного уравнения.

Для этого по порядку расположим все переменные с левой стороны, а постоянные — с правой:

{
    (3x + y + 2z = 10),
    (0x - 3y + z = -5),
    (x + y - 2z = 7)
}

Теперь мы можем записать эту систему в виде матрицы:

A=[[3,1,2,10],[0,-3,1,-5],[1,1,-2,7]]

У нас получилось матричное уравнение этой системы. Еще его можно записать в виде A * X = B:

[[3,1,2],[0,-3,1],[1,1,-2]]*[[x],[y],[z]]=[[10],[-5],[7]]

Как решать матричное уравнение

Давайте попробуем решить матричное уравнение A*X = B для X.

Умножим обе стороны уравнения на обратную величину A. Для удобства запишем ее как A^(-1):

A^(-1)*(A*X) = A^(-1)*B

Для удобства введем I — это матрица тождества того же порядка, что и A.

Она помогает нам определить, что:

  • A^(-1)*A = I — следовательно, IX = A^(-1)*B
  • I*X = X — следовательно, X = A^(-1)*B

Так мы постепенно приходим к решению матричного уравнения. Оно также известно как обратное матричное уравнение. Поэтому формула выше известна как *«формула обратной матрицы»**.

Итак, вот шаги по решению системы уравнений с помощью матриц:

  • Записываем систему в виде матричного уравнения A*X = B
  • Находим обратную матрицу A^(-1)
  • Умножаем эту матрицу на постоянную матрицу B, чтобы получить решение X = A^(-1)*B

Последовательность в матричных уравнениях

Мы знаем, что найти обратную матрицу можно только в том случае, если ее определитель не равен нулю. Таким образом, единственное решение уравнения (X = A^(-1)*B) существует только тогда, когда det (A) ne 0.

А теперь представим систему уравнений, в которой det (A) = 0. Как узнать, сколько решений может иметь система?

В этом случае нужно найти adj(A) * B, где adj (A) означает смежность A.

При этом нужно сопоставить наше выражение с нулевой матрицей O и прийти к одному из двух вариантов:

  • Если adj (A) * B ne O, то система не имеет решения
  • Если adj (A) * B = O, то система либо последовательная (с бесконечным числом решений), либо непоследовательная (без решения)

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

A=[[0,0],[0,0]]
B=[[0],[0]]
X=[[x_1],[x_2]]
detA=[[0,0],[0,0]]=0*0-0*0=0-0=0

Выводы

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


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

Задача 1

Решите систему уравнений с помощью матриц:

3x + y + 2z = 10
z - 3y = -5
y + x - 2z = 7
Нажмите, чтобы увидеть ответ

Чтобы решить эту системы уравнений, мы можем записать коэффициенты переменных в матрицу коэффициентов A и результаты уравнений в матрицу значений B. Затем мы можем найти значения переменных, используя метод Гаусса.

Шаг 1. Запишем матрицы системы уравнений:

A = [[3, 1, 2], [0, -3, 1], [1, 1, -2]]
B = [10, -5, 7]

Шаг 2. Получим обратную матрицу A

A^(-1)= [[5/22, 2/11, 7/22], [1/22, -4/11, -3/22], [3/22, -1/11, -9/22]]

Шаг 3. Получим решение как A^(-1) * B:

x = 79/22
y = 29/22
z = -23/22

Шаг 4. Проверим решение через A * x, где x это вектор решений:

A * x = [[10], [-5], [7]]

Задача 2

Напишите матричное уравнение для следующей системы уравнений:

{(a + b + c = 6),
(2a + 3b - c = 1),
(3a - b + c = 7)
}
Нажмите, чтобы увидеть ответ

Мы можем записать коэффициенты переменных в матрицу коэффициентов A и результаты уравнений в матрицу значений B. Затем мы можем получить матрицу переменных X, используя матричное умножение.

Запишем матричное уравнение для системы уравнений A * X = B, где:

A = [[1, 1, 1], [2, 3, -1], [3, -1, 1]]

B = [[6], [1], [7]]

Задача 3

Найдите решение для матричного уравнения A * X = B, где:

A = [[1, 1, 1], [2, 3, 1], [3, 1, 2]]

B = [[6], [9], [10]]
Нажмите, чтобы увидеть ответ

Повторим алгоритм решения из первого задания. Умножаем матрицу B на обратную матрицу A и получаем матрицу X, которая представляет значения переменных.

Решение для матричного уравнения выглядит так:

A^(-1)= [[-5/3,  1/3,  2/3],[ 1/3,  1/3, -1/3],[ 7/3, -2/3, -1/3]]

X = A^(-1)* B = [[-1/3], [5/3], [14/3]]

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

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

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

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

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

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

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

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