File Exchange

## Matrix exponential times a vector.

version 1.0.0.0 (9.25 KB) by Nick Higham

### Nick Higham (view profile)

Computing the matrix exponential times a vector without explicitly computing the matrix exponential.

Updated 30 Nov 2010

This submission contains two functions for computing EXPM(t*A)*b without explicitly forming EXPM(t*A), where A is an n-by-n matrix and b is an n-by-1 vector. This is the problem of computing the action of the matrix exponential on a vector.

EXPMV(t,A,B, computes EXPM(t*A)*B, while EXPMV_TSPAN(A,b,t0,tmax,q) computes EXPM(t*A)*b for q+1 >= 2 equally spaced values of T between T0 and TMAX.

The functions work for any matrix A, and use just matrix-vector products with A and A^*.

Function TEST.M runs a simple test of the codes.

Details on the underlying algorithms can be found in

A. H. Al-Mohy and N. J. Higham. Computing the action of the matrix exponential, with an application to exponential integrators. MIMS EPrint 2010.30, The University of Manchester, 2010; to appear in SIAM J. Sci. Comput. http://eprints.ma.man.ac.uk/1536/

### Cite As

Nick Higham (2020). Matrix exponential times a vector. (https://www.mathworks.com/matlabcentral/fileexchange/29576-matrix-exponential-times-a-vector), MATLAB Central File Exchange. Retrieved .

Pontus Vikstål

### Pontus Vikstål (view profile)

Can I use this if expm(A(t))*b where A(t) is a linear function that depends on time?

Pontus Vikstål

### Pontus Vikstål (view profile)

How can I use this if I want to compute expm(t*A+B)*b ?

Raphael Kaubruegger

Nike Dattani

### Nike Dattani (view profile)

I am also interested in large matrices, and particularly on sparse large matrices that still take up ~ 100GB despite being sparse (!)