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

Comparing trunk/OOPSE/libmdtools/Minimizer1D.hpp (file contents):
Revision 1005 by tim, Tue Feb 3 15:21:32 2004 UTC vs.
Revision 1031 by tim, Fri Feb 6 18:58:06 2004 UTC

# Line 14 | Line 14 | class Minimizer1D : public MinimizerBase{
14      virtual ~Minimizer1D() {}
15  
16      virtual void init() {}
17 <    virtual bool isSolvable();
18 <    
19 <    virtual void Minimize() = 0;
20 <    virtual void Minimize(vector<double>& direction, double left, double right){
21 <      setRange(left, right);
22 <      setDirection(direction);
23 <      minimize();
24 <    }
17 >  virtual bool isSolvable() {return true;}
18  
19 <    void setRange(double left, double right) {leftFVal = left, rightVal = right;}
19 >    virtual void minimize() = 0;
20 >    virtual void minimize(vector<double>& direction, double left, double right) = 0;
21 >
22 >    void setRange(double left, double right) {leftVar = left, rightVar= right;}
23      void setDirection(vector<double>& direction) {this->direction = direction;}
24      double getMinVar() {return minVar;}
25      double getPrevMinVar() {return prevMinVar;}
# Line 41 | Line 37 | class Minimizer1D : public MinimizerBase{
37      double leftVar;
38      double rightVar;
39      double minVar;
40 <     double prevMinVar;
40 >    double prevMinVar;
41      
42      vector<double> direction;
43  
44      int maxIteration;
45      int currentIter;
46 <    int stepTol;
46 >    double stepTol;
47   };
48  
49   class GoldenSectionMinimizer : public Minimizer1D{
# Line 55 | Line 51 | class GoldenSectionMinimizer : public Minimizer1D{
51    public:
52  
53      GoldenSectionMinimizer(NLModel* nlp);
54 <    void Minimize();
55 <    
54 >    void minimize();
55 >    virtual void minimize(vector<double>& direction, double left, double right){
56 >      setRange(left, right);
57 >      setDirection(direction);
58 >      minimize();
59 >    }    
60      virtual int checkConvergence();
61      
62    protected:
# Line 77 | Line 77 | class BrentMinimizer : public Minimizer1D{
77      BrentMinimizer(NLModel* nlp);
78  
79      void minimize();
80 <
80 >    virtual void minimize(vector<double>& direction, double left, double right);
81      virtual int checkConvergence();
82 +
83    protected:
84  
85 +    void bracket(double& cx, double& fc, double& ax, double& fa, double& bx, double& fb);
86      double fMinVar;
87      double fPrevMinVar;
88      double midVar;

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines