Spec-Zone.ru › PyTorch 2

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 с помощью числово устойчивого алгоритма.

Parameters
  • A (Tensor) – тензор формы (*, m, m) где * — ноль или более размерностей пакета.
  • n (int) – показатель степени.
Keyword Arguments

out (Tensor, optional) – выходной тензор. Игнорируется, если None. Значение по умолчанию: None.

Raises

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/2.1/generated/torch.linalg.matrix_power.html

Spec-Zone.ru

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