Основы линейной алгебры
Определители
Каждой квадратной матрице порядка ставится в соответствие число det (или , или ), называемое ее определителем (или детерминантом).
Для матрицы порядка 1, состоящей из одного элемента, определитель равен этому элементу.
Определители второго порядка
Определитель матрицы второго порядка вычисляется по формуле:
Например: .
В Engee определитель квадратной матрицы вычисляется с помощью функции det, содержащейся в библиотеке LinearAlgebra.
Например, определитель матрицы вычисляется следующим образом:
using LinearAlgebra;
A = [2 -3; 5 6];
det(A)
✏️Задание 1
Найдите в Engee определитель матрицы второго порядка
Решение
using LinearAlgebra;
A = [-7 16; 54 -3];
det(A)
Определители третьего порядка
Определитель матрицы третьего порядка вычисляется по формуле:
Например: .
В Engee определитель матрицы третьего порядка также вычисляется с помощью функции det.
✏️Задание 2
Найдите в Engee определитель матрицы третьего порядка
Решение
using LinearAlgebra;
A = [5 -2 1; 3 1 -4; 6 0 -3];
det(A)
Свойства определителей
- Определитель не изменится, если его строки заменить столбцами и наоборот.
Например: .
Строки и столбцы называют рядами определителя.
- При перестановке двух параллельных рядов определитель меняет знак.
Например: . Переставив строки определителя, получим: .
- Определитель, имеющий два одинаковых ряда, равен нулю.
Например: .
- Общий множитель элементов какого-либо ряда определителя можно вынести за знак определителя.
Например: .
- Определитель, содержащий нулевой ряд, равен нулю.
Например: .
- Если все элементы некоторого ряда пропорциональны соответствующим элементам параллельного ряда, то определитель равен нулю.
Например: , т.к. все элементы 3-й строки определителя пропорциональны соответствующим элементам второй строки.
- Определитель не изменится, если к элементам одного ряда прибавить соответствующие элементы параллельного ряда, умноженные на любое число.
Например: .
Рассмотрим в Engee пример, приведенный в свойстве 7. Зададим исходную матрицу и вычислим ее определитель. Затем преобразуем матрицу: первую строку оставим без изменений, ко второй строке прибавим первую строку, умноженную на , а к третьей строке прибавим первую строку, умноженную на . Получится новая матрица . Вычислим ее определитель и убедимся в том, что он совпадает с определителем матрицы .
using LinearAlgebra;
A = [1 2 3; 4 5 6; 7 8 9];
println("det(A)=", det(A));
B = A;
B[2,:] = A[2,:] + A[1,:] * (-4);
B[3,:] = A[3,:] + A[1,:] * (-7);
print("B =");
display(B);
println("det(B)=", det(B));
✏️Задание 3
Проверьте в Engee справедливость свойств 1, 2 и 7 для определителя . Сначала поменяйте местами строки со столбцами в определителе и убедитесь в том, что определитель не изменился. Затем поменяйте местами первую и вторую строки в исходном определителе и убедитесь в том, что определитель поменял знак. И, наконец, прибавьте к первой строке исходного определителя вторую строку, умноженную на , и убедитесь в том, что определитель не изменился.
Решение
using LinearAlgebra;
A = [5 -2 1; 3 1 -4; 6 0 -3];
println("det(A)=", det(A));
B = transpose(A); # заменили строки столбцами
print("B =");
display(B);
println("det(B)=", det(B));
C = [3 1 -4; 5 -2 1; 6 0 -3]; # поменяли местами первую и вторую строки
print("C =");
display(C);
println("det(C)=", det(C));
D = A;
D[1,:] = A[1,:] + A[2,:] * 2; # к 1-й строке прибавили 2-ю строку, умноженную на 2
print("D =");
display(D);
println("det(D)=", det(D));
Миноры и алгебраические дополнения
Минором некоторого элемента определителя n-го порядка называется определитель -го порядка, полученный из исходного путем вычеркивания строки и столбца, на пересечении которых находится выбранный элемент.
Обозначается .
Например, если , то .
Алгебраическим дополнением элемента определителя называется его минор, взятый со знаком плюс, если сумма – четное число, и со знаком минус, если эта сумма нечетная.
Обозначается : .
Например, если , то .
✏️Задание 4
Вычислите в Engee миноры и алгебраические дополнения для элементов и определителя .
Решение
using LinearAlgebra;
m22 = det([1 3; 7 9]); # минор элемента a(2,2)
println("m(2,2)=", m22);
A22 = (-1)^(2+2)*m22 # алгебраическое дополнение элемента a(2,2)
println("A(2,2)=", A22);
m32 = det([1 3; 4 6]); # минор элемента a(3,2)
println("m(3,2)=", m32);
A32 = (-1)^(3+2)*m32; # алгебраическое дополнение элемента a(3,2)
println("A(3,2)=", A32);
Свойства определителей, использующие алгебраические дополнения
- Определитель равен сумме произведений элементов некоторого ряда на соответствующие им алгебраические дополнения. Это свойство называется разложением определителя по элементам некоторого ряда.
Например, вычислим определитель, разложив его по элементам первой строки:
- Сумма произведений элементов какого-либо ряда определителя на алгебраические дополнения соответствующих элементов параллельного ряда равна нулю.
Определители высших порядков
Свойство 8 представляет собой способ "ручного" вычисления определителей более высоких порядков.
Например, следующий определитель четвертого порядка можно вычислить, разложив его по элементам первого столбца:
В качестве ряда, по которому ведется разложение определителя, удобно выбирать тот ряд, где есть нулевые элементы, т.к. алгебраические дополнения, умножаемые на нули, можно не вычислять.
В Engee с помощью функции det можно вычислить определитель любого порядка.
✏️Задание 5
Вычислите в Engee определитель пятого порядка .
Решение
using LinearAlgebra;
A = [2 3 1 0 4; 1 5 2 7 0; 3 1 6 5 9; 2 0 5 3 1; 0 4 8 5 6];
det(A)