Что такое определитель матрицы и как его найти
Разобраться в том, живём ли мы в матрице, не выйдет.
Определитель матрицы — одна из базовых концепций линейной алгебры, без которой сложно разобраться в системах уравнений, преобразованиях и многих прикладных задачах — от программирования до компьютерного зрения. На практике эта тема часто выглядит перегруженной формулами и абстракциями, из-за чего её сложно понять.
Эта статья для тех, кто раньше не сталкивался с линейной алгеброй или знаком с ней поверхностно. Здесь не будет лишней теории: мы разберёмся, зачем нужен определитель и как его найти для матриц разного размера.
Содержание
Что такое определитель матрицы
Определитель, или детерминант, — это число, которое вычисляется для квадратной матрицы, то есть такой матрицы, у которой количество строк равно количеству столбцов: 2×2, 3×3, 4×4 и так далее. Порядок определителя совпадает с размером матрицы: для матрицы 2×2 — это определитель второго порядка, для 3×3 — третьего и так далее.
Обозначается детерминант двумя способами: det(A) или |A|, где А — это матрица. Оба варианта равноправны и встречаются одинаково часто.
Определитель — это числовая характеристика матрицы. Он показывает, как матрица ведёт себя в вычислениях и преобразованиях. Например, в линейной алгебре перед поиском обратной матрицы сначала проверяют, существует ли она. Логика простая: если определитель не равен нулю — обратная матрица есть; если равен нулю — нет, и такую матрицу называют вырожденной.
В аналитике данных и программировании это применяют на практике. Перед решением системы уравнений считают определитель, чтобы не тратить ресурсы на задачу без решения. В задачах обработки изображений — при повороте, масштабировании или выравнивании — следят, чтобы он не был равен нулю: иначе преобразование приведёт к искажениям.
Как найти определитель матрицы
Найти определитель можно несколькими способами: по прямой формуле, по правилу Саррюса, методом Гаусса или при помощи библиотеки NumPy для Python. Рассмотрим каждый из методов.
Как найти определитель матрицы по прямой формуле
Прямая формула — основной способ найти определитель первого и второго порядка, то есть для матриц 1×1 или 2×2. Для этого следуйте инструкции.
Шаг 1: возьмите исходную матрицу следующего вида.

Шаг 2: подставьте значения в формулу det = ad − bc, где det — это детерминант.
Шаг 3: вычислите разницу.
Разберём на примере. Представим, что у нас есть матрица.

Подставим значения в формулу: 3 × (−4) − 7 × 1. Определитель равен −19.
Как найти определитель матрицы по правилу Саррюса
Правило Саррюса позволяет найти определитель третьего порядка, то есть используется для матриц 3×3. Оно основано на достраивании диагоналей.
Чтобы найти детерминант, необходимо продублировать первые два столбца матрицы справа и посчитать произведения по диагоналям с учётом знаков.
Посмотрим на общую схему нахождения определителя матрицы 3×3.
Шаг 1: возьмите исходную матрицу.

Шаг 2: продублируйте первые два столбца справа.

Шаг 3: сложите произведения трёх диагоналей слева направо.

Шаг 4: сложите произведения трёх диагоналей справа налево.

Шаг 5: вычтите из первой суммы вторую. Полученный результат — это определитель третьего порядка для исходной матрицы.

Разберём на примере. Вот исходная матрица.

Продублируем первые столбцы справа.

Складываем произведения диагоналей слева направо.

2 × 3 × 4 + (−1) × 2 × 0 + 0 × 1 × 1 = 24
Складываем произведения диагоналей справа налево.

0 × 3 × 0 + 2 × 2 × 1 + (−1) × 1 × 4 = 0
Вычитаем из первой суммы вторую: 24 − 0 = 24. Определитель равен 24.
Как найти определитель матрицы методом Гаусса
Метод Гаусса приводит матрицу к верхнетреугольному виду — когда все элементы ниже главной диагонали равны нулю. В таком варианте детерминант считается просто: это произведение элементов на главной диагонали.
Метод универсальный: он работает для матриц любого размера — 3×3, 4×4 и более. Поэтому его можно использовать для поиска определителя третьего порядка и выше.
Попробуем на практике. Для этого возьмём матрицу.

