Spec-Zone.ru › PyTorch 1

torch.linalg.matrix_power

torch.linalg.matrix_power(A, n, *, out=None) → Tensor

Вычисляет n-ую степень квадратной матрицы для целого n.

Поддерживает входные типы float, double, cfloat и cdouble. Также поддерживает пакеты матриц, и если A является пакетом матриц, то выходные данные имеют те же размерности пакета.

Если n= 0, то возвращается единичная матрица (или пакет) той же формы, что и A. Если n отрицательно, то возвращается обратная матрица каждой матрицы (если она обратима), возведённая в степень abs(n).

Примечание

Рассмотрите возможность использования torch.linalg.solve(), если это возможно, для умножения матрицы слева на отрицательную степень, так как если n> 0:

matrix_power(torch.linalg.solve(A, B), n) == matrix_power(A, -n)  @ B

Вместо этого всегда предпочтительнее использовать solve(), поскольку это быстрее и более числово устойчиво, чем явное вычисление A−nA^{-n}.

См. также

torch.linalg.solve() вычисляет A.inverse() @ B с помощью численно устойчивого алгоритма.

Параметры:
  • A (Тензор) – тензор формы (*, m, m) где * — ноль или более размерностей пакета.
  • n (int) – показатель степени.
Аргументы ключевого слова:

out (Тензор, необязательно) – выходной тензор. Игнорируется, если None. По умолчанию: None.

Исключения:

RuntimeError – если n< 0 и матрица A или любая матрица в пакете матриц A необратима.

Примеры:

>>> A = torch.randn(3, 3)
>>> torch.linalg.matrix_power(A, 0)
tensor([[1., 0., 0.],
        [0., 1., 0.],
        [0., 0., 1.]])
>>> torch.linalg.matrix_power(A, 3)
tensor([[ 1.0756,  0.4980,  0.0100],
        [-1.6617,  1.4994, -1.9980],
        [-0.4509,  0.2731,  0.8001]])
>>> torch.linalg.matrix_power(A.expand(2, -1, -1), -2)
tensor([[[ 0.2640,  0.4571, -0.5511],
        [-1.0163,  0.3491, -1.5292],
        [-0.4899,  0.0822,  0.2773]],
        [[ 0.2640,  0.4571, -0.5511],
        [-1.0163,  0.3491, -1.5292],
        [-0.4899,  0.0822,  0.2773]]])

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

Spec-Zone.ru

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