Go to the documentation of this file.
11 #ifndef OOPS_ASSIMILATION_COSTJBSTATE_H_
12 #define OOPS_ASSIMILATION_COSTJBSTATE_H_
15 #include <boost/noncopyable.hpp>
28 template<
typename MODEL>
class State;
39 template<
typename MODEL>
class CostJbState :
private boost::noncopyable {
87 #endif // OOPS_ASSIMILATION_COSTJBSTATE_H_
virtual JqTermTLAD< MODEL > * initializeJqTL() const =0
Finalize after the TL run.
The namespace for the main oops code.
virtual JqTermTLAD< MODEL > * initializeJqAD(const Increment_ &) const =0
Initialize before the AD run.
CostJbState()
Constructor.
virtual void computeIncrement(const State_ &, const State_ &, const State_ &, Increment_ &) const =0
virtual ~CostJbState()
Destructor.
Jb Cost Function Base Class.
virtual Increment_ * newStateIncrement() const =0
Create new increment (set to 0).
virtual void addGradient(const Increment_ &, Increment_ &, Increment_ &) const =0
Add Jb gradient.
virtual void linearize(const State_ &, const Geometry_ &)=0
Linearize before the linear computations.
Increment< MODEL > Increment_
virtual JqTermTLAD< MODEL > * initializeJqTLAD() const =0
Initialize Jq computations if needed.
virtual void Bminv(const Increment_ &, Increment_ &) const =0
virtual void randomize(Increment_ &) const =0
Randomize.
Geometry class used in oops; subclass of interface class above.
Encapsulates the model state.
Geometry< MODEL > Geometry_
Increment Class: Difference between two states.
virtual void Bmult(const Increment_ &, Increment_ &) const =0
Multiply by and .