Products & Services Industries Academia Support User Community Company

Learn more about MATLAB   

expm - Matrix exponential

Syntax

Y = expm(X)

Description

Y = expm(X) computes the matrix exponential of X.

Although it is not computed this way, if X has a full set of eigenvectors V with corresponding eigenvalues D, then

[V,D] = EIG(X) and EXPM(X) = V*diag(exp(diag(D)))/V

Use exp for the element-by-element exponential.

Algorithm

expm uses the Padé approximation with scaling and squaring. See reference [3], below.

Examples

This example computes and compares the matrix exponential of A and the exponential of A.

A = [1        1        0
     0        0        2
     0        0       -1 ];

expm(A) 
ans = 
    2.7183   1.7183        1.0862
    0        1.0000        1.2642
    0             0        0.3679

exp(A)
ans = 
    2.7183        2.7183        1.0000
    1.0000        1.0000        7.3891
    1.0000        1.0000        0.3679

Notice that the diagonal elements of the two results are equal. This would be true for any triangular matrix. But the off-diagonal elements, including those below the diagonal, are different.

See Also

exp, expm1, funm, logm, eig, sqrtm

References

[1] Golub, G. H. and C. F. Van Loan, Matrix Computation, p. 384, Johns Hopkins University Press, 1983.

[2] Moler, C. B. and C. F. Van Loan, "Nineteen Dubious Ways to Compute the Exponential of a Matrix," SIAM Review 20, 1978, pp. 801–836. Reprinted and updated as "Nineteen Dubious Ways to Compute the Exponential of a Matrix, Twenty-Five Years Later," SIAM Review 45, 2003, pp. 3–49.

[3] Higham, N. J., "The Scaling and Squaring Method for the Matrix Exponential Revisited," SIAM J. Matrix Anal. Appl., 26(4) (2005), pp. 1179–1193.

  


Recommended Products

Includes the most popular MATLAB recorded presentations with Q&A sessions led by MATLAB experts.

 © 1984-2009- The MathWorks, Inc.    -   Site Help   -   Patents   -   Trademarks   -   Privacy Policy   -   Preventing Piracy   -   RSS