The Matrix Exponential
Extending the exponential function to matrices, the key to solving systems of linear differential equations.
Definition
The matrix exponential of a square matrix A is defined by the same power series as the scalar exponential: exp(A) = I + A + A^2/2! + A^3/3! + and so on. The series converges for every matrix, producing another matrix of the same size. It is the natural bridge from linear algebra to the dynamics of continuous systems.
Solving linear ODEs
The system of differential equations dx/dt = A x with initial condition x(0) has the exact solution x(t) = exp(At) x(0). The matrix exponential thus advances the entire state forward in time in one object, generalizing the scalar solution x(t) = exp(at) x(0). Its behavior is governed by the eigenvalues of A: their real parts decide whether solutions grow or decay.
Computing it
If A is diagonalizable as P D P^{-1}, then exp(A) = P exp(D) P^{-1}, where exp(D) simply exponentiates each diagonal eigenvalue. For general matrices, robust algorithms use scaling and squaring combined with a Pade approximation, since the naive power series and the eigenvalue route can both be inaccurate for defective or ill-conditioned matrices.
Properties
- exp(0) = I
- d/dt exp(At) = A exp(At)
- exp((s+t)A) = exp(sA) exp(tA)
- exp(A) exp(B) = exp(A+B) only when A and B commute
- det(exp(A)) = exp(tr(A))
import numpy as np
from scipy.linalg import expm
A = np.array([[0.0, 1.0], [-1.0, 0.0]]) # rotation generator
print(expm(A)) # rotation by 1 radian
Time evolution of linearized plasma dynamics is expressed through the matrix exponential of the system operator, whose eigenvalue spectrum separates stable oscillations from growing instabilities.