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))

Pytorch torch 参考手册