Solving algebraic problems with high accuracy
Proc. of the symposium on A new approach to scientific computation
Experience with a matrix norm estimator
SIAM Journal on Scientific and Statistical Computing
Average-case stability of Gaussian elimination
SIAM Journal on Matrix Analysis and Applications
A class of arbitrarily ill conditioned floating-point matrices
SIAM Journal on Matrix Analysis and Applications
ACM Transactions on Mathematical Software (TOMS)
ScaLAPACK user's guide
Iterative Refinement in Floating Point
Journal of the ACM (JACM)
LAPACK Users' guide (third ed.)
LAPACK Users' guide (third ed.)
Accuracy and Stability of Numerical Algorithms
Accuracy and Stability of Numerical Algorithms
Design, implementation and testing of extended and mixed precision BLAS
ACM Transactions on Mathematical Software (TOMS)
SuperLU_DIST: A scalable distributed-memory sparse direct solver for unsymmetric linear systems
ACM Transactions on Mathematical Software (TOMS)
Rounding Errors in Algebraic Processes
Rounding Errors in Algebraic Processes
International Journal of Parallel, Emergent and Distributed Systems
Using GPUs to improve multigrid solver performance on a cluster
International Journal of Computational Science and Engineering
Extra-Precise Iterative Refinement for Overdetermined Least Squares Problems
ACM Transactions on Mathematical Software (TOMS)
A fast and robust mixed-precision solver for the solution of sparse symmetric linear systems
ACM Transactions on Mathematical Software (TOMS)
Prospectus for the next LAPACK and ScaLAPACK libraries
PARA'06 Proceedings of the 8th international conference on Applied parallel computing: state of the art in scientific computing
High performance linear algebra using interval arithmetic
Proceedings of the 4th International Workshop on Parallel and Symbolic Computation
The impact of data distribution in accuracy and performance of parallel linear algebra subroutines
VECPAR'10 Proceedings of the 9th international conference on High performance computing for computational science
Applied Numerical Mathematics
Refining and verifying the solution of a linear system
Proceedings of the 2011 International Workshop on Symbolic-Numeric Computation
Accurate solution of dense linear systems, part I: Algorithms in rounding to nearest
Journal of Computational and Applied Mathematics
Iterative refinement techniques for solving block linear systems of equations
Applied Numerical Mathematics
Reducing the influence of tiny normwise relative errors on performance profiles
ACM Transactions on Mathematical Software (TOMS)
Hi-index | 0.00 |
We present the design and testing of an algorithm for iterative refinement of the solution of linear equations where the residual is computed with extra precision. This algorithm was originally proposed in 1948 and analyzed in the 1960s as a means to compute very accurate solutions to all but the most ill-conditioned linear systems. However, two obstacles have until now prevented its adoption in standard subroutine libraries like LAPACK: (1) There was no standard way to access the higher precision arithmetic needed to compute residuals, and (2) it was unclear how to compute a reliable error bound for the computed solution. The completion of the new BLAS Technical Forum Standard has essentially removed the first obstacle. To overcome the second obstacle, we show how the application of iterative refinement can be used to compute an error bound in any norm at small cost and use this to compute both an error bound in the usual infinity norm, and a componentwise relative error bound.We report extensive test results on over 6.2 million matrices of dimensions 5, 10, 100, and 1000. As long as a normwise (componentwise) condition number computed by the algorithm is less than 1/max{10,&nsqrt;}ϵw, the computed normwise (componentwise) error bound is at most 2 max{10, &nsqrt;} · ϵw, and indeed bounds the true error. Here, n is the matrix dimension and ϵw = 2−24 is the working precision. Residuals were computed in double precision (53 bits of precision). In other words, the algorithm always computed a tiny error at negligible extra cost for most linear systems. For worse conditioned problems (which we can detect using condition estimation), we obtained small correct error bounds in over 90% of cases.