Spec-Zone.ru › PyTorch 2

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

Spec-Zone.ru

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