Функция torch.cholesky_inverse в PyTorch
Справочное руководство PyTorch torch
torch.cholesky_inverseЭто функция в PyTorch, используемая для вычисления обратной матрицы разложения Холецкого. Она использует результат разложения Холецкого для эффективного вычисления обратной матрицы.
Определение функции
torch.cholesky_inverse(L, upper=False, out=None)
Parameters:
L(Tensor): Верхняя или нижняя треугольная матрица, полученная в результате разложения Холецкого.upper(bool, необязательный): Если True, L — верхняя треугольная матрица; в противном случае — нижняя треугольная матрица. По умолчанию False.out(Tensor, необязательный): Выходной тензор.
Возвращаемое значение:
torch.Tensor: Возвращает обратную матрицу исходной матрицы.
Пример использования
Пример
import torch
# Создать симметричную положительно определённую матрицу
A = torch.tensor([[4.0, 2.0, 2.0],
[2.0, 5.0, 3.0],
[2.0, 3.0, 6.0]], dtype=torch.float64)
# Разложение Холецкого
L = torch.cholesky(A)
# Вычислить обратную матрицу с помощью разложения Холецкого
A_inv = torch.cholesky_inverse(L)
print("Исходная матрица A:")
print(A)
print("\nОбратная матрица A^-1:")
print(A_inv)
print("\nПроверка: A @ A^-1 =")
print(A @ A_inv)
# Создать симметричную положительно определённую матрицу
A = torch.tensor([[4.0, 2.0, 2.0],
[2.0, 5.0, 3.0],
[2.0, 3.0, 6.0]], dtype=torch.float64)
# Разложение Холецкого
L = torch.cholesky(A)
# Вычислить обратную матрицу с помощью разложения Холецкого
A_inv = torch.cholesky_inverse(L)
print("Исходная матрица A:")
print(A)
print("\nОбратная матрица A^-1:")
print(A_inv)
print("\nПроверка: A @ A^-1 =")
print(A @ A_inv)
Результат вывода:
原矩阵 A:
tensor([[4., 2., 2.],
[2., 5., 3.],
[2., 3., 6.]], dtype=torch.float64)
逆矩阵 A^-1:
tensor([[ 0.7500, -0.5000, -0.2500],
[-0.5000, 1.0000, -0.0000],
[-0.2500, -0.0000, 0.2500]], dtype=torch.float64)
验证: A @ A^-1 =
tensor([[ 1.0000e+00, -1.4901e-08, 0.0000e+00],
[-7.4506e-09, 1.0000e+00, 1.4901e-08],
[ 0.0000e+00, 7.4506e-09, 1.0000e+00]], dtype=torch.float64)
Другие расширения