GMHIKernelPartial.h 1.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. /**
  2. * @file GMHIKernelPartial.h
  3. * @author Erik Rodner
  4. * @brief Fast multiplication with subset histogram intersection kernel matrices (Interface)
  5. * @date 15/09/2015
  6. */
  7. #ifndef _NICE_GMHIKERNELPARTIALINCLUDE
  8. #define _NICE_GMHIKERNELPARTIALINCLUDE
  9. #include <vector>
  10. #include <core/algebra/PartialGenericMatrix.h>
  11. #include "GMHIKernel.h"
  12. namespace NICE {
  13. /**
  14. * @class GMHIKernelPartial
  15. * @brief Fast multiplication with histogram intersection kernel sub-matrices
  16. * @author Erik Rodner
  17. */
  18. class GMHIKernelPartial : public GMHIKernel, PartialGenericMatrix
  19. {
  20. protected:
  21. public:
  22. /** simple constructor */
  23. GMHIKernelPartial( FastMinKernel *_fmk, ParameterizedFunction *_pf = NULL, const Quantization *_q = NULL )
  24. : GMHIKernel ( _fmk, _pf, _q ) {};
  25. /** multiply a submatrix with a vector: A*x = y */
  26. virtual void multiply (const PartialGenericMatrix::SetType & rowSet, const PartialGenericMatrix::SetType & columnSet, NICE::Vector & y, const NICE::Vector & x) const;
  27. virtual double getDiagonalElement( uint i ) const;
  28. };
  29. }
  30. #endif