РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
250 of 541 menu

Функция linalg.det

Функция linalg.det вычисляет определитель квадратной матрицы. Определитель - это скалярное значение, которое можно вычислить для любой квадратной матрицы. Он показывает, во сколько раз матричное преобразование изменяет площади (или объёмы) фигур. Если определитель равен нулю, матрица является вырожденной и не имеет обратной.

Функция принимает на вход квадратную матрицу в виде двумерного массива NumPy и возвращает её определитель. Если входная матрица имеет размерность (n, n), то результат будет скаляром. Функция также поддерживает вычисление определителей для стека матриц - в этом случае результат будет одномерным массивом определителей для каждой матрицы.

Синтаксис

np.linalg.det(a)

Параметры

Обязательный параметр a - это квадратная матрица, для которой вычисляется определитель. Матрица должна быть двумерным массивом размерности (n, n), где n ≥ 1. Если передана матрица размерности (..., n, n), то вычисления выполняются для каждой последней двухмерной подматрицы.

Возвращаемое значение

Функция возвращает определитель матрицы. Для матрицы размерности (n, n) возвращается скаляр. Для стека матриц размерности (..., n, n) возвращается массив определителей размерности (...).

Пример

Вычислим определитель для матрицы 2×2:

import numpy as np arr = np.array([[2, 3], [1, 4]]) res = np.linalg.det(arr) print(res)

Результат выполнения кода:

5.0

Для матрицы 2×2 определитель вычисляется по формуле: a*d - b*c. В нашем случае: 2*4 - 3*1 = 8 - 3 = 5.

Пример

Вычислим определитель для матрицы 3×3:

import numpy as np arr = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]]) res = np.linalg.det(arr) print(res)

Результат выполнения кода:

0.0

Определитель равен нулю, значит строки (или столбцы) матрицы линейно зависимы. В данном случае третья строка является суммой первых двух: 7, 8, 9 = 1+4, 2+5, 3+6.

Пример

Вычислим определитель для матрицы с отрицательными числами:

import numpy as np arr = np.array([[-1, 2], [3, -4]]) res = np.linalg.det(arr) print(res)

Результат выполнения кода:

-2.0

Определитель может быть отрицательным, что указывает на изменение ориентации пространства при матричном преобразовании.

Пример

Вычислим определители для стека матриц (несколько матриц одновременно):

import numpy as np arr = np.array([[[1, 2], [3, 4]], [[5, 6], [7, 8]]]) res = np.linalg.det(arr) print(res)

Результат выполнения кода:

[-2. -2.]

Функция вычислила определитель для каждой матрицы 2×2 отдельно и вернула массив из двух значений.

Пример

Используем определитель для проверки обратимости матрицы. Если определитель не равен нулю, матрица имеет обратную:

import numpy as np arr = np.array([[4, 7], [2, 6]]) det_val = np.linalg.det(arr) if det_val != 0: inv_arr = np.linalg.inv(arr) print("Matrix is invertible") print(inv_arr) else: print("Matrix is singular")

Результат выполнения кода:

"Matrix is invertible" [[ 0.6 -0.7 ] [-0.2 0.4 ]]

Смотрите также

  • функцию slogdet,
    которая вычисляет знак и логарифм определителя для больших матриц
  • функцию inv,
    которая вычисляет обратную матрицу
  • функцию solve,
    которая решает системы линейных уравнений
  • функцию matrix_rank,
    которая вычисляет ранг матрицы
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить