6 |
|
class ConjugateMinimizerBase : public MinimizeBase{ |
7 |
|
public: |
8 |
|
bool isSolvable(); |
9 |
+ |
virtual void Init() = 0; |
10 |
+ |
virtual void Minimize() = 0; |
11 |
+ |
virtual int step() = 0; |
12 |
+ |
virtual int testConvergence() = 0; |
13 |
+ |
virtual void reset(); |
14 |
|
void calcDirection(vector<double>& direction) = 0; |
15 |
|
|
16 |
|
protected: |
17 |
< |
NLOPFirstDerive * model; |
18 |
< |
|
17 |
> |
NLModel0 * model; |
18 |
> |
vector<double> preGrad; |
19 |
|
}; |
20 |
|
|
21 |
< |
class FRConjugateMinimizer : public ConjugateMinimizerBase{ |
21 |
> |
class FRConjugate : public ConjugateMinimizerBase{ |
22 |
|
public: |
23 |
|
void calcDirection(vector<double>& direction); |
24 |
|
|
25 |
|
}; |
26 |
|
|
27 |
< |
class PRConjugateMinimizer : public ConjugateMinimizerBase{ |
27 |
> |
class PRConjugate : public ConjugateMinimizerBase{ |
28 |
|
public: |
29 |
< |
void calcDirection(vector<double>& direction) = 0; |
29 |
> |
void calcDirection(vector<double>& direction); |
30 |
|
}; |
31 |
|
|
32 |
|
#endif |