Fonction torch.cholesky_inverse de PyTorch


Pytorch torch 参考手册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)

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)

Pytorch torch 参考手册Manuel de référence PyTorch torch

Autres extensions