Partially diagonalizing a matrix
In general $U$ will only be unitary if your composed matrix is hermitian.
I will answer the more general problem that the matrix is partially diagonalizable:
$$U^{-1} \begin{pmatrix}A &amp; B \\ C &amp; D\end{pmatrix} U = \begin{pmatrix}A' &amp; 0 \\ 0 &amp; D'\end{pmatrix}.$$
The diagonal matrix $A'$ contains the eigenvalues on its diagonal. You must already know them and their corresponding left and right eigenvectors. Now let $U_\text{eig}$ consist of the right eigenvectors and $V_\text{eig}$ consist of the left eigenvectors as columns. Then choose
$$U=(U_\text{eig}|V_\text{eig}^\perp)$$
where $\perp$ denotes an orthogonal complement (a basis of the null space).

Proof: Say, you have a matrix $U$ represented by $(U_\text{eig}|U_\text{rem})$ that partially diagonalizes your matrix. Then split its inverse like so: $V = (V_\text{eig}|V_\text{rem})$ with $U^{-1} = V^T$. We know that $V_\text{eig}$ contains left eigenvectors as columns.
It holds
$$I = U^{-1}·U = V^T·U
     = (V_\text{eig}|V_\text{rem})^T · (U_\text{eig}|U_\text{rem}).$$
Separated:
$$
\begin{array}{cc}
I = V_\text{eig}^T · U_\text{eig} &amp; 0 = V_\text{eig}^T · U_\text{rem} \\
0 = V_\text{rem}^T · U_\text{eig} &amp; I = V_\text{rem}^T · U_\text{rem}
\end{array}
$$
The equation $0 = V_\text{eig}^T · U_\text{rem}$ means that $U_\text{rem}$ is an orthogonal complement to $V_\text{eig}^T$.
You may not know the precise content of $V_\text{eig}$,
but orthogonality to $U_\text{rem}$ is invariant under change of the basis or re-ordering of columns.
Thus for your computation you can choose any left eigenbasis for your selected eigenvalues.