QR Iteration is an algorithm that, in most cases, converges to the Schur form of a matrix $A\in\mathbb C^{m\times m}$. (Many of the cases in which QR Iteration fails include matrices $A$ which are defective, without a full basis of eigenvectors for each eigenspace.) The algorithm is as follows:
1. Let $A^{(0)}=A$.
2. For $k=1,2,\cdots$
1. Let $Q^{(k)}R^{(k)}=A^{(k-1)}$, i.e. form the QR Factorization of $A^{(k-1)}$.
2. Let $A^{(k)}=R^{(k)}Q^{(k)}$.
3. Repeat.
Notice that at each step of this algorithm, the $A^{(k)}$ matrices have the exact same eigenvalues as the original $A^{(0)}=A$ matrix.