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

Generated on Thu Jan 10 2019 02:54:19 for yat by  doxygen 1.8.11