Skip to content

Exponential

william-dawson edited this page Jun 16, 2017 · 2 revisions

Overview

This module allows you to compute the exponential of a matrix.

f(A) = e^A.

We will take advantage of the following relationship to scale the matrix:

e^A = (e^{\frac{A}{\sigma}})^{\sigma}.

Method

The matrix exponential is computed using Chebyshev polynomials. First, we need to scale the matrix so that the spectrum of the matrix is contained in [-1,1]. Then we compute the exponential, and rescale it by successive squaring.

We also take advantage of polynomial factoring to speed up the computation of the Chebyshev polynomials. This can all be hardcoded (as in the below example) because we only need 32 coefficients to accurately compute the exponential.

How to Cite

From what I could tell, people usually cite the "19 dubious ways" paper when they use this method.

@article{moler1978nineteen,
  title={Nineteen dubious ways to compute the exponential of a matrix},
  author={Moler, Cleve and Van Loan, Charles},
  journal={SIAM review},
  volume={20},
  number={4},
  pages={801--836},
  year={1978},
  publisher={SIAM}
}
Clone this wiki locally