Constructing a matrix with given eigenvalues and given algebraic and geometric multiplicities It's easy to construct a matrix with given eigenvalues, where the algebraic and geometric multiplicities agree by just picking random linearly independent vectors as the eigenvectors and then letting the matrix be $P\Lambda P^{-1}$. Assume I want to construct a matrix $A$ s.t. the eigenvalues are $\lambda_1,\ldots,\lambda_k$ with algebraic multiplicities $e_1,\ldots,e_k$ and geometric multiplicities $g_1,\ldots,g_k$, then how can this be done?
Is there a nice method for doing this, so that one could quickly generate examples with a computer algebra system?
 A: You can proceed in a similar way. Suppose the distinct eigenvalues are $\lambda_1,\ldots,\lambda_r$, the desired geometric multiplicitiy of $\lambda_i$ is $g_i$, and the desired algebraic multiplicity is $e_i\geq g_i$.
You want to construct a matrix whose Jordan form has exactly $g_i$ blocks associated with $\lambda_i$, and the total size of the blocks is $e_i$. You can achieve this by taking $g_i-1$ blocks of size $1$ (corresponding to eigenvectors), and then one block of size $e_i-g_i+1$, all associated to $\lambda_i$; other combinations are possible. For example, to get a matrix with a single eigenvalue $\lambda$ with geometric multiplicity $4$ and algebraic multiplicity $6$, you can take three blocks of size $1$ and one of size $6-4+1=3$:
$$\left(\begin{array}{cccccc}
\lambda & 1 & 0 & 0 & 0 & 0\\
0 & \lambda & 1 & 0 & 0 & 0\\
0 & 0& \lambda & 0 & 0 & 0\\
0 & 0 & 0 & \lambda & 0 & 0\\
0 & 0 & 0 & 0 & \lambda & 0 \\
0 & 0 & 0 & 0 & 0 & \lambda
\end{array}\right)$$
or take two blocks of size $2$ and two blocks of size $1$:
$$\left(\begin{array}{cccccc}
\lambda & 1 & 0 & 0 & 0 & 0\\
0 & \lambda & 0 & 0 & 0 & 0\\
0 & 0 & \lambda & 1 & 0 & 0\\
0 & 0 & 0 & \lambda & 0 & 0\\
0 & 0 & 0 & 0 & \lambda & 0\\
0 & 0 & 0 & 0 & 0 & \lambda
\end{array}\right).$$
Then you can conjugate by an invertible matrix to get it into a "non-obvious" form.
