-
Notifications
You must be signed in to change notification settings - Fork 10
Exponential
william-dawson edited this page Jun 16, 2017
·
2 revisions
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}.
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.
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} }