torch.linalg.lu_solve
-
torch.linalg.lu_solve(LU, pivots, B, *, left=True, adjoint=False, out=None) → Tensor -
Вычисляет решение квадратной системы линейных уравнений с единственным решением, учитывая LU-разложение.
Пусть — это или . Данная функция вычисляет решение для линейной системы, связанной с , которая определяется как
где задано в факторизованном виде, как возвращает
lu_factor().Если
left= False, эта функция возвращает матрицу , которая решает системуЕсли
adjoint= True(иleft= True), given an LU factorization of :math:`Aэта функция возвращает , которая решает системугде — сопряжённый транспонированный, когда комплексное, и транспонированный, когда вещественное. Случай
left= Falseаналогичен.Поддерживает входные типы float, double, cfloat и cdouble. Также поддерживает пакеты матриц, и если входные данные представляют собой пакеты матриц, то выходные данные имеют те же размерности пакета.
- Параметры
-
-
LU (Тензор) — тензор формы
(*, n, n)(или(*, k, k)еслиleft= True) где*— это ноль или более размерностей пакета, как возвращаетlu_factor(). -
pivots (Тензор) — тензор формы
(*, n)(или(*, k)еслиleft= True) где*— это ноль или более размерностей пакета, как возвращаетlu_factor(). -
B (Тензор) — тензор правой части формы
(*, n, k).
-
LU (Тензор) — тензор формы
- Ключевые аргументы
Примеры:
>>> 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
© 2024, PyTorch Contributors
PyTorch has a BSD-style license, as found in the LICENSE file.
https://pytorch.org/docs/2.1/generated/torch.linalg.lu_solve.html