快捷方式

torch.linalg.matrix_exp

torch.linalg.matrix_exp(A) Tensor

计算方阵的矩阵指数。

K\mathbb{K}R\mathbb{R}C\mathbb{C},此函数计算 AKn×nA \in \mathbb{K}^{n \times n} 的 **矩阵指数**,其定义为

matrix_exp(A)=k=01k!AkKn×n.\mathrm{matrix\_exp}(A) = \sum_{k=0}^\infty \frac{1}{k!}A^k \in \mathbb{K}^{n \times n}.

如果矩阵 AA 的特征值为 λiC\lambda_i \in \mathbb{C},则矩阵 matrix_exp(A)\mathrm{matrix\_exp}(A) 的特征值为 eλiCe^{\lambda_i} \in \mathbb{C}.

支持 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]])

文档

访问 PyTorch 的全面开发者文档

查看文档

教程

获取针对初学者和高级开发人员的深入教程

查看教程

资源

查找开发资源并获得问题的解答

查看资源