MatrixExp

MatrixExp[m]

gives the matrix exponential of m.

MatrixExp[m,v]

gives the matrix exponential of m applied to the vector v.

Details and Options

  • MatrixExp[m] effectively evaluates the power series for the exponential function, with ordinary powers replaced by matrix powers.
  • MatrixExp works only on square matrices.
  • In MatrixExp[m,v] the matrix m can be a SparseArray object.

Examples

open allclose all

Basic Examples  (2)

Exponential of a 2×2 matrix:

Exponential applied to a vector:

Scope  (4)

Use exact arithmetic to compute the matrix exponential:

Use machine arithmetic:

Use 24-digit precision arithmetic:

Find the matrix exponential of a complex matrix:

The exponential of a symbolic matrix:

Exponential of a sparse 100×100 matrix:

Applications  (2)

A system of first-order linear differential equations:

Write the system in the form with :

The matrix exponential gives the basis for the general solution:

The matrix exponential applied to a vector gives a particular solution:

The matrix s approximates the second derivative periodic on on the grid x:

A vector representing a soliton on the grid x:

Propagate the solution of using a splitting :

Plot the solution and 10 times the error from the solution of the cubic Schrödinger equation:

Properties & Relations  (4)

The matrix exponential of a diagonal matrix is diagonal:

The matrix exponential of a nilpotent matrix is a polynomial matrix:

MatrixExp[m] is always invertible, and the inverse is given by MatrixExp[-m]:

If m is diagonalizable with then :

Possible Issues  (1)

For a large sparse matrix, computing the matrix exponential may take a long time:

Computing the application of it to a vector uses less memory and is much faster:

The results are essentially the same:

Neat Examples  (1)

Introduced in 1991
 (2.0)
 |
Updated in 2007
 (6.0)