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} p_{k + 1} \left({t}\right) M_k$

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

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

and:
 * the functions $p_1 \left({t}\right), p_2 \left({t}\right), \dots, p_n \left({t}\right)$ 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:
 * $p \left({0}\right) = \begin{pmatrix}

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

Proof of Validity
Let $\Phi \left({t}\right)$ represent the finite matrix sum, devised 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: X \left({0}\right) = \mathbf I$

By definition:
 * $p_1' \left({t}\right) = \lambda_1 p_1 \left({t}\right)$
 * $p_i' \left({t}\right) = p_{i-1} \left({t}\right) + \lambda_i p_i \left({t}\right): i > 1$

and:


 * $M_0 = \mathbf I$
 * $M_k = \left({\mathbf A - \lambda_k \mathbf I}\right) M_{k-1}$

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

Then: