yat  0.21pre
Kernel_MEV.h
1 #ifndef _theplu_yat_classifier_kernel_mev_
2 #define _theplu_yat_classifier_kernel_mev_
3 
4 // $Id: Kernel_MEV.h 4207 2022-08-26 04:36:28Z peter $
5 
6 /*
7  Copyright (C) 2003 Peter Johansson
8  Copyright (C) 2004, 2005 Jari Häkkinen, Peter Johansson
9  Copyright (C) 2006 Jari Häkkinen, Peter Johansson, Markus Ringnér
10  Copyright (C) 2007, 2008 Jari Häkkinen, Peter Johansson
11  Copyright (C) 2022 Peter Johansson
12 
13  This file is part of the yat library, http://dev.thep.lu.se/yat
14 
15  The yat library is free software; you can redistribute it and/or
16  modify it under the terms of the GNU General Public License as
17  published by the Free Software Foundation; either version 3 of the
18  License, or (at your option) any later version.
19 
20  The yat library is distributed in the hope that it will be useful,
21  but WITHOUT ANY WARRANTY; without even the implied warranty of
22  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
23  General Public License for more details.
24 
25  You should have received a copy of the GNU General Public License
26  along with yat. If not, see <http://www.gnu.org/licenses/>.
27 */
28 
29 #include "Kernel.h"
30 #include "KernelFunction.h"
31 
32 namespace theplu {
33 namespace yat {
34 namespace classifier {
35  class MatrixLookup;
36  class MatrixLookupWeighted;
37 
49  class Kernel_MEV : public Kernel
50  {
51 
52  public:
53 
59  Kernel_MEV(const MatrixLookup& data, const KernelFunction& kf,
60  const bool own=false);
61 
62 
69  const bool own=false);
70 
71 
76  Kernel_MEV(const Kernel_MEV& kernel, const std::vector<size_t>& index);
77 
78 
83  double operator()(const size_t row, const size_t column) const;
84 
93  const Kernel_MEV* make_kernel(const MatrixLookup&,
94  const bool own=false) const;
95 
96 
106  const bool own=false) const;
107 
108 
109  private:
113  Kernel_MEV(const Kernel_MEV&);
114  const Kernel_MEV& operator=(const Kernel_MEV&);
115 
116  }; // class Kernel_MEV
117 
118 }}} // of namespace classifier, yat, and theplu
119 
120 #endif
General view into utility::Matrix.
Definition: MatrixLookup.h:70
Interface Class for Kernels.
Definition: Kernel.h:58
The Department of Theoretical Physics namespace as we define it.
const Kernel_MEV * make_kernel(const MatrixLookup &, const bool own=false) const
Kernel_MEV(const MatrixLookup &data, const KernelFunction &kf, const bool own=false)
Interface class calculating elements in Kernel.
Definition: KernelFunction.h:38
General view into utility::MatrixWeighted.
Definition: MatrixLookupWeighted.h:63
Memory Efficient Kernel.
Definition: Kernel_MEV.h:49
double operator()(const size_t row, const size_t column) const
const MatrixLookup & data(void) const

Generated on Wed Jan 25 2023 03:34:29 for yat by  doxygen 1.8.14