ACM Transactions on Mathematical Software (TOMS)
A set of level 3 basic linear algebra subprograms
ACM Transactions on Mathematical Software (TOMS)
The C++ programming language (2nd ed.)
The C++ programming language (2nd ed.)
A flexible inner-outer preconditioned GMRES algorithm
SIAM Journal on Scientific Computing
Iterative solution methods
Performance issues for iterative solvers in device simulation
SIAM Journal on Scientific Computing - Special issue on iterative methods in numerical linear algebra; selected papers from the Colorado conference
ACM Transactions on Mathematical Software (TOMS)
Object-oriented design of preconditioned iterative methods in diffpack
ACM Transactions on Mathematical Software (TOMS)
Approximate Inverse Techniques for Block-Partitioned Matrices
SIAM Journal on Scientific Computing
Approximate Inverse Preconditioners via Sparse-Sparse Iterations
SIAM Journal on Scientific Computing
Iterative Methods for Sparse Linear Systems
Iterative Methods for Sparse Linear Systems
OoLALA: an object oriented analysis and design of numerical linear algebra
OOPSLA '00 Proceedings of the 15th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
ACM Transactions on Mathematical Software (TOMS)
Preconditioning techniques for large linear systems: a survey
Journal of Computational Physics
Object-oriented software for quadratic programming
ACM Transactions on Mathematical Software (TOMS)
A finite element method for unstructured grid smoothing
Journal of Computational Physics
A finite element method for three-dimensional unstructured grid smoothing
Journal of Computational Physics
An object-oriented framework for the development of scalable parallel multilevel preconditioners
ACM Transactions on Mathematical Software (TOMS)
Efficient nonlinear solvers for Laplace-Beltrami smoothing of three-dimensional unstructured grids
Computers & Mathematics with Applications
Advances in Engineering Software
A Supernodal Approach to Incomplete LU Factorization with Partial Pivoting
ACM Transactions on Mathematical Software (TOMS)
Adaptive Techniques for Improving the Performance of Incomplete Factorization Preconditioning
SIAM Journal on Scientific Computing
Hi-index | 0.01 |
General software for preconditioning the iterative solution of linear systems is greatly lagging behind the literature. This is partly because specific problems and specific matrix and preconditioner data structures in order to be solved efficiently, i.e., multiple implementations of a preconditioner with specialized data structures are required. This article presents a framework to support preconditioning with various, possibly user-defined, data structures for matrices that are partitioned into blocks. The main idea is to define data structures for the blocks, and an upper layer of software which uses these blocks transparently of their data structure. This transparency can be accomplished by using an object-oriented language. Thus, various preconditioners, such as block relaxations and block-incomplete factorizations, only need to be defined once and will work with any block type. In addition, it is possible to transparently interchange various approximate or exact techniques for inverting pivot blocks, or solving systems whose coefficient matrices are diagonal blocks. This leads to a rich variety of preconditioners that can be selected. Operations with the blocks are performed with optimized libraries or fundamental data types. Comparisons with an optimized Fortran 77 code on both workstations and Cray supercomputers show that this framework can approach the efficiency of Fortran 77, as long as suitable block sized and block types are chosen.