Post Your Answer
5 months ago in Algebra , Computational Social Science By Mukesh
How can one compute C = inv(A‑ inv(B) A) without inverting B directly?
I'm implementing a statistical estimation algorithm, and this specific matrix expression keeps coming up. Directly inverting B, which can be huge and ill-conditioned, is both computationally expensive and numerically risky. I'm looking for a proven, stable computational strategy that sidesteps this inversion altogether.
Â
All Answers (1 Answers In All)
By Keerthi Gupta Answered 1 month ago
In my work on large-scale statistical models, I've faced this exact computational bottleneck. I would recommend against forming inv(B) explicitly. The standard, robust approach is to recognize this as a sequence of linear solves. First, solve B*X = A for X using a stable decomposition like Cholesky (if B is SPD) or LU. Then, compute C = inv(A? * X). This replaces one large, unstable inversion with two numerically reliable operations: a linear solve and a smaller inversion. I've found this maintains accuracy and control over round-off error.
Â
Reply to Keerthi Gupta
Related Questions