Recipe
Decompose a vector using primary decomposition
Use when: you know T's minimal polynomial factored by eigenvalue and need to split a vector (or all of V) into its generalized-eigenspace pieces
Goal: one projection operator per eigenvalue, and the exact generalized-eigenspace decomposition of any vector in V
Taught in Primary decomposition
Quick recipe
-
1
Write m_T(x)=(x-\lambda_1)^{d_1}\cdots(x-\lambda_r)^{d_r}, one factor per distinct eigenvalue, using the exponents that already appear in m_T.
Example
For T=\begin{pmatrix}2&-1\\0&1\end{pmatrix}, the eigenvalues are 1 and 2, each appearing to the first power, so m_T(x)=(x-1)(x-2).
Why: primary decomposition builds one subspace per distinct eigenvalue, and the minimal polynomial's own factorization is exactly that list of eigenvalues with their exponents.
-
2
For every eigenvalue \lambda_i, divide m_T by its own factor (x-\lambda_i)^{d_i}; the quotient q_i is a polynomial that misses only that one root.
Example
q_1=m_T/(x-1)=(x-2) for \lambda_1=1, and q_2=m_T/(x-2)=(x-1) for \lambda_2=2.
Why: these quotients are exactly what makes the projections built later vanish on every generalized eigenspace except one.
-
3
Find polynomials r_1,\dots,r_r with r_1q_1+\cdots+r_rq_r=1; since the q_i share no common root, such an identity always exists.
Example
Solve r_1(x-2)+r_2(x-1)=1. Trying r_2=1 gives r_1(x-2)=2-x=-(x-2), so r_1=-1 and r_2=1.
- every q_i has degree 1 (each eigenvalue has multiplicity 1) — guess constant r_i values and check directly, as above.
- some q_i has degree 2 or more (an eigenvalue with multiplicity above 1) — match coefficients degree by degree to solve for the r_i instead of guessing.
⚡ Shortcut
For exactly two eigenvalues, each with multiplicity 1, both quotients are linear; one constant can be guessed and checked by hand, as above, with no system of equations to set up.
Why: this identity is what turns "a sum of quotients" into "a sum equal to the identity operator" once T is substituted in.
-
4
Plug the operator T into each product r_i(x)q_i(x); the resulting operators P_1,\dots,P_r sum to the identity and each projects onto one generalized eigenspace G_{\lambda_i}.
Example
P_1=r_1(T)q_1(T)=-(T-2I)=\begin{pmatrix}0&1\\0&1\end{pmatrix} and P_2=r_2(T)q_2(T)=(T-I)=\begin{pmatrix}1&-1\\0&0\end{pmatrix}, and P_1+P_2=I.
Why: substituting T for x in the Bezout identity is exactly what the primary decomposition theorem's proof does to manufacture these projections.
-
5
Compute P_i\mathbf v for each i; these pieces land in the matching generalized eigenspace G_{\lambda_i} and add back up to \mathbf v exactly.
Example
For \mathbf v=(4,2): P_1\mathbf v=(2,2) and P_2\mathbf v=(2,0), and (2,2)+(2,0)=(4,2)=\mathbf v.
Why: this final check confirms the projections were built correctly, since a genuine decomposition must always reconstruct the original vector exactly.
Common mistakes
- Factoring the characteristic polynomial instead of the minimal polynomial when building the q_i; the exponents can differ between the two.
- Building q_i from the wrong eigenvalue, dividing out a factor that doesn't match \lambda_i.
- Stopping after finding the r_i without ever substituting T to build the actual projection operators.
- Forgetting to check that the projected pieces add back up to the original vector.
- Assuming P_i projects onto the ordinary eigenspace rather than the generally larger generalized eigenspace G_{\lambda_i}.