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 (Tensor) – эрмитова
n times nматрица или пакет таких матриц размера(*, n, n), где*— одна или несколько размерностей пакета. - Keyword Arguments:
-
- upper (bool, optional) – возвращать верхнюю треугольную матрицу. Тензор, возвращаемый с upper=True, является сопряженным транспонированным тензором, возвращаемым с upper=False.
-
check_errors (bool, optional) – управляет проверкой содержимого
infos. Значение по умолчанию:False. -
out (tuple, 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/1.13/generated/torch.linalg.cholesky_ex.html