Putzer Algorithm

Algorithm
The Putzer Algorithm is a method for analytically evaluating Matrix Exponentials using only eigenvalues and components in the solution of a relatively simple linear system.

It is particularly useful for matrices that cannot be diagonalized because it avoids the use of Jordan-Canonical Form.

Method
Let $\lambda_1, \lambda_2, \dotsc, \lambda_n$ be the (not necessarily distinct) eigenvalues of the matrix $A$.

Then:


 * $\displaystyle e^{\mathbf A t} = \sum_{k \mathop = 0}^{n - 1} \map {p_{k + 1} } t M_k$

This formula is constructed by setting $M_0 = \mathbf I$:
 * $\displaystyle M_k = \prod_{i \mathop = 1}^k \paren {\mathbf A - \lambda_i I}$

where:
 * $\mathbf I$ is the identity matrix

and:
 * the functions $\map {p_1} t, \map {p_2} t, \dotsc, \map {p_n} t$ are taken to be components of the vector function solution to the IVP:


 * $p' = \begin{pmatrix}

\lambda_1 & 0 & 0 & \cdots & 0 \\ 1 & \lambda_2 & 0 & \cdots & 0 \\ 0 & 1 & \lambda_3 & \cdots & 0 \\ \vdots & \vdots & \vdots & \ddots & \vdots \\ 0 & \cdots & 0 & 1 & \lambda_n \end{pmatrix} p$

such that:
 * $\map p 0 = \begin{pmatrix}

1 \\ 0 \\ 0 \\ \vdots\\ 0 \end{pmatrix}$

Proof of Validity
Let $\map \Phi t$ represent the finite matrix sum, derived above, as the candidate for $e^{\mathbf A t}$.

By the uniqueness theorem, it suffices to show that $\Phi$ satisfies the IVP:
 * $X' = \mathbf A X: \map X 0 = \mathbf I$

By definition:
 * $\map {p_1'} t = \lambda_1 \map {p_1} t$
 * $\map {p_i'} t = \map {p_{i - 1} } t + \lambda_i \, \map {p_i} t: i > 1$

and:


 * $M_0 = \mathbf I$
 * $M_k = \paren {\mathbf A - \lambda_k \mathbf I} M_{k - 1}$

Note also that $M_n = 0$ by the Cayley-Hamilton Theorem.

Then: