torch.cholesky_solve
-
torch.cholesky_solve(B, L, upper=False, *, out=None) → Tensor -
Вычисляет решение системы линейных уравнений с комплексной эрмитовой или вещественной симметричной положительно определённой левой частью, заданной её разложением Холецкого.
Пусть — комплексная эрмитова или вещественная симметричная положительно определённая матрица, а — её разложение Холецкого, такое что:
где — сопряжённое транспонирование, если комплексная, и транспонирование, если вещественнозначная.
Возвращает решение следующей системы линейных уравнений:
Поддерживаются входные данные с типами float, double, cfloat и cdouble. Также поддерживаются пакеты матриц; если или представляет собой пакет матриц, выходные данные имеют те же пакетные измерения.
- Параметры:
-
-
B (Tensor) – тензор правой части формы
(*, n, k), где — ноль или более пакетных измерений -
L (Tensor) – тензор формы
(*, n, n), где*— ноль или более пакетных измерений, содержащий нижние или верхние треугольные разложения Холецкого симметричных или эрмитовых положительно определённых матриц. -
upper (bool, необязательный) – флаг, указывающий, является ли нижней или верхней треугольной матрицей. По умолчанию:
False.
-
B (Tensor) – тензор правой части формы
- Именованные аргументы:
-
out (Tensor, необязательный) – выходной тензор. Игнорируется, если
None. По умолчанию:None.
Пример:
>>> A = torch.randn(3, 3) >>> A = A @ A.T + torch.eye(3) * 1e-3 # Creates a symmetric positive-definite matrix >>> L = torch.linalg.cholesky(A) # Extract Cholesky decomposition >>> B = torch.randn(3, 2) >>> torch.cholesky_solve(B, L) tensor([[ -8.1625, 19.6097], [ -5.8398, 14.2387], [ -4.3771, 10.4173]]) >>> A.inverse() @ B tensor([[ -8.1626, 19.6097], [ -5.8398, 14.2387], [ -4.3771, 10.4173]]) >>> A = torch.randn(3, 2, 2, dtype=torch.complex64) >>> A = A @ A.mH + torch.eye(2) * 1e-3 # Batch of Hermitian positive-definite matrices >>> L = torch.linalg.cholesky(A) >>> B = torch.randn(2, 1, dtype=torch.complex64) >>> X = torch.cholesky_solve(B, L) >>> torch.dist(X, A.inverse() @ B) tensor(1.6881e-5)
© 2026, PyTorch Contributors
PyTorch has a BSD-style license, as found in the LICENSE file.
https://docs.pytorch.org/docs/2.14/generated/torch.cholesky_solve.html