Go to the documentation of this file.00001 #ifndef _COVARIANCEFUNCTION_HPP_
00002 #define _COVARIANCEFUNCTION_HPP_
00003
00004 #include "types.hpp"
00005 #include <assert.h>
00006 #include <vector>
00007
00008 using namespace std;
00009
00010
00011 template <class TInput>
00012 class CovFunc
00013 {
00014 public:
00015 vector<double> hyperParam;
00016 virtual double getCov( const TInput &p1, const TInput &p2 ) = 0;
00017 virtual ~CovFunc() {};
00018
00019 virtual double getDerivative(const TInput &p1, const TInput &p2, int parameter) = 0;
00020 virtual void setHyperparameter(vector<double>& newHyperParam) { hyperParam = newHyperParam; }
00021
00022 virtual vector<double>& getHyperparameter() { return(hyperParam); }
00023 virtual int getNumParameter() = 0;
00024
00025 };
00026
00027
00028 #endif //_COVARIANCEFUNCTION_HPP_