Cayley-Hamilton Reduction of Matrix Exponentiation to Polynomial Coefficients
- •
What it is
- •
Cayley–Hamilton reduces every matrix power to a polynomial in lower powers. If w=G^s*v is known, solve the linear system with columns v, Gv, … to recover its coefficients when that Krylov matrix has full rank. A rank-deficient observation may identify only the action on a smaller subspace.
- •
- •
When to apply
- •
A scheme reveals for a known base matrix and known vector , with the exponent itself unknown — regardless of whether is later recovered via a repeated-eigenvalue shortcut or a full discrete log, this reduction step is the common first move for "RSA/DH but with matrix exponents" challenges.
- •
- •
Symbols and assumptions
- •
G is an n×n matrix over a field, v a known column vector, and . Write ; the minimal polynomial may give an even smaller reduction.
- •
- •
Math — step by step
- •
- Cayley–Hamilton gives . Divide by f: , with degree a<n. Substituting G cancels the multiple of f and leaves .
- •
- Therefore . Build the Krylov matrix and solve .
- •
- The coefficients are uniquely recovered this way only if K has full column rank. If K is singular, a solution reproducing w may differ from the actual remainder modulo f. Work in the smaller cyclic subspace or obtain additional observations before using derivatives or field projections.
- •
- •
- •
Python
- •
cols = [] Gi = identity(n) for i in range(n): cols.append(mat_vec(Gi, v)) Gi = mat_mul(Gi, G) K = [[cols[j][i] for j in range(n)] for i in range(n)] # K's columns are G^i v a_coeffs = gauss_solve(K, w) # solve K @ a = w
- •
- •
SageMath
- •
K = Matrix(F, [G**i * v for i in range(n)]).transpose() a_coeffs = K.solve_right(w) f = G.charpoly() # the reduction modulus, if needed further
- •
- •
- •
Cards
- •
What does the Cayley-Hamilton theorem guarantee that makes this reduction possible?
- •
Every square matrix satisfies its own characteristic polynomial, so any power of the matrix can be re-expressed using only powers up to one less than its dimension
- •
- •
Why can the polynomial coefficients be recovered without knowing the secret exponent s?
- •
The relationship is linear in the coefficients. Full column rank of [v, Gv, …] is required for unique coefficient recovery from that observation.
- •
- •