How to solve for matrix V ? A = V*S*V'

1. Jul 14, 2011

cr2504life

How to solve for matrix V ?? A = V*S*V'

I have A, V, and S (all matricies, square and invertable).
A = V*S*V'

where V' is transpose(V)

I know A and S, how do I solve for V ??

S is symmetric incase that helps.

Much appreciated.

J.

Last edited: Jul 14, 2011
2. Jul 14, 2011

pmsrw3

Re: How to solve for matrix V ?? A = V*S*V'

Is A also symmetric? If so, this can be reduced to an eigenvalue problem.

Wait -- duh. Of course A is symmetric, or there would be no solution. So, here's what you do. Diagonalize both A and S:

A = P L P'
S = Q L Q'

L is the diagonal matrix of eigenvalues. The two matrices must have the same eigenvalues, or there is no solution. P and Q are the respective eigenvector matrics, and they are orthogonal. (I assume we're dealing with real matrices.) Now

L = P' A P = Q' S Q
A = P Q' S Q P'
V = P Q'

3. Jul 14, 2011

pmsrw3

Re: How to solve for matrix V ?? A = V*S*V'

I made a mistake. The eigenvalues of the two matrices need not be the same. (For some reason I was thinking you needed a similarity transformation.) Suppose the eigenvalue decomposition of S is Q M Q' (Q orthogonal, M diagonal). Then:

$$\begin{eqnarray*} S & = & Q M^{1/2} L^{-1/2} L L^{-1/2} M^{1/2} Q^T \\ L & = & L^{1/2} M^{-1/2} Q^T S Q M^{-1/2} L^{1/2} \\ & = & P^T A P \\ A & = & P L^{1/2} M^{-1/2} Q^T S Q M^{-1/2} L^{1/2} P^T\\ V & = & P L^{1/2} M^{-1/2} Q^T \\ \end{eqnarray*}$$

$L^{1/2} M^{-1/2}$ will have imaginary values if any eigenvalues of S are opposite in sign to those of A.

4. Jul 14, 2011

cr2504life

Re: How to solve for matrix V ?? A = V*S*V'

Thanks pmsrw3, Im going to give that a try, I'll post my finings.

and yes, A is symmetric too. Also, S is a diagonal matrix containing the eigenvalues of A.

5. Jul 14, 2011

pmsrw3

Re: How to solve for matrix V ?? A = V*S*V'

Ah! You should have mentioned that. You just want to diagonalize a symmetric matrix. This is a standard problem. There are tons of software packages that will do it.

6. Jul 14, 2011

cr2504life

Re: How to solve for matrix V ?? A = V*S*V'

So, since S is a diagonal matrix containing the eigenvalues of A, V seems to be a matrix whos corresponding columns are the eigen vectors of A.

A = V*S*V' checks out.

I should have mentioned that S was a diagonal matrix which containes the eigenvalues of A. Ppmsrw3 thanks for your general solution to this problem, I wouldnt have solved this without your help.

7. Jul 14, 2011

pmsrw3

Re: How to solve for matrix V ?? A = V*S*V'

That's right: each column of V is an eigenvector of A, and V is an orthogonal matrix (V V' = V' V = I). (Or, I should say, it can always be chosen to be orthogonal.)

8. Jul 14, 2011

cr2504life

Re: How to solve for matrix V ?? A = V*S*V'

Im trying this out in MATLAB, VV' = V'V = I, yup, confirmed in MATLAB.

and to find V, [V,S] = eig(A);

I really only know this eigenvalue/vector stuff on a superficial level.

Thanks.