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

  • Thread starter Thread starter cr2504life
  • Start date Start date
  • Tags Tags
    Matrix
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:
Mathematics 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:

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

L^{1/2} M^{-1/2} 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.
 
Back
Top