/** * @file OptimKernelParameterGradInterface.h * @author Erik Rodner * @date 01/28/2010 */ #ifndef _NICE_OBJREC_OPTIMKERNELPARAMETERGRADINTERFACEINCLUDE #define _NICE_OBJREC_OPTIMKERNELPARAMETERGRADINTERFACEINCLUDE #include "ParameterizedKernel.h" namespace OBJREC { /** @class OptimKernelParameterGradInterface * optimized kernel parameter interface * * @author Erik Rodner */ class OptimKernelParameterGradInterface : public ParameterizedKernel { protected: public: /** simple destructor */ virtual ~OptimKernelParameterGradInterface(); /* Due to memory limitations we are not able to * compute the gradient of the kernel matrix directly, therefore * we calculate the parameter gradient directly for GP regression */ virtual void calculateGPRegGradientOptimized ( const NICE::Vector & parameters, const KernelData *kernelData, const NICE::VVector & y, NICE::Vector & newGradient ) const = 0; }; } #endif