Fonction torch.cholesky_inverse de PyTorch
Manuel de référence PyTorch torch
torch.cholesky_inverseC'est une fonction dans PyTorch utilisée pour calculer l'inverse d'une décomposition de Cholesky. Elle utilise le résultat de la décomposition de Cholesky pour calculer efficacement l'inverse d'une matrice.
Définition de fonction
torch.cholesky_inverse(L, upper=False, out=None)
Parameters:
L(Tensor) : La matrice triangulaire supérieure ou inférieure obtenue à partir de la décomposition de Cholesky.upper(bool, facultatif) : Si True, L est une matrice triangulaire supérieure ; sinon, il s'agit d'une matrice triangulaire inférieure. La valeur par défaut est False.out(Tensor, optionnel) : Tenseur de sortie.
Valeur de retour:
torch.Tensor: Renvoie l'inverse de la matrice d'origine.
Exemple d'utilisation
Exemple
import torch
# Créer une matrice symétrique définie positive
A = torch.tensor([[4.0, 2.0, 2.0],
[2.0, 5.0, 3.0],
[2.0, 3.0, 6.0]], dtype=torch.float64)
# Décomposition de Cholesky
L = torch.cholesky(A)
# Calculer la matrice inverse à l'aide de la décomposition de Cholesky
A_inv = torch.cholesky_inverse(L)
print("Matrice originale A :")
print(A)
print("nMatrice inverse A^-1:")
print(A_inv)
print("nVérification: A @ A^-1 =")
print(A @ A_inv)
# Créer une matrice symétrique définie positive
A = torch.tensor([[4.0, 2.0, 2.0],
[2.0, 5.0, 3.0],
[2.0, 3.0, 6.0]], dtype=torch.float64)
# Décomposition de Cholesky
L = torch.cholesky(A)
# Calculer la matrice inverse à l'aide de la décomposition de Cholesky
A_inv = torch.cholesky_inverse(L)
print("Matrice originale A :")
print(A)
print("nMatrice inverse A^-1:")
print(A_inv)
print("nVérification: A @ A^-1 =")
print(A @ A_inv)
Le résultat de sortie est:
原矩阵 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)
Autres extensions