The package contains two classes of accelerators. The first class, comprising the accelerators CG, SI, SRCG, SRSI and SOR, is best suited for the symmetrizable case, that is, when the matrices A and are symmetric positive definite (SPD). These symmetric methods allow only left preconditioning, and they are designed to take full advantage of the symmetry of A and Q.
The second class comprises those accelerators designed to work with more general problems than the symmetrizable case. These accelerators in many cases allow for right and two-sided as well as left preconditioning. They are best understood and will be discussed here in terms of the system involving the abstract matrix .
Before giving practical usage considerations for the accelerators, we will give a brief description of the solution technique of each method. Each acceleration procedure is basically defined by two criteria:
For certain conditions on A, QL and QR, the orthogonality
condition is equivalent to a minimization property over the space.
That is, u(n) is chosen to minimize the quantity
The following table gives a summary of the two criteria for each accelerator. For simplicity, the effects of truncation and restarting are neglected.
Accelerator
Space
Orthogonality Condition
Z
CG, SI
Q
ME
(
symm.)
QRTQR A-1Q
CGNR,LSQR
ATQL-TQR
ORES,IOM
QRTQR
ODIR,OMIN,GMRES
ATQL-TQR
USYMLQ
QRTQR
USYMQR
ATQL-TQR
LANDIR/MIN/RES
QRTQR
Here the n-dimensional quasi-Krylov space is defined by
A few comments are in order regarding the nonsymmetric accelerators. ORTHODIR and ORTHOMIN always have a minimization property, for any A, QL and QR. ORTHORES, however, may not. In the case of symmetric, ORTHODIR and ORTHOMIN reduce to the conjugate residual method for , and ORTHORES reduces to the 3-term conjugate gradient method applied to .
The Lanczos methods all utilize the same ``auxiliary vector'' . Thus when is SPD they all give the same iterates as the conjugate gradient method applied to .
Now we present guidelines for determining which accelerator to use in practical situations. If both A and Q are SPD, the symmetric accelerators listed above may be used. Otherwise we proceed as follows.
We consider four classes of matrix problem arising from the preconditioned matrix :
Unfortunately, when is not symmetric (cases 3. and 4. above) the choice of best accelerator is not at all clear. However, we will give some general guidelines below.
The SPD Case:
This case often arises from A and Q being SPD, in which case the symmetric accelerators such as CG may be used. Otherwise, one may use IOM (minimizing the -norm of ) or ORTHOMIN or GMRES (minimizing the 2-norm of ). These should be used in their truncated forms, with variable NS2 [= IPARM(10)] set to ITMAX [= IPARM(2)], and NS1 [= IPARM(9)] set to 1 (ORTHOMIN) or 2 (IOM, GMRES).
The Symmetric Indefinite Case:
In the symmetric indefinite case, the methods SYMMLQ and MINRES may be used. SYMMLQ may be run by using truncated IOM with NS1=2and NS2=ITMAX. MINRES may be run by using truncated GMRES with NS1 and NS2 set the same way. Of the two, the MINRES algorithm is to be preferred, as it minimizes the 2-norm of the residual at each iteration.
The Definite Case:
If it is known that is definite, ORTHOMIN and GMRES are guaranteed to converge. These methods minimize the 2-norm of the residual . The implementation of ORTHOMIN in the package runs the algorithm ORTHOMIN(NS1), the truncated method, and restarts it every NS2 iterations. The best settings for NS1 and NS2 are as follows:
The General Case:
For the general nonsymmetric case, the ORTHOMIN and GMRES accelerators may work but have the potential of breaking down. The package contains other methods which are sometimes better. These include methods based on the normal equations, Lanczos methods, and the Biconjugate Gradient Squared method. Roughly speaking, if the methods were listed in terms of increasing reliability (and decreasing overall efficiency), they would be listed in the order: Lanczos-type methods (including Biconjugate Gradient Squared), ORTHOMIN-type methods, and normal equations methods.
method
may converge faster than LANMIN. The BCGS method requires two
matrix multiplies per step and does not require the transpose. In
exact arithmetic, it breaks down for roughly the same matrix problems
as LANMIN does. Its faster convergence arises from the fact that it
generates the square of the error-reducing polynomial utilized by
LANMIN, thus in some sense converging twice as fast as LANMIN.
Next: Parameter Arrays IPARM and
Up: NSPCG User's Guide
Previous: Brief Background on Preconditioners