You are here: mathematics > staff > nick higham > misc > matrix exponential

Differential Equations and the Matrix Exponential

Problem Description

A linear differential equation y' = Ay with initial condition y(0) = y_0 has the solution y(t) = exp(At)y_0, where the matrix exponential

exp(At) = I + At + (At)^2/2! + (At)^3/3! + ...
The solutions to nonlinear differential equations can be written in integral forms involving the exponential of the matrix defining the linear part of the equation and these are the basis of various numerical methods, in particular the class of exponential integrators. Two problems arise: The second problem is particularly important when A is large and sparse and it is impractical to form exp(A) explicitly.


We have made significant improvements to the scaling and squaring method for computing exp(A), which is the most widely used method. The scaling and squaring algorithm used by the MATLAB expm function was developed in Manchester, and that algorithm has recently been improved so as to avoid the problem of overscaling.

We have also made significant progress in computing the Fréchet derivative, and estimating the condition number, of the matrix exponential. In particular, we have shown how to efficiently intertwine computation of exp(A) with estimation of its condition number.

Most recently, we have developed an algorithm for the exp(A)*B problem that combines the scaling part of the scaling and squaring method with a truncated Taylor series approximation to the exponential. In our experiments this algorithm has proved superior to Krylov-based methods and ODE integrators such as the MATLAB functions ode45 and ode15s.

Publications (recent)



Our team at Manchester involves:

Links the top

Last modified: July 08, 2010 9:39:38 AM BST.