matrix not diagonalizable
If the matrix is not diagonalizable then it can still be broken down into Jordan normal form. If an eigenvalue [tex]\lambda[/tex] has multiplicity c, but does not have c independent eigenvectors, you will get Jordan block for each eigenvector.
For example if c = 5 and there are two independent eigenvectors, one with eigenspace of dimension 2 and the other with eigenspace of dimension 3 there will be a Jordan block which is 2x2 and one which is 3x3. The 3x3 Jordan block will look like this:
[tex]
\begin{pmatrix}<br />
\lambda & 1 & 0\\<br />
0 & \lambda & 1\\<br />
0 & 0 & \lambda<br />
\end{pmatrix}[/tex]
with an nxn block created similarly. All the Jordan blocks reside on the diagonal. If you have reduced two matrices to the same Jordan form, they are, essentially similar.
Re the eigenspaces, the basis of the 2 dimensional one will be the existing eigenvector plus one generalized eigenvector. The 3 dimensional space will also have a basis consisting of the eigenvector plus some combination of generalized eigenvectors.
The dimensions of the eigenspaces are certainly invariant under this transformation.
There is a complete discussion of this in the book Linear Algebra by Peter Lax. Probably other books have it as well. None of them is very clear, but if you spend some time you can figure it out.