Finding a matrix with given eigenvalues that most closely approximates another matrix

80 Views Asked by At

Let $A \in {\bf C}^{n \times n}$ be a given matrix and let $\lambda_1 , \lambda_2, ..., \lambda_n$ be a given collection of $n$ complex numbers (not necessarily distinct), and let $\|\centerdot\| $ be some given matrix norm. How do you find $B \in {\bf C}^{n \times n}$ such that $\lambda_1 , \lambda_2, ..., \lambda_n$ are the eigenvalues of $B$ and $\|A-B\|$ is minimal?

I don't think that there is a general analytic procedure for finding such a matrix, but I was wondering if there are numerical methods for approximating $B$. I think it could be done by considering the Schur decomposition of $B = QUQ^{-1}$ where the diagonal of $U$ is the set of given eigenvalues, but I'm unsure of how to simultaneously minimize over all possible unitary matrices $Q$ and all possible entries above the main diagonal of $U$.