Find $X$ such that $XX'=AA'-BB'$ where $A$ and $B$ are known real matrices

164 Views Asked by At

Suppose that $A$ and $B$ are known real matrices (not necessarily triangular or square), and that it is known that $AA'-BB'$ is positive semi-definite (where $'$ denotes transpose).

What is the most numerically stable way to find $X$ (also not necessarily triangular or square) such that $XX'=AA'-BB'$?

If $A$ were triangular, one could perform a Cholesky down-date, but what about the case when $A$ is not triangular?

One always has the option of calculating $AA'-BB'$ and then taking a factorisation, but it seems likely that this looses precision.

(E.g. to factorize a symmetric matrix $Z$, take $Z=UDU'$, where $D$ is diagonal and $U$ is unitary, from the Schur decomposition, then if $Z$ is known to be p.s.d. we can safely zero any negative elements of the diagonal, giving $D\approx\text{diag}[d,0]$ where $d$ is a strictly-positive vector, so $Z\approx \left( U_{\cdot 1} \text{diag}\sqrt{d} \right)\left( U_{\cdot 1} \text{diag}\sqrt{d} \right)'$, where $U$ is conformably partitioned with $D$, and square-root acts element-wise on vectors.)