Spec-Zone.ru › PyTorch 2

torch.cholesky_solve

torch.cholesky_solve(input, input2, upper=False, *, out=None) → Tensor

Решает систему линейных уравнений с положительно определённой матрицей, обратной к заданной матрице Холецкого uu.

Если upper является False, то uu — нижняя треугольная матрица, и возвращается значение c, такое что:

c=(uuT)−1bc = (u u^T)^{{-1}} b

Если upper является True или не указано, то uu — верхняя треугольная матрица, и возвращается значение c, такое что:

c=(uTu)−1bc = (u^T u)^{{-1}} b

torch.cholesky_solve(b, u) может принимать 2D входные b, u или входные данные, которые являются наборами 2D матриц. Если входные данные являются наборами, то возвращаются наборы выходных данных c

Поддерживает вещественные и комплексные входные данные. Для комплексных входных данных оператор транспонирования выше является сопряжённой транспозицией.

Параметры
  • input (Tensor) – входная матрица bb размера (∗,m,k)(*, m, k), где ∗* — ноль или более размерностей набора
  • input2 (Tensor) – входная матрица uu размера (∗,m,m)(*, m, m), где ∗* — ноль или более размерностей набора, составленных из верхней или нижней треугольной факторизации Холецкого
  • upper (bool, опционально) – указывает, рассматривается ли фактор Холецкого как нижняя или верхняя треугольная матрица. По умолчанию: False.
Ключевые аргументы

out (Tensor, опционально) – выходной тензор для c

Пример:

>>> a = torch.randn(3, 3)
>>> a = torch.mm(a, a.t()) # make symmetric positive definite
>>> u = torch.linalg.cholesky(a)
>>> a
tensor([[ 0.7747, -1.9549,  1.3086],
        [-1.9549,  6.7546, -5.4114],
        [ 1.3086, -5.4114,  4.8733]])
>>> b = torch.randn(3, 2)
>>> b
tensor([[-0.6355,  0.9891],
        [ 0.1974,  1.4706],
        [-0.4115, -0.6225]])
>>> torch.cholesky_solve(b, u)
tensor([[ -8.1625,  19.6097],
        [ -5.8398,  14.2387],
        [ -4.3771,  10.4173]])
>>> torch.mm(a.inverse(), b)
tensor([[ -8.1626,  19.6097],
        [ -5.8398,  14.2387],
        [ -4.3771,  10.4173]])

© 2024, PyTorch Contributors
PyTorch has a BSD-style license, as found in the LICENSE file.
https://pytorch.org/docs/2.1/generated/torch.cholesky_solve.html

Spec-Zone.ru

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