torch.linalg.matrix_exp¶
- torch.linalg.matrix_exp(A) → Tensor
计算一个方阵的矩阵指数。
令 为 或 ,此函数计算 的矩阵指数,其定义为
如果矩阵 的特征值为 ,则矩阵 的特征值为 。
支持输入 bfloat16、float、double、cfloat 和 cdouble 数据类型。也支持矩阵批处理,如果
A
是矩阵批处理,则输出具有相同的批处理维度。- 参数:
A(张量)- 形状为(*,n,n)的张量,其中*为零个或多个批处理维度。
示例:
>>> A = torch.empty(2, 2, 2) >>> A[0, :, :] = torch.eye(2, 2) >>> A[1, :, :] = 2 * torch.eye(2, 2) >>> A tensor([[[1., 0.], [0., 1.]], [[2., 0.], [0., 2.]]]) >>> torch.linalg.matrix_exp(A) tensor([[[2.7183, 0.0000], [0.0000, 2.7183]], [[7.3891, 0.0000], [0.0000, 7.3891]]]) >>> import math >>> A = torch.tensor([[0, math.pi/3], [-math.pi/3, 0]]) # A is skew-symmetric >>> torch.linalg.matrix_exp(A) # matrix_exp(A) = [[cos(pi/3), sin(pi/3)], [-sin(pi/3), cos(pi/3)]] tensor([[ 0.5000, 0.8660], [-0.8660, 0.5000]])