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

  • Context: Undergrad 
  • Thread starter Thread starter cr2504life
  • Start date Start date
  • Tags Tags
    Matrix
Join the discussion
Registration is free. Ask a follow-up in this thread, or start your own.
7 replies · 2K views
cr2504life
Messages
6
Reaction score
0
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:
Physics news on Phys.org


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'
 


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:

[tex] \begin{eqnarray*}<br /> S & = & Q M^{1/2} L^{-1/2} L L^{-1/2} M^{1/2} Q^T \\<br /> L & = & L^{1/2} M^{-1/2} Q^T S Q M^{-1/2} L^{1/2} \\<br /> & = & P^T A P \\<br /> A & = & P L^{1/2} M^{-1/2} Q^T S Q M^{-1/2} L^{1/2} P^T\\<br /> V & = & P L^{1/2} M^{-1/2} Q^T \\<br /> \end{eqnarray*}[/tex]

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


Thanks pmsrw3, I am 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.
 


cr2504life said:
and yes, A is symmetric too. Also, S is a diagonal matrix containing the eigenvalues of A.
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.
 


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 wouldn't have solved this without your help.
 


cr2504life said:
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 wouldn't have solved this without your help.
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.)
 


pmsrw3 said:
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.)

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.