00001 #ifndef __F_SteepestDescentLS_H__ 00002 #define __F_SteepestDescentLS_H__ 00003 00004 00033 #include <stdio.h> 00034 #include "F_IterativeLS.hpp" 00035 00036 00037 class F_SteepestDescentLS : public F_IterativeLS 00038 { 00039 private: 00040 00041 double alpha; 00042 00043 FloatVector* r; 00044 FloatVector* u; 00045 00046 protected: 00047 00048 virtual FloatVector* singleSolve(AFloatMatrix* A, FloatVector* b, FloatVector* x=0); 00049 00050 public: 00051 F_SteepestDescentLS(int maxIterations, double epsilon=1.0e-4):F_IterativeLS(maxIterations, epsilon) 00052 { r=u= 0;} 00053 virtual ~F_SteepestDescentLS(){} 00054 00055 virtual FloatVector* solve(AFloatMatrix* m, FloatVector* b, FloatVector* dest); 00056 }; 00057 00058 #endif 00059