TF 2.0 is out! Get hands-on practice at TF World, Oct 28-31. Use code TF20 for 20% off select passes. Register now


TensorFlow 1 version View source on GitHub

Computes the matrix exponential of one or more square matrices.


  • tf.compat.v1.linalg.expm
  • tf.compat.v2.linalg.expm

exp(A) = \sum_{n=0}^\infty A^n/n!

The exponential is computed using a combination of the scaling and squaring method and the Pade approximation. Details can be found in: Nicholas J. Higham, "The scaling and squaring method for the matrix exponential revisited," SIAM J. Matrix Anal. Applic., 26:1179-1193, 2005.

The input is a tensor of shape [..., M, M] whose inner-most 2 dimensions form square matrices. The output is a tensor of the same shape as the input containing the exponential for all input submatrices [..., :, :].


  • input: A Tensor. Must be float16, float32, float64, complex64, or complex128 with shape [..., M, M].
  • name: A name to give this Op (optional).


the matrix exponential of the input.


  • ValueError: An unsupported type is provided as input.

Scipy Compatibility

Equivalent to scipy.linalg.expm