Namespace:
Imsl.Math
Assembly:
ImslCS (in ImslCS.dll) Version: 6.5.0.0
Syntax
C# |
---|
[SerializableAttribute] public class GenMinRes |
Visual Basic (Declaration) |
---|
<SerializableAttribute> _ Public Class GenMinRes |
Visual C++ |
---|
[SerializableAttribute] public ref class GenMinRes |
Remarks
GenMinRes implements restarted GMRES to generate an approximate
solution to . It is based on GMRES by Homer Walker (1988).
The GMRES method begins with an approximate solution and
an initial residual
. At iteration m, a correction
is determined in the Krylov subspace




There are four distinct GMRES implementations, selectable through property Method. The first Gram-Schmidt implementation is essentially the original algorithm by Saad and Schultz (1986). The second Gram-Schmidt implementation, developed by Homer Walker and Lou Zhou, is simpler than the first implementation. The least squares problem is constructed in upper-triangular form and the residual vector updating at the end of a GMRES cycle is cheaper. The first Householder implementation is algorithm 2.2 of Walker (1988), but with more efficient correction accumulation at the end of each GMRES cycle. The second Householder implementation is algorithm 3.1 of Walker (1988). The products of Householder transformations are expanded as sums, allowing most work to be formulated as large scale matrix-vector operations.
The Gram-Schmidt implementations are less expensive than the Householder, the latter requiring about twice as many computations beyond the coefficient matrix/vector products. However, the Householder implementations may be more reliable near the limits of residual reduction. See Walker (1988) for details. Issues such as the cost of coefficient matrix/vector products, availability of effective preconditioners, and features of particular computing environments may serve to mitigate the extra expense of the Householder implementations.