/** 
* @file TeachWithInverseKernelMatrix.h
* @brief Abstract interface for classifiers which implement a training
* algorithm which takes an inverse kernel matrix
* @author Erik Rodner
* @date 12/03/2009
*/
#ifndef _NICE_OBJREC_TEACHWITHINVERSEKERNELMATRIX
#define _NICE_OBJREC_TEACHWITHINVERSEKERNELMATRIX

#include "core/vector/MatrixT.h"
#include "core/vector/VectorT.h"

namespace OBJREC {

/** Abstract interface for classifiers which implement a training 
 * algorithm which takes an inverse kernel matrix */
class TeachWithInverseKernelMatrix
{

	public:

		/** teach a classifier with the inverse kernel matrix and the labels/function values of each feature vector */
		virtual void teachInverseKernel ( const NICE::Matrix & inverseKernelMatrix, const NICE::Vector & y ) = 0;

};


}

#endif
