torch.linalg.cholesky_ex
-
torch.linalg.cholesky_ex(A, *, upper=False, check_errors=False, out=None) -
Вычисляет разложение Холецкого комплексной эрмитовой или вещественной симметричной положительно определенной матрицы.
Эта функция пропускает (медленную) проверку ошибок и построение сообщений об ошибках в
torch.linalg.cholesky(), вместо этого напрямую возвращая коды ошибок LAPACK в виде именованной кортежа(L, info). Это делает эту функцию более быстрым способом проверки, является ли матрица положительно определенной, и предоставляет возможность более гибко или эффективно обрабатывать ошибки разложения, чемtorch.linalg.cholesky().Поддерживает входные типы float, double, cfloat и cdouble. Также поддерживает пакет матриц, и если
Aявляется пакетом матриц, то выходные данные имеют те же размерности пакета.Если
Aне является эрмитовой положительно определенной матрицей или если это пакет матриц, и одна или несколько из них не являются эрмитовой положительно определенной матрицей, тоinfoхранит положительное целое число для соответствующей матрицы. Положительное целое число указывает порядок ведущего минора, который не является положительно определенным, и разложение не может быть завершено.infoзаполнен нулями, что указывает на успешное разложение. Еслиcheck_errors=Trueиinfoсодержат положительные целые числа, то генерируется исключение RuntimeError.Примечание
Когда входные данные находятся на устройстве CUDA, эта функция синхронизируется только тогда, когда
check_errors= True.Предупреждение
Эта функция является «экспериментальной» и может быть изменена в будущих выпусках PyTorch.
См. также
torch.linalg.cholesky()— это вариант, совместимый с NumPy, который всегда проверяет наличие ошибок.- Parameters
-
A (Тензор) – эрмитова
n times nматрица или пакет таких матриц размером(*, n, n), где*— одна или несколько размерностей пакета. - Keyword Arguments
-
- upper (bool, optional) – возвращать ли верхнюю треугольную матрицу. Возвращаемый тензор с upper=True является сопряженным транспонированием тензора, возвращаемого с upper=False.
-
check_errors (bool, optional) – управляет тем, нужно ли проверять содержимое
infos. Значение по умолчанию:False. -
out (кортеж, optional) – кортеж из двух тензоров для записи выходных данных. Игнорируется, если
None. Значение по умолчанию:None.
Примеры:
>>> A = torch.randn(2, 2, dtype=torch.complex128) >>> A = A @ A.t().conj() # creates a Hermitian positive-definite matrix >>> L, info = torch.linalg.cholesky_ex(A) >>> A tensor([[ 2.3792+0.0000j, -0.9023+0.9831j], [-0.9023-0.9831j, 0.8757+0.0000j]], dtype=torch.complex128) >>> L tensor([[ 1.5425+0.0000j, 0.0000+0.0000j], [-0.5850-0.6374j, 0.3567+0.0000j]], dtype=torch.complex128) >>> info tensor(0, dtype=torch.int32)
© 2024, PyTorch Contributors
PyTorch has a BSD-style license, as found in the LICENSE file.
https://pytorch.org/docs/2.1/generated/torch.linalg.cholesky_ex.html