Suppose a matrix $A_k$ is a symmetric positive definite real matrix. As $k$ increases, $A_k$ may change but will always be symmetric positive definite. What I want to do is to have an operation $f:\mathbb{R}^{n\times n}\rightarrow\mathbb{R}^{n\times n}$ on this matrix $A_k$ such that $f(A_k)\preceq B$. Note that when $A_k$ and $B$ are incomparable, the operation $f$ will also make sure that $f(A_k)\preceq B$. We can assume that $B$ is a simple matrix like $c I$, where $c>0$.

Is there a non-conservative and (hopefully) efficient way to do this? By non-conservative, I mean I want the matrix $A_k$ to change as little as possible.

One possible way to do it is to do a matrix refactorization, $A_k = Q_k\Lambda_k Q_k^\top$, and change the eigenvalues in $\Lambda_k$ to make it upper bounded by the matrix $B$. But apparently that's not efficient.

  • $\begingroup$ Do you care what happens if $A$ and $B$ are incomparable (i.e., neither $A\succeq B$, nor $B\succeq A$?) $\endgroup$
    – fedja
    Jan 15, 2021 at 18:40
  • $\begingroup$ Yes, thanks for mentioning that. If $A_k$ and $B$ are incomparable, after applying the operation $f$, the result should also be $f(A_k)\preceq B$. And also the matrix is a simple matrix like $c I$, where $c>0$. So for triggering the operation, we can find the maximum eigenvalue of $A_k$ and compare it with $c$. $\endgroup$
    – Evan
    Jan 15, 2021 at 18:47


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Browse other questions tagged or ask your own question.