This question is a little ill-posed, but I've been playing with some equations and am just wondering if this resembles any known problems that have been solved.

Suppose I have two real, positive definite (square) matrices $\mathbf{A}$ and $\mathbf{C}$, and I wish to find another real, positive definite matrix $\mathbf{B}$ such that $\mathbf{A B} + \mathbf{B}^{-1}\mathbf{C}$ is as close as possible to identity.

I'll entertain any reasonable definition of "close" that makes the problem tractable. Maybe minimization of $\| \mathbf{A B} + \mathbf{B}^{-1}\mathbf{C} - \mathbb{I} \|$ for some choice of norm.

Does anyone have any insight or experience with such a problem?



  • $\begingroup$ It reminds me of Sylvester's equation. There however we have no inverse. $\endgroup$ – user35593 Mar 8 '16 at 20:48
  • $\begingroup$ I wonder if the minimization problem could be cast in terms of a Frobenius norm. $\endgroup$ – Nick Mar 22 '16 at 3:28

You are actually looking to solve the continuous algebraic Riccati equation. For convenience, I will write your $B$ as $X=X^T$. Then the equation you're trying to solve is simply

$$ X - XAX + (-C) = 0$$

Or even more explicitly, writing the Cholesky factorization of $A=BB^T$

$$ \left( \frac{1}{2}I \right)^TX + X\left( \frac{1}{2}I \right) - XBB^TX + (-C) = 0$$

The solution of an algebraic Riccati equation using Hamiltonian matrices is a standard topic in control theory. But I would instead refer you to the "care" command in MATLAB.

  • 3
    $\begingroup$ But in many cases this algebraic Riccati equation has no real solutions. $\endgroup$ – Robert Israel Mar 11 '16 at 18:46
  • 1
    $\begingroup$ Excellent point. In order to get a real symmetric posdef $X$ "close" to solving the ARE, we would have to reformulate the problem into a semidefinite program. $\endgroup$ – Richard Zhang Mar 11 '16 at 19:20

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.