$search
00001 #ifndef COVARIANCEFUNCTIONS_H_ 00002 #define COVARIANCEFUNCTIONS_H_ 00003 00004 #include "covarianceFunction.hpp" 00005 00006 class CovFunc1D : public CovFunc<TDoubleVector> 00007 { 00008 public: 00009 00010 CovFunc1D(); 00011 CovFunc1D(double ell_0, double sigma); 00012 00013 virtual double getCov( const TDoubleVector &x, const TDoubleVector &y ); 00014 virtual double getDerivative(const TDoubleVector &p1, const TDoubleVector &p2, int parameter); 00015 virtual int getNumParameter(); 00016 00017 void setHyperparameter(vector<double>& newHyperParam); 00018 void setHyperparameter(double ell0,double sigma); 00019 double ell_0; 00020 double sigma; 00021 }; 00022 00023 // ----------------------------------------------------------------------- 00024 class CovFunc2D : public CovFunc<TDoubleVector> 00025 { 00026 public: 00027 00028 CovFunc2D(); 00029 CovFunc2D(double ell_0, double ell_1, double sigma); 00030 00031 virtual double getCov( const TDoubleVector &x, const TDoubleVector &y ); 00032 virtual double getDerivative(const TDoubleVector &p1, const TDoubleVector &p2, int parameter); 00033 virtual int getNumParameter(); 00034 00035 void setHyperparameter(vector<double>& newHyperParam); 00036 void setHyperparameter(double ell_0, double ell_1, double sigma); 00037 00038 double ell_0; 00039 double ell_1; 00040 double sigma; 00041 }; 00042 00043 // ----------------------------------------------------------------------- 00044 class CovFuncND : public CovFunc<TDoubleVector> 00045 { 00046 public: 00047 int n; 00048 vector<double> evalParam; 00049 CovFuncND(); 00050 CovFuncND(int n,double ell,double sigma); 00051 00052 virtual double getCov( const TDoubleVector &x, const TDoubleVector &y ); 00053 virtual double getDerivative(const TDoubleVector &p1, const TDoubleVector &p2, int parameter); 00054 virtual int getNumParameter(); 00055 00056 void setHyperparameter(vector<double>& newHyperParam); 00057 }; 00058 00059 00060 #endif /*COVARIANCEFUNCTIONS_H_*/