Наша задача — обнулить элементы под главной диагональю, чтобы получить верхнетреугольную матрицу.
Забежим немного вперёд. В нашем примере результирующий итог будет такой.

Теперь придём к результирующей матрице от исходной.
Элементы ниже диагонали обнуляют с помощью элементарных преобразований строк. Берут строку, в которой нужно получить ноль, и прибавляют к ней другую строку — опорную, — умноженную на подходящий коэффициент. Коэффициент подбирают так, чтобы нужный элемент стал равен нулю.
Например, чтобы обнулить элемент во второй строке, прибавим к ней первую строку, умноженную на −2. В результате соответствующий элемент становится равен нулю, а матрица постепенно приобретает треугольный вид.

Для третьей строки 0 будет результатом прибавления первой строки, умноженной на 2.

К четвёртой строке прибавляем первую, умноженную на 6.

После обнуления первого столбца получаем промежуточную матрицу.

Переходим к второму столбцу. Теперь наша цель — получить нули в третьей и четвёртой строках второго столбца. Для этого опорной становится вторая строка.
Сначала нам требуется обнулить −1. Для этого к третьей строке прибавляем вторую. Коэффициент равен 1, ничего не умножаем.

Теперь обнулим −3. Прибавляем к четвёртой строке вторую, умноженную на 3.

Записываем новые результаты в две нижние строчки и получаем следующую промежуточную матрицу.

Осталось обнулить третий столбец — получить 0 на месте 6. Вычитаем из четвёртой строки третью, умноженную на 3.

Получаем результирующую матрицу.

Определитель — произведение элементов главной диагонали.

Если во время вычисления по методу Гаусса в матрице появляется строка, полностью состоящая из нулей, дальше можно не считать: ноль на главной диагонали обнулит остальные множители.
Как найти определитель больших матриц с помощью Python
Вычислять определители пятого порядка и более вручную — долго, к тому же легко можно ошибиться. Проще использовать для этого специальные инструменты. Например, библиотеку NumPy для Python, которая работает с массивами и матрицами и умеет считать определители за одну команду.

Читайте также:
Используем NumPy, чтобы найти определитель пятого порядка, то есть для матрицы 5×5:
import numpy as np
# Создаём пример матрицы 5×5
matrix = np.array([
[2, 4, 6, 8, 10],
[4, 10, 12, 14, 16],
[6, 12, 21, 24, 27],
[8, 14, 24, 34, 38],
[10, 16, 27, 38, 50]
])
# Вычисляем определитель
determinant = np.linalg.det(matrix)
# Округляем результат для читаемости
determinant_rounded = round(determinant)
print(f"Матрица:\n{matrix}")
print(f"Определитель: {determinant_rounded}")Результат:
Матрица:
[[ 2 4 6 8 10]
[ 4 10 12 14 16]
[ 6 12 21 24 27]
[ 8 14 24 34 38]
[10 16 27 38 50]]
Определитель: -432Всё получилось!
Что нужно запомнить
Определитель — это быстрый способ понять, «работает» ли матрица: можно ли найти обратную, есть ли единственное решение у системы и не «схлопывается» ли пространство при преобразовании. Если определитель равен нулю — матрица вырожденная, и многие операции с ней теряют смысл.
Как выбрать метод для нахождения детерминанта матрицы:
- Матрица 2×2 — используйте прямую формулу.
- Матрица 3×3 — попробуйте правило Саррюса.
- Матрица 4×4 и больше — метод Гаусса. Приводите матрицу к треугольному виду и перемножайте элементы диагонали.
- Матрица любого размера — используйте специализированные библиотеки, например NumPy. Это ускорит расчёты и снизит риск ошибки.
Больше интересного про код — в нашем телеграм-канале. Подписывайтесь!