Let's say I have a matrix $\mathbf{A}\in\mathbb{R}^{n\times n}$, and its associated inverse, $\mathbf{A}^{-1}$. The elements of $\mathbf{A}$ are given in IEEE single precision, i.e. 23-bit mantissa, and I use the lapack routines $\texttt{sgetrf}$ and $\texttt{sgetri}$ to compute $\mathbf{A}^{-1}$ through a single-precision LU-decomposition.

How am I to ascertain the error associated with the matrix product $\mathbf{A}\mathbf{A}^{-1}$. More concretely, I'd quite like to be able to approximate, a priori, what the maximum error, $\varepsilon = \max_i \Big|\big( \mathbf{AA}^{-1}\big)_{ii} - 1.0\Big|$, will be. Furthermore, is there a way to approximate the errors for other matrix inversion routines, such as Gauss-Jordan or a QR decomposition? I'm guessing I should use their computational scaling, e.g. the LU-decomposition scales as $\frac{4}{3}n^3$, but I'm unsure how to proceed beyond that.

  • $\begingroup$ Use sgesvx instead with condition number estimates and refined solution $\endgroup$
    – percusse
    Sep 10, 2017 at 23:49
  • $\begingroup$ Wasn't familiar with that routine, many thanks for the input! Question still stands on how to estimate the bounds on the error though before the calculation. I should have mentioned that I'm also assuming the matrix is well-conditioned, so $1/\kappa(\mathbf{A})$ is smaller than the precision of the numerical format. $\endgroup$ Sep 11, 2017 at 0:01
  • $\begingroup$ Errors in numerical matrix factorizations have nothing to do with the amount of work being performed; the errors don't come at a constant rate per operation, they are much more mathematical in nature. $\endgroup$
    – Kirill
    Sep 11, 2017 at 17:19


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.