scipy.sparse.linalg.

expm#

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