Functions act block by block
If A = P J P^-1 then f(A) = P f(J) P^-1 for any reasonable function f, and because J is block-diagonal, f(J) just applies f to each block separately. So the entire problem collapses to: what is f of a single Jordan block? This is the functional calculus made concrete.
The function of a Jordan block J_k(lambda) is an upper-triangular Toeplitz matrix built from the derivatives of f at lambda: the diagonal is f(lambda), the superdiagonal is f'(lambda), the next is f''(lambda)/2!, and the j-th diagonal up is f^(j)(lambda)/j!. The single nilpotent N = J - lambda*I and a Taylor expansion are all you need — N^k = 0 truncates the series automatically.
For a 3x3 block J = lambda*I + N (N the superdiagonal shift, N^3 = 0):
f(J) = f(lambda)*I + f'(lambda)*N + (f''(lambda)/2!)*N^2
= [ f(lambda) f'(lambda) f''(lambda)/2 ;
0 f(lambda) f'(lambda) ;
0 0 f(lambda) ]
The finite Taylor series stops because N^3 = 0 — no convergence worries.Powers and the matrix exponential
For matrix powers take f(x) = x^m: then f^(j)(lambda)/j! = C(m, j) lambda^(m-j), so each block's entries are binomial coefficients times powers of lambda — instantly giving A^m = P J^m P^-1 in closed form, with NO repeated multiplication. The asymptotics of A^m are visible at a glance: blocks with |lambda| < 1 decay, |lambda| > 1 blow up, and a large block with |lambda| = 1 grows polynomially.
For the matrix exponential take f(x) = e^(tx). Each block gives e^(t lambda) times a polynomial-in-t triangle: e^(tJ_k(lambda)) = e^(t lambda) * (I + tN + (t^2/2!)N^2 + ... + (t^(k-1)/(k-1)!)N^(k-1)). This is the exact solution operator for the linear ODE system x'(t) = A x(t): x(t) = e^(At) x(0). The block sizes explain why repeated eigenvalues produce the t, t^2, ... factors you see in solutions.
ODE x' = A x, A = P J P^-1. Solution: x(t) = P e^(tJ) P^-1 x(0).
For J_2(lambda) = [lambda 1; 0 lambda]:
e^(tJ) = e^(t*lambda) * [1 t;
0 1]
The '1' in the block is exactly what produces the t * e^(t*lambda)
resonant term familiar from repeated-root ODEs.Square roots, logs, and the big picture
The same machine gives a matrix square root: take f(x) = sqrt(x) and apply it block by block, which works for any invertible block (and even for singular blocks under conditions on their size). Logs, sines, resolvents — anything analytic at the eigenvalues — all follow the identical derivative-triangle recipe. One canonical form, every matrix function.