expm — SciPy v1.15.3 Manual (original) (raw)

scipy.sparse.linalg.

scipy.sparse.linalg.expm(A)[source]#

Compute the matrix exponential using Pade approximation.

Parameters:

A(M,M) array_like or sparse array

2D Array or Matrix (sparse or dense) to be exponentiated

Returns:

expA(M,M) ndarray

Matrix exponential of A

Notes

This is algorithm (6.1) which is a simplification of algorithm (5.1).

Added in version 0.12.0.

References

[1]

Awad H. Al-Mohy and Nicholas J. Higham (2009) “A New Scaling and Squaring Algorithm for the Matrix Exponential.” SIAM Journal on Matrix Analysis and Applications. 31 (3). pp. 970-989. ISSN 1095-7162

Examples

from scipy.sparse import csc_array from scipy.sparse.linalg import expm A = csc_array([[1, 0, 0], [0, 2, 0], [0, 0, 3]]) A.toarray() array([[1, 0, 0], [0, 2, 0], [0, 0, 3]], dtype=int64) Aexp = expm(A) Aexp <Compressed Sparse Column sparse array of dtype 'float64' with 3 stored elements and shape (3, 3)> Aexp.toarray() array([[ 2.71828183, 0. , 0. ], [ 0. , 7.3890561 , 0. ], [ 0. , 0. , 20.08553692]])