קוד:אלגוריתם לשילוש
\begin{remark}[אלגוריתם לשילוש מטריצה]
תהי מטריצה \(A\in M_n\left(\mathbb{F}\right)\), כך ש-\(p_A\left(x\right)\) מתפרק למכפלה של גורמים לינאריים.
\begin{enumerate}
\item נמצא לכל ערך עצמי \(\lambda\) בסיס למרחב העצמי, ונסמן את איחוד הבסיסים האלו ב-\(\tilde{B}\). נסמן \(\left|\tilde{B}\right|=k\).
\item נשלים אותו לבסיס \(B\) של \(V\).
\item נסמן ב-\(P\) את המטריצה שעמודותיה הן הווקטורים של \(B\), ונחשב את \(\tilde{A}_2=P^{-1}AP\).
\item אם \(\tilde{A}_2\) משולשת, עוברים לשלב הבא.
אחרת, נסמן ב-\(A_2\) את המטריצה המתקבלת מ-\(\tilde{A}_2\) על ידי מחיקת \(k\) השורות והעמודות הראשונות, ונפעיל עליה את האלגוריתם עד שנקבל מטריצה משלשת \(P_1\).
\item נסמן \(P'=\left(\begin{matrix}I_k&0\\0&P_1\end{matrix}\right)\). אזי \(\left(P'\right)^{-1}P^{-1}APP'\) משולשת עליונה.
\end{enumerate}
\end{remark}