BISICLES AMR ice sheet model
0.9
|
Specify operations required to carry out gradient based optimization. More...
#include <CGOptimize.H>
Public Member Functions | |
virtual | ~ObjectiveWithGradient () |
virtual destructor More... | |
virtual Real | dotProduct (X &a, const X &b)=0 |
virtual void | computeObjectiveAndGradient (Real &fm, Real &fp, X &g, const X &x, bool inner)=0 |
virtual void | assign (X &y, const X &x)=0 |
Copy x to y. More... | |
virtual void | incr (X &y, const X &x, Real s)=0 |
Set y = y + s * x. More... | |
virtual void | create (X &a, const X &b)=0 |
resize a / allocate storage to conform with b More... | |
virtual void | free (X &a)=0 |
free storage More... | |
virtual void | scale (X &a, const Real s)=0 |
set a = a * s More... | |
virtual void | preCond (X &a, const X &b)=0 |
apply precoditioner K, so a = Kb More... | |
virtual void | restart ()=0 |
carry out whatver operations are required prior to a restart More... | |
virtual int | nDoF (const X &x)=0 |
number of degrees-of-freedom (maximum number of iterations before restart) More... | |
Specify operations required to carry out gradient based optimization.
|
inlinevirtual |
virtual destructor
|
pure virtual |
Copy x to y.
Referenced by CGOptimize(), secantLineSearch(), and ObjectiveWithGradient< Vector< LevelData< FArrayBox > *> >::~ObjectiveWithGradient().
|
pure virtual |
Compute a main objective (fm), a penalty function (fp) and the gradient (g) of f + p with respect to x
fm | (output) main objective |
fp | (output) penalty function |
g | (output) gradient |
x | (input) state vector |
inner | (input) is this an 'inner' iteration? |
Referenced by CGOptimize(), secantLineSearch(), and ObjectiveWithGradient< Vector< LevelData< FArrayBox > *> >::~ObjectiveWithGradient().
|
pure virtual |
resize a / allocate storage to conform with b
Referenced by CGOptimize(), and ObjectiveWithGradient< Vector< LevelData< FArrayBox > *> >::~ObjectiveWithGradient().
|
pure virtual |
Compute dot product a.b
Referenced by CGOptimize(), secantLineSearch(), and ObjectiveWithGradient< Vector< LevelData< FArrayBox > *> >::~ObjectiveWithGradient().
|
pure virtual |
free storage
Implemented in InverseVerticallyIntegratedVelocitySolver.
Referenced by CGOptimize(), and ObjectiveWithGradient< Vector< LevelData< FArrayBox > *> >::~ObjectiveWithGradient().
|
pure virtual |
Set y = y + s * x.
Referenced by CGOptimize(), secantLineSearch(), and ObjectiveWithGradient< Vector< LevelData< FArrayBox > *> >::~ObjectiveWithGradient().
|
pure virtual |
number of degrees-of-freedom (maximum number of iterations before restart)
Referenced by CGOptimize(), and ObjectiveWithGradient< Vector< LevelData< FArrayBox > *> >::~ObjectiveWithGradient().
|
pure virtual |
apply precoditioner K, so a = Kb
Referenced by CGOptimize(), and ObjectiveWithGradient< Vector< LevelData< FArrayBox > *> >::~ObjectiveWithGradient().
|
pure virtual |
carry out whatver operations are required prior to a restart
Implemented in InverseVerticallyIntegratedVelocitySolver.
Referenced by CGOptimize(), and ObjectiveWithGradient< Vector< LevelData< FArrayBox > *> >::~ObjectiveWithGradient().
|
pure virtual |
set a = a * s
Referenced by CGOptimize(), and ObjectiveWithGradient< Vector< LevelData< FArrayBox > *> >::~ObjectiveWithGradient().