PyTorch-Funktion torch.cholesky_inverse
PyTorch torch-Referenzhandbuch
torch.cholesky_inverseEs ist eine Funktion in PyTorch, die verwendet wird, um die Inverse einer Cholesky-Zerlegung zu berechnen. Sie verwendet das Ergebnis der Cholesky-Zerlegung, um die Inverse einer Matrix effizient zu berechnen.
Funktionsdefinition
torch.cholesky_inverse(L, upper=False, out=None)
Parameters:
L(Tensor): Die obere oder untere Dreiecksmatrix, die aus der Cholesky-Zerlegung erhalten wird.upper(bool, optional): Wenn True, ist L eine obere Dreiecksmatrix; andernfalls ist es eine untere Dreiecksmatrix. Standard ist False.out(Tensor, optional): Ausgabe-Tensor.
Rückgabewert:
torch.Tensor: Gibt die Inverse der ursprünglichen Matrix zurück.
Anwendungsbeispiel
Beispiel
import torch
# Eine symmetrische positiv definite Matrix erstellen
A = torch.tensor([[4.0, 2.0, 2.0],
[2.0, 5.0, 3.0],
[2.0, 3.0, 6.0]], dtype=torch.float64)
# Cholesky-Zerlegung
L = torch.cholesky(A)
# Berechne die inverse Matrix mithilfe der Cholesky-Zerlegung
A_inv = torch.cholesky_inverse(L)
print("Originalmatrix A:")
print(A)
print("nInverse Matrix A^-1:")
print(A_inv)
print("nÜberprüfung: A @ A^-1 =")
print(A @ A_inv)
# Eine symmetrische positiv definite Matrix erstellen
A = torch.tensor([[4.0, 2.0, 2.0],
[2.0, 5.0, 3.0],
[2.0, 3.0, 6.0]], dtype=torch.float64)
# Cholesky-Zerlegung
L = torch.cholesky(A)
# Berechne die inverse Matrix mithilfe der Cholesky-Zerlegung
A_inv = torch.cholesky_inverse(L)
print("Originalmatrix A:")
print(A)
print("nInverse Matrix A^-1:")
print(A_inv)
print("nÜberprüfung: A @ A^-1 =")
print(A @ A_inv)
Das Ausgabeergebnis ist:
原矩阵 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)
Andere Erweiterungen