View License

Download apps, toolboxes, and other File Exchange content using Add-On Explorer in MATLAB.

» Watch video

Highlights from
Matrix exponential times a vector.

5.0 | 1 rating Rate this file 10 Downloads (last 30 days) File Size: 9.25 KB File ID: #29576 Version: 1.0
image thumbnail

Matrix exponential times a vector.


Nick Higham (view profile)


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

| Watch this File

File Information

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.

MATLAB release MATLAB 7.11 (R2010b)
Tags for This File   Please login to tag files.
Please login to add a comment or rating.
Comments and Ratings (3)
14 Sep 2014 Nike Dattani

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

Comment only
15 Jun 2011 Ohad

Ohad (view profile)

13 Jun 2011 Ohad

Ohad (view profile)

Has anyone used this algorithm with large matrices?
It seems to be extremely fast for small matrices, but on matrices on the order of gigabytes I get much slower results than simpler methods.

Comment only

Contact us