#include <F_GmresLS.hpp>
Inheritance diagram for F_GmresLS:


Purpose: GMRES(m) krylov solver with restart each m iterations, for no symmetric linear system
Used to solve a set of linearized differencial equations,....
GMRES is a fine Krylov solver. It approximates a solution via generation of the suitable
partial Krylov orthonormal base, especially in the restart case.
We hope that a small number of Krylov sub-spaces are sufficient to lead to a good solution.
The ideal GMRES would use a complete base, but this need very large memory, if
the number of required iterations is high.
Papers: "Set 11: Krylov Method - GMRES", Kyle A.Gallivan, Lecture Spring 2004, University of Florida.
"Krylov Subspace Iteration.", Henk A. van der Vorst, report 2000, Utrecht University.
"Compact Linear Operators and Krylov Subspace Methods",
Jan M Rasmussen, Master of Science Thesis 2001, Technical University of Danemark.
Algorithm based on:
1)a lecture of Gundolf Haase, Austria 20/03/2000.
Augmented with restart procedure every m iterations.
2)"Templates for the Solution of Linear Systems: Building Blocks for Iterative Methods",
R. Barrett, M. Berry, Tony F. Chan, J. Demmel, J. Donato, J. Dongarra, V. Eijkout,
R. Pozo, C. Romine, Henk Van der Vorst, All & Utrecht University, All & Netherland, 1994.
www.netlib.org
@ Copyrights: Bernard De Cuyper 2004, Eggs & Pictures. MIT/Open BSD copyright model.
Public Methods | |
| F_GmresLS (int maxIterations, int m=10, double epsilon=1.0e-4) | |
| virtual | ~F_GmresLS () |
| virtual FloatVector * | solve (AFloatMatrix *m, FloatVector *b, FloatVector *dest) |
Protected Methods | |
| virtual FloatVector * | singleSolve (AFloatMatrix *A, FloatVector *b, FloatVector *x=0) |
Private Attributes | |
| int | m |
| int | i |
| double | normb |
| double | beta |
| double | residu |
| FloatVector * | r |
| FloatVector * | ap |
| FloatVector * | w |
| FloatVector * | s |
| FloatVector * | cs |
| FloatVector * | sn |
| FloatVector ** | v |
| AFSymMatrix * | h |
![]() |
