ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/trunk/oopse-1.0/libmdtools/MinimizerParameterSet.hpp
Revision: 1447
Committed: Fri Jul 30 21:01:35 2004 UTC (19 years, 11 months ago) by gezelter
File size: 2294 byte(s)
Log Message:
Initial import of OOPSE sources into cvs tree

File Contents

# Content
1 #ifndef _MININIZERPARAMETERSET_H_
2 #define _MININIZERPARAMETERSET_H_
3
4 const double DEFAULTTOLERANCE = 1.0e-8;
5
6 // base class of minimizer's parameter set
7 class MinimizerParameterSet{
8 public:
9
10 MinimizerParameterSet() {setDefaultParameter();}
11 MinimizerParameterSet(MinimizerParameterSet& param) {*this = param;}
12
13 void operator= (MinimizerParameterSet& param) {
14
15 maxIteration = param.maxIteration;
16 stepSize = param.stepSize;
17 stepTol = param.stepTol;
18 fTol = param.fTol;
19 gTol = param.gTol;
20
21 writeFrq = param.writeFrq;
22
23 lsMaxIteration = param.lsMaxIteration;
24 lsTol = param.lsTol;
25
26 }
27
28 virtual void setDefaultParameter(){
29 maxIteration = 200;
30 stepSize = 0.01;
31 stepTol = DEFAULTTOLERANCE;
32 fTol = DEFAULTTOLERANCE;
33 gTol = DEFAULTTOLERANCE;
34
35 writeFrq = maxIteration;
36
37 lsMaxIteration = 50;
38 lsTol = DEFAULTTOLERANCE;
39 }
40
41 void setStepTol(double tol) { stepTol = tol;}
42 double getStepTol() { return stepTol;}
43
44 void setStepSize(double size) { stepSize = size;}
45 double getStepSize() { return stepSize;}
46
47 void setMaxIteration(int iter) { maxIteration = iter;}
48 int getMaxIteration() {return maxIteration;}
49
50 void setFTol(double tol) {fTol = tol;}
51 double getFTol() {return fTol;}
52
53 void setGTol(double tol) {gTol = tol;}
54 double getGTol() {return gTol;}
55
56 void setLineSearchTol(double tol) {lsTol = tol;}
57 double getLineSearchTol() {return lsTol;}
58
59 void setLineSearchMaxIteration(int iter) {lsMaxIteration = iter;}
60 int getLineSearchMaxIteration() {return lsMaxIteration;}
61
62 void setWriteFrq(int frq) {writeFrq = frq;}
63 int getWriteFrq() {return writeFrq;}
64
65 protected:
66
67 int maxIteration;
68 double stepTol;
69 double fTol;
70 double gTol;
71 double stepSize;
72
73 int lsMaxIteration;
74 double lsTol;
75
76 int writeFrq;
77 //int resetFrq;
78 /*
79 // Absolute tolerance
80 vector<double> absTol;
81
82 // Relative tolerance
83 vector<double> relTol;
84
85 // Total specified tolerance at convergence
86 vector<double> totTol;
87
88 // Tolerance achieved at convergence.
89 vector<double> achTol;
90 */
91 };
92
93
94 #endif