Step 1
Let me formulate the problem to convey my notation. I have a matrix $A$ which is hermitian - and is diagonalisable by a transformation $$ U_A A\,\,U_A^{-1} = A_{diag}$$
Now the matrix is changed, using the small parameter $\lambda$. Therefore, $$ A \rightarrow A-\lambda B $$ where $B$ can be not Hermitian, in general.
I tried to calculate the first order changes in eigenvalues and eigenvectors the following way -
Step 2
The matrix $A-\lambda B $ has to be rotated by $U^\prime = e^{i\lambda \alpha}U_A$ to be diagonalized, $\alpha$ being a generator of rotation - and it makes sense that the "extra" rotation has to be proportional to $\lambda$.
$$ A^\prime_{diag} = A_{diag} + C_1\lambda + C_2\lambda^2 + \mathcal{O}(\lambda^3) $$
I wrote this down using the BCH formula and set the linear coefficient, $C_1= 0$ and got the constraint $U_AB\;U_A^{-1} = \left[i\alpha,A_{diag}\right]$.
The final form I obtained for $A^\prime_{diag}$ was $$ A^\prime_{diag} = A_{diag} -\frac{1}{2}\left[i\alpha,U_AB\;U_A^{-1}\right]\lambda^2 + \mathcal{O}(\lambda^3)$$
Question
Can anyone tell me if -
I am on the right track - and how to proceed from here to solve for $\alpha$ in terms of the known matrices.
I need to approach this differently.
it would help if $B$ were Hermitian?
EDIT
This is exactly the problem of doing perturbation theory using the SW transformation. Can anybody cite a reference?