#include <F_SSOR_BB_LS.hpp>
Inheritance diagram for F_SSOR_BB_LS:
Purpose: Barzilai-Borwein with Symmetric SOR preconditioning of a nxn Linear Solver Works here on SPD Matrices. It is much faster than standart Steepest Descent. On linear problems 3 time slower than CG, but superlinear convergent. It is competitive on against nonlinear CG, especially when non-quadratic objective functions are used. May win against NCG in nonlinear cases too. Paper: SSOR preconditioning: --------------------- "SSOR Preconditioning of Improved Actions.", N. Eicker & all, Research Center Julich, Report 1997, Germany "An approximation to the SSOR preconditioner.", W.D. Turner, J.E. Flaherty, January 1998. "Convergence Properties of Barzilai and Borwein Gradient Method.", Marcos M. Raydan, Thesis TR91-17, 1991, University of Houston, Texas.
@ Copyrights: Bernard De Cuyper 2004, Eggs & Pictures. MIT/Open BSD copyright model.
Public Methods | |
F_SSOR_BB_LS (int maxIterations, double epsilon, int type=0) | |
F_SSOR_BB_LS (int maxIterations, double anOmega, double epsilon, int type=0) | |
virtual | ~F_SSOR_BB_LS () |
virtual FloatVector * | solve (AFloatMatrix *m, FloatVector *b, FloatVector *dest) |
Protected Methods | |
virtual AFProductSeqSMatrix * | factorize (AFSymMatrix *A) |
virtual FloatVector * | singleSolve (AFloatMatrix *A, FloatVector *b, FloatVector *x=0) |
Private Attributes | |
double | alpha |
int | variant |
bool | fixedOmega |
double | omega |
AFProductSeqSMatrix * | C |
FloatVector * | g |
FloatVector * | p |
FloatVector * | h |