ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/trunk/OOPSE/libmdtools/ConjugateMinimizer.hpp
(Generate patch)

Comparing trunk/OOPSE/libmdtools/ConjugateMinimizer.hpp (file contents):
Revision 1002 by tim, Mon Feb 2 20:29:41 2004 UTC vs.
Revision 1031 by tim, Fri Feb 6 18:58:06 2004 UTC

# Line 1 | Line 1
1   #ifndef _CONJUGATEMINIMIZER_H_
2   #define _CONJUGATEMINIMIZER_H_
3  
4 < #include "MinimizerBase.hpp"
4 > #include "Minimizer.hpp"
5  
6   //abstract class of conjugate gradient minimizer
7 < class ConjugateMinimizerBase : public Minimize{
7 > class ConjugateMinimizerBase : public MinimizerUsingLineSearch{
8  
9    public:
10  
11 <    ConjugateMinimizerBase(NLModel1* nlmodel);
12 <    ~ConjugateMinimizerBase();
11 >    ConjugateMinimizerBase(NLModel1* nlmodel, MinimizerParameterSet* param);
12 >    ~ConjugateMinimizerBase() {}
13      
14 <    bool isSolvable();
15 <    virtual void Init();
16 <    virtual void Minimize();
17 <    virtual int isConvergenceAchieved();    
14 >    bool isSolvable();
15 >    virtual void minimize();
16 >    virtual int checkConvergence();    
17      virtual void reset();
18      virtual void printMinizerInfo();
19      
20    protected:
21  
22 <    double calcGamma(vector<double>& newGrad, vector<double>& oldGrad) = 0;
23 <    NLModel0 * model;
22 >    virtual double calcGamma(vector<double>& newGrad, vector<double>& oldGrad) = 0;
23 >    NLModel1 * model;
24      
25      vector<double> prevGrad;    
26      vector<double> gradient;
# Line 32 | Line 31 | class FRCGMinimizer : public ConjugateMinimizerBase{
31   //Fletcher-Reeves Conjugate Gradient Method
32   class FRCGMinimizer : public ConjugateMinimizerBase{
33  
34 +  public:
35 +    FRCGMinimizer(NLModel1* nlmodel, MinimizerParameterSet* param) :ConjugateMinimizerBase(nlmodel, param){}
36 +
37    protected:    
38  
39      double calcGamma(vector<double>& newGrad, vector<double>& oldGrad);
# Line 41 | Line 43 | class PRCGMinimizer : public ConjugateMinimizerBase{
43   //Polak-Reeves Conjugate Gradient Method
44   class PRCGMinimizer : public ConjugateMinimizerBase{
45  
46 +  public:
47 +    PRCGMinimizer(NLModel1* nlmodel, MinimizerParameterSet* param) :ConjugateMinimizerBase(nlmodel, param){}
48 +
49    protected:
50  
51      double calcGamma(vector<double>& newGrad, vector<double>& oldGrad);

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines