Matrix decomposition question

  1. Hi everyone,

    I have a problem with the following matrix equation:

    A = B*inv(B+D)

    where A is a square matrix, B a positive semi-definite matrix, D a positive diagonal matrix and inv() denotes the inverse matrix. All are real-valued.

    Does anyone know of any simple way to check whether this equation has a solution for given A? And how to obtain this solution? (i.e. find B and D) And whether the solution is unique?

    Thanks in advance!
     
  2. jcsd
  3. tiny-tim

    tiny-tim 26,041
    Science Advisor
    Homework Helper

    Welcome to PF!

    Hi TimSal! Welcome to PF! :smile:

    Hint: multiply both sides by … ? :wink:
     
  4. Yes, that gives

    A(B+D)=B

    or

    AD=(I-A)B

    I don't see how that really helps to answer the question though. It's a system of linear equations but I still don't see an easy way of checking whether there exists a solution, nor do I know how to solve this efficiently under the restriction that B is positive semi-definite and D is positive diagonal.
     
  5. tiny-tim

    tiny-tim 26,041
    Science Advisor
    Homework Helper

    Hi TimSal! :smile:
    So, if (I - A) is invertible, then B = (1 - A)-1AD :wink:
     
  6. Thanks. Any thoughts on the case where A and (I-A) are not invertible?
     
  7. Also, with
    there does not seem to be any guarantee that B will indeed be positive semi-definite for any given positive diagonal D.
     
  8. tiny-tim

    tiny-tim 26,041
    Science Advisor
    Homework Helper

    Nope! :smile:
    But D isn't given.
     
  9. D isn't given, but because there is no guarantee that B will be positive semi-definite for any chosen D, this expression does not help me solve the equation. I still don't know how to pick D and B.
     
Know someone interested in this topic? Share a link to this question via email, Google+, Twitter, or Facebook

Have something to add?