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, privacy policy and cookie policy