blockdiagonalize
Blockdiagonalize refers to the process of transforming a linear operator or matrix into a block diagonal form, via a suitable change of basis. If A is an n-by-n matrix representing a linear transformation on a vector space V, blockdiagonalization seeks a basis of V in which the matrix of the transformation is block diagonal: P^{-1}AP = diag(A1, A2, ..., Ak), where each Ai is a square matrix acting on a subspace Vi and V decomposes as a direct sum V = V1 ⊕ V2 ⊕ ... ⊕ Vk of A-invariant subspaces Vi.
The key condition is the existence of a decomposition of V into A-invariant subspaces that are complementary.
Common theoretical tools include the primary decomposition and invariant subspace theory. If the minimal polynomial factors