/** * @file GenericKernelFunction.h * @author Alexander Freytag * @brief Abstract class for all kernels (Interface - abstract) * @date 12/08/2011 */ #ifndef _NICE_GENERICKERNELFUNCTION #define _NICE_GENERICKERNELFUNCTION #include #include namespace NICE { /** * @class GenericKernelFunction * @brief Abstract class for all kernels * @author Alexander Freytag */ template class GenericKernelFunction { protected: public: /** simple constructor */ GenericKernelFunction(){}; /** simple destructor */ ~GenericKernelFunction(){}; virtual double measureDistance ( const std::vector & a, const std::vector & b )=0; virtual NICE::Matrix computeKernelMatrix ( const std::vector > & X )=0; virtual NICE::Matrix computeKernelMatrix ( const std::vector > & X , const double & noise)=0; virtual std::vector computeKernelVector ( const std::vector > & X , const NICE::Vector & xstar)=0; virtual void sayYourName()=0; }; } #endif