#include <F_BB_LS.hpp>
Inheritance diagram for F_BB_LS:
Purpose: Barzilai-Borwein of 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. Spectral based solver. It is competitive on against nonlinear CG, especially when non-quadratic objective functions are used. May win against NCG in nonlinear cases too. Paper: "On the Barzilai-Borwein Method", R. Fletcher, Numerical Analysis Report NA/207, 2001, Universitee of Dundee, UK "Convergence Properties of the Barzilai and Borwein Gradient Method", Marcos M. Raydan, Thesis June 1991, TR91-17, Rice University, USA. "On the Asymptotic Behaviour of some New Gradient Methods", Y.-H. Dai, R. Fletcher, Numerical Analysis Report NA/212, March 2003, University of Dundee, United Kingdom.
Public Methods | |
F_BB_LS (int maxIterations, double epsilon=1.0e-4, int type=0) | |
virtual | ~F_BB_LS () |
virtual FloatVector * | solve (AFloatMatrix *m, FloatVector *b, FloatVector *dest) |
Protected Methods | |
virtual FloatVector * | singleSolve (AFloatMatrix *A, FloatVector *b, FloatVector *x=0) |
Private Attributes | |
double | alpha |
int | variant |
FloatVector * | g |
FloatVector * | g1 |
FloatVector * | d |
FloatVector * | y |