dummy-link

ExpmV

Julia package to compute the result of expm(t*A)*v when A is a sparse matrix, without computing expm(t*A).

Readme

ExpmV

Build Status

This is a fork from https://github.com/marcusps/ExpmV.jl, implementing the evaluation for multiple values of the parameter t.

This is a Julia translation of the MATLAB implementation of Al-Mohy and Higham's function for computing expm(t*A)*v when A is sparse, without explicitly computing expm(A).

If t is a StepRangeLen object (i. e. a linspace), use an optimized algorithm to output the result for all t.

The original code can be found at (https://github.com/higham/expmv), and the theory is explained in the following article:

Computing the Action of the Matrix Exponential, with an Application to Exponential Integrators, Awad H. Al-Mohy and Nicholas J. Higham, SIAM Journal on Scientific Computing 2011 33:2, 488-511. (preprint)

Installation

Install into Julia using the package manager:

Pkg.add("ExpmV")

## Usage

expmv(t, A, v)

Eg. t = 1., or t = linspace(0, 1, 100).

Benchmarks

Need to run updated benchmarks on Julia v1.0

License

Released under the BSD 2-clause license used in Al-Mohy and Higham's original code, with the exception of function norm1est: the fast 1-norm estimation that is crucial for the speed of this algorithm is adapted from code available in Julia's Base module. This function (norm1est) is licensed under the MIT license.

First Commit

05/02/2018

Last Touched

9 days ago

Commits

140 commits

Requires:

Used By: