Spec-Zone.ru › PyTorch 1

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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API