torch.cholesky_inverse
-
torch.cholesky_inverse(input, upper=False, *, out=None) → Tensor -
Вычисляет обратную матрицу симметричной положительно определенной матрицы с использованием её фактора Холецкого : возвращает матрицу
inv. Обратная матрица вычисляется с помощью процедур LAPACKdpotriиspotri(и соответствующих процедур MAGMA).Если
upperравноFalse, является нижнетреугольной, и возвращаемый тензор равенЕсли
upperравноTrueили не задано, является верхнетреугольной, и возвращаемый тензор равенПоддерживает входные типы float, double, cfloat и cdouble. Также поддерживает пакеты матриц, и если является пакетом матриц, то выходные данные имеют те же размерности пакета.
- Parameters:
- Keyword Arguments:
-
out (Tensor, optional) – выходной тензор для
inv
Пример:
>>> a = torch.randn(3, 3) >>> a = torch.mm(a, a.t()) + 1e-05 * torch.eye(3) # make symmetric positive definite >>> u = torch.linalg.cholesky(a) >>> a tensor([[ 0.9935, -0.6353, 1.5806], [ -0.6353, 0.8769, -1.7183], [ 1.5806, -1.7183, 10.6618]]) >>> torch.cholesky_inverse(u) tensor([[ 1.9314, 1.2251, -0.0889], [ 1.2251, 2.4439, 0.2122], [-0.0889, 0.2122, 0.1412]]) >>> a.inverse() tensor([[ 1.9314, 1.2251, -0.0889], [ 1.2251, 2.4439, 0.2122], [-0.0889, 0.2122, 0.1412]]) >>> a = torch.randn(3, 2, 2) # Example for batched input >>> a = a @ a.mT + 1e-03 # make symmetric positive-definite >>> l = torch.linalg.cholesky(a) >>> z = l @ l.mT >>> torch.dist(z, a) tensor(3.5894e-07)
© 2024, PyTorch Contributors
PyTorch has a BSD-style license, as found in the LICENSE file.
https://pytorch.org/docs/1.13/generated/torch.cholesky_inverse.html