Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

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

  1. Jul 14, 2011 #1
    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. jcsd
  3. Jul 14, 2011 #2
    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'
     
  4. Jul 14, 2011 #3
    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:

    [tex]
    \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*}
    [/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.
     
  5. Jul 14, 2011 #4
    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.
     
  6. Jul 14, 2011 #5
    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.
     
  7. Jul 14, 2011 #6
    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.
     
  8. Jul 14, 2011 #7
    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.)
     
  9. Jul 14, 2011 #8
    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.
     
Know someone interested in this topic? Share this thread via Reddit, Google+, Twitter, or Facebook




Similar Discussions: How to solve for matrix V ? A = V*S*V'
  1. Solve v = f(x) for x (Replies: 3)

  2. Solve for unknown matrix (Replies: 12)

  3. How to solve this? (Replies: 34)

  4. How to solve? (Replies: 1)

Loading...