of using reverse communication is that all the details about the matrix, such as its data structure and the particulars of the implementation of the matrix-vector products, are external to the solvers and left entirely up to the user. This is more flexible than hard-coding routine names and calling sequences into the solvers and expecting the user to fit their matrices in the parameter sequences provided.
The solvers in QMRPACK are set up to solve an already preconditioned system. The most efficient preconditioners are usually specific to the type of problem to be solved. QMRPACK includes codes for two standard preconditioners: SSOR preconditioning [Axelsson 1985] and a version of an incomplete LU factorization technique proposed by Saad . The linear system solvers in QMRPACK are set up such that it is easy for the user to incorporate his own favorite preconditioner.
The convergence criterion used in QMRPACK is the relative residual norm. This choice is hard-coded in the algorithms, and there is no facility for the user to change it.
All the vector operations are implemented via calls to BLAS routines, which means that the package will benefit from optimized versions of these routines where available.
In KFA QMRPACK is implemented on the IBM SP2, RS6000 and SunSolaris workstations.
The complete tar file from netlib/linalg/qmr is available in
Naming Scheme for Routines
All the solver routines have names of the form PMALG, where:
P denotes the precision and data type:
C single precision complex
D double precision real
S single precision real
Z double precision complex
M denotes the matrix type:
ALG denotes the algorithm:
CPL QMR based on coupled two-term look-ahead Lanczos
CPX QMR based on coupled two-term no-look-ahead Lanczos
LAL eigenvalue solver based on three-term look-ahead Lanczos
QMR QMR based on three-term look-ahead Lanczos
QMX QMR based on three-term no-look-ahead Lanczos
For example, ZUCPL denotes the double precision complex codes for the QMR method based on coupled two-term Lanczos with look-ahead for unsymmetric matrices.