/** * @file Kernel.h * @brief Interface for Mercer Kernels * @author Erik Rodner * @date 10/24/2007 */ #ifndef KERNELINCLUDE #define KERNELINCLUDE #include "core/vector/VectorT.h" #include "core/vector/MatrixT.h" #include "core/vector/VVector.h" /** Interface for Mercer Kernels */ namespace OBJREC { class Kernel { protected: bool symmetric; public: /** simple constructor */ Kernel( bool symmetric ); /** simple destructor */ virtual ~Kernel(); virtual double K (const NICE::Vector & x, const NICE::Vector & y) const = 0; void calcGramMatrix ( const NICE::VVector & vecSet, NICE::Matrix & G ) const; void calcKernelVector ( const NICE::VVector & vecSet, const NICE::Vector & y, NICE::Vector & kstar ) const; }; } // namespace #endif