SmootherCostFunction.hpp
Go to the documentation of this file.
1 #ifndef JULIAN_SMOOTHERCOSTFUNCTION_HPP
2 #define JULIAN_SMOOTHERCOSTFUNCTION_HPP
3 
5 #include <armadillo>
6 
7 namespace julian {
8 namespace ir {
40  public:
44 
47  virtual arma::mat giveQmatrix(const InterpolatedCurve&) const = 0;
48 
51  virtual arma::mat giveCvector(const InterpolatedCurve&) const = 0;
52 
55  virtual double calculateCost(const InterpolatedCurve&) const = 0;
56 
60  virtual std::vector<double> giveSmoothedCurve(const InterpolatedCurve&) const = 0;
61 
64  virtual void updateSmoothedCurve(InterpolatedCurve&,const std::vector<double>&) const = 0;
65 
68  virtual SmootherCostFunction* clone() const = 0;
69 
72  virtual ~SmootherCostFunction(){};
73 
74  private:
75  };
76 } // namespace ir
77 } // namespace julian
78 #endif
virtual arma::mat giveCvector(const InterpolatedCurve &) const =0
returns C vector, the linear term of optimization cost function
virtual SmootherCostFunction * clone() const =0
virtual copy constructor
Definition: cadHoliday.cpp:3
virtual ~SmootherCostFunction()
destructor
Definition: SmootherCostFunction.hpp:72
virtual std::vector< double > giveSmoothedCurve(const InterpolatedCurve &) const =0
returns curve as vector of doubles
File contains definition of swap interpolated curve class.
Interface for Smoother Cost Function decorator.
Definition: SmootherCostFunction.hpp:39
The object models the interest rate curve.
Definition: interpolatedCurve.hpp:42
virtual arma::mat giveQmatrix(const InterpolatedCurve &) const =0
returns Q matrix, the quadratic term of optimization cost function
virtual double calculateCost(const InterpolatedCurve &) const =0
calculates value of cost function
virtual void updateSmoothedCurve(InterpolatedCurve &, const std::vector< double > &) const =0
updates the curve as with the vector of doubles
SmootherCostFunction()
constructor
Definition: SmootherCostFunction.hpp:43