PyTorch torch.linalg.matrix_power 関数
torch.linalg.matrix_powerは PyTorch の線形代数モジュールで行列の冪乗を計算する関数です。行列の n 乗 A^n を計算します。
関数定義
torch.linalg.matrix_power(A, n, out=None)
引数:
A(Tensor): 入力正方行列。n(int): 冪乗の指数。整数、ゼロ、または負の数を使用できます。out(Tensor, オプション): 出力テンソル。
戻り値:
torch.Tensor: 行列の n 乗を返します。
使用例
実例
import torch
# 行列を作成
A = torch.tensor([[1.0, 2.0],
[3.0, 4.0]])
# A の 2 乗を計算
A_power_2 = torch.linalg.matrix_power(A, 2)
print("行列 A:")
print(A)
print("nA^2:")
print(A_power_2)
print("n検証: A @ A =")
print(A @ A)
# 行列を作成
A = torch.tensor([[1.0, 2.0],
[3.0, 4.0]])
# A の 2 乗を計算
A_power_2 = torch.linalg.matrix_power(A, 2)
print("行列 A:")
print(A)
print("nA^2:")
print(A_power_2)
print("n検証: A @ A =")
print(A @ A)
出力結果は次のとおりです:
矩阵 A:
tensor([[1., 2.],
[3., 4.]])
A^2:
tensor([[ 7., 10.],
[15., 22.]])
验证: A @ A =
tensor([[ 7., 10.],
[15., 22.]])
実例 - A^0 と A^-1
import torch
A = torch.tensor([[1.0, 2.0],
[3.0, 4.0]], dtype=torch.float64)
# A^0 = I (単位行列)
print("A^0:")
print(torch.linalg.matrix_power(A, 0))
# A^-1 = A の逆行列
print("nA^-1:")
print(torch.linalg.matrix_power(A, -1))
A = torch.tensor([[1.0, 2.0],
[3.0, 4.0]], dtype=torch.float64)
# A^0 = I (単位行列)
print("A^0:")
print(torch.linalg.matrix_power(A, 0))
# A^-1 = A の逆行列
print("nA^-1:")
print(torch.linalg.matrix_power(A, -1))
その他の拡張