Функция linalg.matrix_power
Функция linalg.matrix_power возводит квадратную матрицу
в целочисленную степень. Первым параметром функция принимает
квадратный тензор (матрицу), вторым параметром - целое число
(показатель степени). Если показатель степени равен нулю,
возвращается единичная матрица того же размера.
Для отрицательных показателей вычисляется обратная матрица,
возведённая в соответствующую положительную степень.
Синтаксис
torch.linalg.matrix_power(input, n)
Пример
Давайте возведём матрицу размера 2x2 в степень 2:
import torch
t = torch.tensor([[2, 0], [0, 2]])
res = torch.linalg.matrix_power(t, 2)
print(res)
Результат выполнения кода:
tensor([
[4, 0],
[0, 4],
])
Пример
Возведём матрицу в степень 0. Должна получиться единичная матрица:
import torch
t = torch.tensor([[2, 1], [1, 2]])
res = torch.linalg.matrix_power(t, 0)
print(res)
Результат выполнения кода:
tensor([
[1, 0],
[0, 1],
])
Пример
Возведём матрицу в отрицательную степень -1 (вычисление обратной матрицы):
import torch
t = torch.tensor([[4, 7], [2, 6]])
res = torch.linalg.matrix_power(t, -1)
print(res)
Результат выполнения кода:
tensor([
[0.6000, -0.7000],
[-0.2000, 0.4000],
])
Пример
Возведём матрицу в степень -2 (обратная матрица в квадрате):
import torch
t = torch.tensor([[4, 7], [2, 6]])
res = torch.linalg.matrix_power(t, -2)
print(res)
Результат выполнения кода:
tensor([
[0.5000, -0.7000],
[-0.2000, 0.3000],
])