PyTorch-Funktion torch.cholesky_solve
PyTorch torch Referenzhandbuch
torch.cholesky_solveDies ist eine Funktion in PyTorch, die lineare Gleichungen mithilfe der Cholesky-Zerlegung löst. Sie verwendet die Cholesky-Zerlegung, um AX = B effizient zu lösen.
Funktionsdefinition
torch.cholesky_solve(B, L, upper=False, out=None)
Parameters:
B(Tensor): Die Matrix oder der Vektor der rechten Seite des linearen Gleichungssystems.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 Lösung X des linearen Gleichungssystems zurück.
Anwendungsbeispiel
Beispiel
import torch
# Erzeuge eine symmetrische positiv definite Matrix A
A = torch.tensor([[4.0, 2.0, 2.0],
[2.0, 5.0, 3.0],
[2.0, 3.0, 6.0]], dtype=torch.float64)
# Erzeuge den Vektor B der rechten Seite
B = torch.tensor([3, 4, 5], dtype=torch.float64)
# Cholesky-Zerlegung
L = torch.cholesky(A)
# Verwende Cholesky, um AX = B zu lösen
X = torch.cholesky_solve(B, L)
print(Matrix A:)
print(A)
print(nVektor B der rechten Seite:)
print(B)
print(nLösung X:)
print(X)
print(nÜberprüfung: A @ X =)
print(A @ X)
# Erzeuge eine symmetrische positiv definite Matrix A
A = torch.tensor([[4.0, 2.0, 2.0],
[2.0, 5.0, 3.0],
[2.0, 3.0, 6.0]], dtype=torch.float64)
# Erzeuge den Vektor B der rechten Seite
B = torch.tensor([3, 4, 5], dtype=torch.float64)
# Cholesky-Zerlegung
L = torch.cholesky(A)
# Verwende Cholesky, um AX = B zu lösen
X = torch.cholesky_solve(B, L)
print(Matrix A:)
print(A)
print(nVektor B der rechten Seite:)
print(B)
print(nLösung X:)
print(X)
print(nÜberprüfung: A @ X =)
print(A @ X)
Die Ausgabe ist:
矩阵 A:
tensor([[4., 2., 2.],
[2., 5., 3.],
[2., 3., 6.]], dtype=torch.float64)
右侧向量 B:
tensor([3., 4., 5.], dtype=torch.float64)
解 X:
tensor([-2.5000, 5.0000, -2.0000], dtype=torch.float64)
验证: A @ X =
tensor([3., 4., 5.], dtype=torch.float64)
Andere Erweiterungen