00001 #ifndef _theplu_yat_classifier_kernel_mev_
00002 #define _theplu_yat_classifier_kernel_mev_
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028 #include "Kernel.h"
00029 #include "KernelFunction.h"
00030
00031 namespace theplu {
00032 namespace yat {
00033 namespace classifier {
00034 class MatrixLookup;
00035 class MatrixLookupWeighted;
00036
00048 class Kernel_MEV : public Kernel
00049 {
00050
00051 public:
00052
00058 Kernel_MEV(const MatrixLookup& data, const KernelFunction& kf,
00059 const bool own=false);
00060
00061
00067 Kernel_MEV(const MatrixLookupWeighted& data, const KernelFunction& kf,
00068 const bool own=false);
00069
00070
00075 Kernel_MEV(const Kernel_MEV& kernel, const std::vector<size_t>& index);
00076
00077
00082 double operator()(const size_t row, const size_t column) const;
00083
00092 const Kernel_MEV* make_kernel(const MatrixLookup&,
00093 const bool own=false) const;
00094
00095
00104 const Kernel_MEV* make_kernel(const MatrixLookupWeighted&,
00105 const bool own=false) const;
00106
00107
00108 private:
00112 Kernel_MEV(const Kernel_MEV&);
00113 const Kernel_MEV& operator=(const Kernel_MEV&);
00114
00115 };
00116
00117 }}}
00118
00119 #endif