The matrix exponential Y = expm(D) is the solution of the differential equation Y'(t) = D*Y(t) at t = 1, with initial condition Y(0) = I (the identity matrix). The gexpm function generalizes this for the case of a non-constant coefficient matrix D: Y'(t) = D(t)*Y(t). gexpm handles both the constant and non-constant D cases and is equivalent to expm for constant D.
An argument option allows gexpm to compute Y = expm(X)-I without the precision loss associated with the I term. This is analogous to the MATLAB expm1 function ("exponential minus 1").
The demo_gexpm script illustrates the performance of gexpm in comparison to expm and ode45.
The algorithm is based on an order-6 Pade approximation, which is outlined in the document KJohnson_2015_04_01.pdf.
Kenneth Johnson (2023). Generalized Matrix Exponential (https://www.mathworks.com/matlabcentral/fileexchange/50413-generalized-matrix-exponential), MATLAB Central File Exchange. Retrieved .
MATLAB Release Compatibility
Platform CompatibilityWindows macOS Linux
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!Start Hunting!