yat  0.8.3pre
Kernel_MEV.h
00001 #ifndef _theplu_yat_classifier_kernel_mev_
00002 #define _theplu_yat_classifier_kernel_mev_
00003 
00004 // $Id: Kernel_MEV.h 2119 2009-12-12 23:11:43Z peter $
00005 
00006 /*
00007   Copyright (C) 2003 Peter Johansson
00008   Copyright (C) 2004, 2005 Jari Häkkinen, Peter Johansson
00009   Copyright (C) 2006 Jari Häkkinen, Peter Johansson, Markus Ringnér
00010   Copyright (C) 2007, 2008 Jari Häkkinen, Peter Johansson
00011 
00012   This file is part of the yat library, http://dev.thep.lu.se/yat
00013 
00014   The yat library is free software; you can redistribute it and/or
00015   modify it under the terms of the GNU General Public License as
00016   published by the Free Software Foundation; either version 3 of the
00017   License, or (at your option) any later version.
00018 
00019   The yat library is distributed in the hope that it will be useful,
00020   but WITHOUT ANY WARRANTY; without even the implied warranty of
00021   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
00022   General Public License for more details.
00023 
00024   You should have received a copy of the GNU General Public License
00025   along with yat. If not, see <http://www.gnu.org/licenses/>.
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   }; // class Kernel_MEV
00116 
00117 }}} // of namespace classifier, yat, and theplu
00118 
00119 #endif

Generated on Thu Dec 20 2012 03:12:57 for yat by  doxygen 1.8.0-20120409