torch.linalg.lu_solve
-
torch.linalg.lu_solve(LU, pivots, B, *, left=True, adjoint=False, out=None) → Tensor[source] -
Вычисляет решение системы линейных уравнений с квадратной матрицей и единственным решением, используя LU-разложение.
Пусть — это или , эта функция вычисляет решение системы линейных уравнений, соответствующей , определённой следующим образом:
где задана в факторизованном виде, возвращаемом функцией
lu_factor().Если
left= False, эта функция возвращает матрицу , являющуюся решением системыЕсли
adjoint= True(иleft= True), то для заданного LU-разложения эта функция возвращает , являющуюся решением системыгде — эрмитово-сопряжённая матрица, если является комплексной, и транспонированная матрица, если является вещественной. Случай
left= Falseаналогичен.Поддерживаются входные данные типов float, double, cfloat и cdouble. Также поддерживаются пакеты матриц; если входные данные представляют собой пакеты матриц, выходные данные имеют те же размеры пакета.
- Параметры:
-
-
LU (Tensor) – тензор формы
(*, n, n)(или(*, k, k), еслиleft= True), где*— ноль или более пакетных измерений, как возвращает функцияlu_factor(). -
pivots (Tensor) – тензор формы
(*, n)(или(*, k), еслиleft= True), где*— ноль или более пакетных измерений, как возвращает функцияlu_factor(). -
B (Tensor) – тензор правой части формы
(*, n, k).
-
LU (Tensor) – тензор формы
- Именованные аргументы:
Примеры:
>>> A = torch.randn(3, 3) >>> LU, pivots = torch.linalg.lu_factor(A) >>> B = torch.randn(3, 2) >>> X = torch.linalg.lu_solve(LU, pivots, B) >>> torch.allclose(A @ X, B) True >>> B = torch.randn(3, 3, 2) # Broadcasting rules apply: A is broadcasted >>> X = torch.linalg.lu_solve(LU, pivots, B) >>> torch.allclose(A @ X, B) True >>> B = torch.randn(3, 5, 3) >>> X = torch.linalg.lu_solve(LU, pivots, B, left=False) >>> torch.allclose(X @ A, B) True >>> B = torch.randn(3, 3, 4) # Now solve for A^T >>> X = torch.linalg.lu_solve(LU, pivots, B, adjoint=True) >>> torch.allclose(A.mT @ X, B) True
© 2026, PyTorch Contributors
PyTorch has a BSD-style license, as found in the LICENSE file.
https://docs.pytorch.org/docs/2.14/generated/torch.linalg.lu_solve.html