Putzer Algorithm to calculate eAt
Matrix Exponential function: Let A be an n × n constant matrix. Then we define the
matrix exponential function by eAt is the solution of the IVP
X ′ (t) = AX(t), X(0) = In .
Putzer Algorithm for finding eAt : Let λ1 , λ2 , · · · , λn be ‘n’ eigenvalues of A. Then
n−1
X
At
e = pk+1 (t)Mk ,
k=0
where M0 = In ,
Mk = Πkr=1 (A − λr In ), 1 ≤ k ≤ n − 1,
and the vector function p(t) = [p1 (t), p2 (t), · · · , pn (t)]t is the solution of IVP,
λ1 0 0 ··· ··· 0
1 λ2 0
··· ··· 0
1
0
0 1 λ3 ··· ··· 0
′
p (t) = p(t), p(0) = .. .
··· ··· ··· ··· ··· ··· .
0 0 0 · · · λn−1 0
0
0 0 0 ··· 1 λn
Proof of the algorithm: Let us define Φ(t) as
n−1
X
Φ(t) = pk+1 (t)Mk , t ∈ R.
k=0
By uniqueness theorem, we are required to prove that Φ(t) is the unique solution of IVP
X ′ = AX, X(0) = In .
n−1
X
Φ(0) = pk+1 (0)Mk = M0 = In , p1 (0) = 1, pk (0) = 0, 2 ≤ k ≤ n.
k=0
As per definition,
′ ′
p1 (t) = λ1 p1 (t), pj (t) = pj−1 (t) + λj pj (t), 2 ≤ j ≤ n.
Now consider for t ∈ R,
n−1 n−1
′
X X
′
Φ (t) − AΦ(t) = pk+1 (t)Mk − A pk+1 (t)Mk
k=0 k=0
n−1 n−1
′
X X
= λ1 p1 (t)M0 + pk+1 (t)Mk − pk+1 (t)AMk
k=1 k=0
n−1
X n−1
X
= λ1 p1 (t)M0 + (λk+1 pk+1 (t) + pk (t))Mk − pk+1 (t)AMk .
k=1 k=0
1
Now
Mk = Πkr=1 (A − λr In ) ⇒ Mk+1 = (A − λk+1 In )Mk = AMk − λk+1 Mk
⇒ AMk = Mk+1 + λk+1 Mk .
Hence from above relation, we find
n−1
X n−1
X
′
Φ (t) − AΦ(t) = λ1 p1 (t)M0 + (λk+1 pk+1 (t) + pk (t))Mk − pk+1 (t)(Mk+1 + λk+1 Mk )
k=1 k=0
n−1
X n−1
X
= pk (t)Mk − pk+1 (t)Mk+1 = −pn (t)Mn = θn×n ,
k=1 k=0
which follows from Cayley-Hamilton theorem.