Kernel.h 782 B

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. /**
  2. * @file Kernel.h
  3. * @brief Interface for Mercer Kernels
  4. * @author Erik Rodner
  5. * @date 10/24/2007
  6. */
  7. #ifndef KERNELINCLUDE
  8. #define KERNELINCLUDE
  9. #include "core/vector/VectorT.h"
  10. #include "core/vector/MatrixT.h"
  11. #include "core/vector/VVector.h"
  12. /** Interface for Mercer Kernels */
  13. namespace OBJREC {
  14. class Kernel
  15. {
  16. protected:
  17. bool symmetric;
  18. public:
  19. /** simple constructor */
  20. Kernel( bool symmetric );
  21. /** simple destructor */
  22. virtual ~Kernel();
  23. virtual double K (const NICE::Vector & x, const NICE::Vector & y) const = 0;
  24. void calcGramMatrix ( const NICE::VVector & vecSet, NICE::Matrix & G ) const;
  25. void calcKernelVector ( const NICE::VVector & vecSet, const NICE::Vector & y, NICE::Vector & kstar ) const;
  26. };
  27. } // namespace
  28. #endif