About Site Map Submit Contact Us Log in | Create an account
Create an account Log In
Average Rating
User Rating:
Visitors Rating:
My rating:

Write review
  • Last update: 5 years ago
  • Total downloads: 19
  • Operating system: Linux, Mac OS X, Win All, BSD, Solaris
  • Publisher: Stefan GГјttel
See full specifications

scripts default iconMatrix exponential (Scripts) Publisher's description

This method is based on expanding the exponential function on the negative real axis into a rational Chebyshev series

This method is based on expanding the exponential function on the negative real axis into a rational Chebyshev series. Calling rcexpmv(A,v) returns an approximation to expm(A)*v, i.e., the action of the matrix exponential of A onto a vector v (or a block of vectors). Note that this is the solution u(1) of the linear initial value problem u'(t) = A*u(t), u(0) = v. Of course, you can also compute the full matrix exponential by setting v = eye(size(A)).

The square matrix A has do be symmetric with no positive eigenvalues! If there are positive eigenvalues, just shift A sufficiently far to the left using

expm(A) = exp(s) * expm( A - s*speye(size(A)) ), s > 0.

This method is much faster than Matlab's expm if A is large. It requires the repeated solution of a single shifted linear system with A for different right-hand sides, and the shift is real. This means that

1) for real data b and A the linear system to be solved is real, and
2) a direct solver would only factor the matrix exactly once and reuse the factorization (we simply use backslash, but you can easily use your favorite linear system solver).

An error tolerance can be provided by calling rcexpmv(A,v,tol). A larger tolerance reduces the number of required linear system solves. The tolerance also influences the optimal shift, which is chosen automatically.

Included is also a routine rcexpmv2 to compute exp(MK)*v, a problem that arises when solving a linear initial value problem with a mass matrix: M*u'(t) = K*u(t), u(0) = v.

To get started, have a look at test_rcexmpv.m or test_rcexpmv2.m.

Rational Chebyshev expansions have been first advocated in the context of spectral methods by [Grosch & Orszag 77] and [Boyd 82/87]. Old and new rational Krylov methods for approximating matrix functions are discussed in my thesis [GГјttel 10] (available online).

System Requirements:

MATLAB 7.7 (R2008b)
Program Release Status: Major Update
Program Install Support: Install and Uninstall

Matrix exponential (Scripts) Tags:

Click on a tag to find related softwares

Is Matrix exponential (Scripts) your software?

Manage your software

Most Popular

scripts default icon ASK, OOK, FSK, BPSK, QPSK, 8PSK modulation 1.1
ASK, OOK, FSK, BPSK, QPSK, 8PSK modulation contain several functions for digital modulation simulation
scripts default icon Simulink Communication Labs 1.1
Simulink Communication Labs allows you to learn communication systems in greater depth.
scripts default icon M-QAM modulation and demodulation 1.1
M-QAM modulation and demodulation is the QAM modulation and demodulation tech.
scripts default icon LZW Compression/Decompression 1.1
LZW Compression/Decompression - Updated LZW compressor and decompressor with reasonable performance
scripts default icon InSPIRE utility to plot a 2D displacement field (Scripts) 1.0
This program plots the deformation field (displace vectors) contained in vector.txt.