Go to the documentation of this file.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