123456789101112131415161718192021222324252627282930313233343536373839404142434445 |
- /**
- * @file Kernel.h
- * @brief Interface for Mercer Kernels
- * @author Erik Rodner
- * @date 10/24/2007
- */
- #ifndef KERNELINCLUDE
- #define KERNELINCLUDE
- #include "core/vector/VVector.h"
- #include "KernelData.h"
-
- namespace OBJREC {
- /** Interface for Mercer Kernels */
- 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;
- virtual void calcGramMatrix ( const NICE::VVector & vecSet, NICE::Matrix & G ) const;
- virtual void calcKernelData ( const NICE::VVector & vecSet, KernelData *kernelData ) const;
- void calcKernelVector ( const NICE::VVector & vecSet, const NICE::Vector & y, NICE::Vector & kstar ) const;
- virtual Kernel *clone(void) const;
-
- };
- } // namespace
- #endif
|