EXPM

Purpose:

Calculates the matrix exponential.

Syntax:

EXPM(a)

a

-

A square matrix.

Returns:

A square matrix.

Example:

W1: ravel({1,2,3,4}, 2)

W2: expm(w1)

 

produces the following matrix in W2:

 

{{51.968956, 112.104847},

 {74.736565, 164.073803}} 

Example:

W1: ravel(1..9, 3)

W2: expm(w1)

W3: logm(w2)

 

W1 == {{1, 4, 7},

       {2, 5, 8},

       {3, 6, 9}}

 

W2 == {{1118906.699, 2533881.042, 3948856.384},

       {1374815.063, 3113415.031, 4852013.000},

       {1630724.426, 3692947.021, 5755170.615}}

 

W3 == {{1, 4, 7},

       {2, 5, 8},

       {3, 6, 9}}

 

demonstrating EXPM and LOGM are inverse functions.

Remarks:

EXPM(A) returns a matrix X such that logm(X) == A.

 

If DADiSP/MatrixXL is available, the algorithm in [1] is used to significantly optimize EXPM, else a 7th order Padé approximation algorithm of [2] is used to calculate the matrix exponential.

 

See FUNM to compute the general matrix function.

See Also:

DADiSP/MatrixXL

EXP

FUNM

LOGM

SQRTM

References:

[1]

Nicholas J. Higham

 

Functions of Matrices: Theory and Computation

 

SIAM, Sep 11, 2008

 

Chapter 10, Algorithm 10.20

 

[2]

Gene H. Golub and Charles F. Van Loan

 

Matrix Computations

 

The Johns Hopkins University Press, London, 1989

 

Second Edition, pp. 555-558