PyTorch torch.lu_solve Funktion
PyTorch torch-Referenzhandbuch
torch.lu_solveDiese Funktion verwendet die LU-Zerlegung in PyTorch, um lineare Gleichungen zu lösen. Sie löst AX = B effizient, indem sie die bereits berechnete LU-Zerlegung verwendet.
Funktionsdefinition
torch.lu_solve(B, LU, pivots, out=None)
Parameters:
B(Tensor): Die Matrix oder der Vektor auf der rechten Seite.LU(Tensor): Die aus der LU-Zerlegung erhaltene Matrix.pivots(Tensor): Die Pivot-Indizes der LU-Zerlegung.out(Tensor, optional): Ausgabe-Tensor.
Rückgabewert:
torch.Tensor: Gibt die Lösung des linearen Gleichungssystems zurück.
Anwendungsbeispiel
Beispiel
import torch
# Matrix und Vektor der rechten Seite erstellen
A = torch.tensor([[1.0, 2.0, 3.0],
[4.0, 5.0, 6.0],
[7.0, 8.0, 9.0]], dtype=torch.float64)
B = torch.tensor([14.0, 32.0, 50.0], dtype=torch.float64)
# LU-Zerlegung
LU, pivots = torch.lu(A)
# Mit LU-Zerlegung lösen
X = torch.lu_solve(B, LU, pivots)
print("Matrix A:")
print(A)
print("\nVektor der rechten Seite B:")
print(B)
print("\nLösung X:")
print(X)
print("\nÜberprüfung: A @ X =")
print(A @ X)
# Matrix und Vektor der rechten Seite erstellen
A = torch.tensor([[1.0, 2.0, 3.0],
[4.0, 5.0, 6.0],
[7.0, 8.0, 9.0]], dtype=torch.float64)
B = torch.tensor([14.0, 32.0, 50.0], dtype=torch.float64)
# LU-Zerlegung
LU, pivots = torch.lu(A)
# Mit LU-Zerlegung lösen
X = torch.lu_solve(B, LU, pivots)
print("Matrix A:")
print(A)
print("\nVektor der rechten Seite B:")
print(B)
print("\nLösung X:")
print(X)
print("\nÜberprüfung: A @ X =")
print(A @ X)
Das Ausgabeergebnis ist:
矩阵 A:
tensor([[1., 2., 3.],
[4., 5., 6.],
[7., 8., 9.]], dtype=torch.float64)
右侧向量 B:
tensor([14., 32., 50.], dtype=torch.float64)
解 X:
tensor([1., 2., 3.], dtype=torch.float64)
验证: A @ X =
tensor([14., 32., 50.], dtype=torch.float64)
Andere Erweiterungen