Spec-Zone.ru › PyTorch 2.14

torch.linalg.ldl_factor_ex

torch.linalg.ldl_factor_ex(A, *, hermitian=False, check_errors=False, out=None) [исходный код]

Это версия ldl_factor(), которая не выполняет проверки ошибок, если только check_errors= True. Она также возвращает тензор info, возвращаемый функцией sytrf из LAPACK. info хранит целочисленные коды ошибок из библиотеки бэкенда. Положительное целое число указывает на диагональный элемент матрицы DD, равный нулю. Если результат используется для решения системы линейных уравнений, произойдёт деление на 0. info, заполненный нулями, указывает на успешную факторизацию. Если check_errors=True и info содержат положительные целые числа, возникает исключение RuntimeError.

Примечание

Если входные данные находятся на устройстве CUDA, эта функция выполняет синхронизацию только при условии check_errors= True.

Предупреждение

Эта функция является «экспериментальной» и может измениться в будущей версии PyTorch.

Параметры:

A (Tensor) – тензор формы (*, n, n), где * — ноль или более пакетных размерностей, состоящих из симметричных или эрмитовых матриц.

Именованные аргументы:
  • hermitian (bool, необязательно) – следует ли считать входные данные эрмитовыми или симметричными. Для матриц с действительными значениями этот параметр не влияет на результат. По умолчанию: False.
  • check_errors (bool, необязательно) – определяет, нужно ли проверять содержимое info и вызывать ошибку, если оно не равно нулю. По умолчанию: False.
  • out (tuple, необязательно) – кортеж из трёх тензоров, в которые записывается результат. Игнорируется, если None. По умолчанию: None.
Возвращает:

Именованный кортеж (LD, pivots, info).

Примеры:

>>> A = torch.randn(3, 3)
>>> A = A @ A.mT # make symmetric
>>> A
tensor([[7.2079, 4.2414, 1.9428],
        [4.2414, 3.4554, 0.3264],
        [1.9428, 0.3264, 1.3823]])
>>> LD, pivots, info = torch.linalg.ldl_factor_ex(A)
>>> LD
tensor([[ 7.2079,  0.0000,  0.0000],
        [ 0.5884,  0.9595,  0.0000],
        [ 0.2695, -0.8513,  0.1633]])
>>> pivots
tensor([1, 2, 3], dtype=torch.int32)
>>> info
tensor(0, dtype=torch.int32)

© 2026, PyTorch Contributors
PyTorch has a BSD-style license, as found in the LICENSE file.
https://docs.pytorch.org/docs/2.14/generated/torch.linalg.ldl_factor_ex.html

Spec-Zone.ru

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