torch.linalg.matrix_exp¶
-
torch.linalg.
matrix_exp
(A) → Tensor¶ Computes the matrix exponential of a square matrix.
Letting be or , this function computes the matrix exponential of , which is defined as
If the matrix has eigenvalues , the matrix has eigenvalues .
Supports input of bfloat16, float, double, cfloat and cdouble dtypes. Also supports batches of matrices, and if
A
is a batch of matrices then the output has the same batch dimensions.- Parameters
A (Tensor) – tensor of shape (*, n, n) where * is zero or more batch dimensions.
Example:
>>> 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]])