Функция linalg.det
Функция linalg.det вычисляет определитель квадратной матрицы (тензора последних двух измерений). Определитель - это скалярная характеристика матрицы, которая используется при решении систем линейных уравнений, нахождении обратной матрицы и анализе линейных преобразований. Функция принимает на вход тензор и возвращает тензор с определителями для каждой матрицы в пакете.
Синтаксис
torch.linalg.det(input)
Параметр input - это квадратная матрица или пакет квадратных матриц. Возвращаемое значение - тензор с определителями.
Пример
Давайте вычислим определитель для матрицы 2x2:
import torch
t = torch.tensor([[1, 2], [3, 4]])
res = torch.linalg.det(t)
print(res)
Результат выполнения кода:
tensor(-2.)
Определитель матрицы [[1, 2], [3, 4]] равен 1*4 - 2*3 = -2.
Пример
Вычислим определитель для матрицы 3x3:
import torch
t = torch.tensor([
[1, 2, 3],
[4, 5, 6],
[7, 8, 9],
])
res = torch.linalg.det(t)
print(res)
Результат выполнения кода:
tensor(0.)
Матрица вырожденная, поэтому определитель равен нулю.
Пример
Давайте вычислим определители для пакета матриц:
import torch
t = torch.tensor([
[[1, 2], [3, 4]],
[[5, 6], [7, 8]],
])
res = torch.linalg.det(t)
print(res)
Результат выполнения кода:
tensor([-2., -2.])
Определители обеих матриц равны -2.
Пример
Покажем, что определитель единичной матрицы равен единице:
import torch
t = torch.eye(3)
res = torch.linalg.det(t)
print(res)
Результат выполнения кода:
tensor(1.)
Определитель единичной матрицы всегда равен 1.
Смотрите также
-
функцию
linalg.inv,
которая вычисляет обратную матрицу -
функцию
linalg.slogdet,
которая вычисляет определитель и логарифм определителя -
функцию
linalg.pinv,
которая вычисляет псевдообратную матрицу -
функцию
linalg.matrix_power,
которая возводит матрицу в целую степень