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
:
is SPD.
is symmetric indefinite.
is definite (i.e., the symmetric part,
,
or its negative, is SPD.
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:
is preferred here.
NS2), the GMRES accelerator should be preferred
to ORTHOMIN, as it requires slightly less storage and CPU time and is
slightly more stable numerically.
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.
(i.e., solving
)
may
be used. These methods are guaranteed to converge in exact arithmetic
for any nonsingular system whatsoever; however, in practice convergence
is usually slow, and roundoff error may preclude convergence altogether.
The package contains two implementations of conjugate gradients applied
to the normal equations, CGNR and LSQR, the latter of which is more
stable numerically. These both minimize the norm of the residual
at each step.
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