https://en.wikipedia.org/wiki/Schur_decomposition
In this wikipedia article, the proof of the Schur decomposition is as follows: For a given eigenvalue $ \lambda_i$, we obtain orthonormal eigenvectors associated with it, which we use to diagonalise the $dim(V_\lambda) \times dim(V_\lambda$) submatrix restricted to this eigenspace. Then we continue to diagonalise successive eigenspaces until we obtain a fully upper-triangulated matrix.
However, the proof fails to mention the corner case where the geometric multiplicity of the eigenvalue ($ dim\ ker(A-\lambda_i I)$) fails to be as large as its algebraic multiplicity (power k of factor $ (\lambda-\lambda_i)^k$ in characterisitc polynomial). This basically means that there are more $\lambda_i $s that could appear in the diagonal than there are orthonormal eigenvectors to diagonalise it. In Jordan normal form, we resort to constructing orthonormal generalised eigenvectors to put the matrix in a nice form. In the wikipedia proof on the other hand, it is not stipulated how to obtain such orthonormal eigenvectors to diagonalise (or at least put in upper-triangular form) the last m diagonals which do not have eigenvalues associated with them.
I'm wondering if the proof is incomplete or if I'm missing something out.
Thanks for the help in advance.