source: trunk/lib/svm/Kernel_SEV.h @ 333

Last change on this file since 333 was 333, checked in by Jari Häkkinen, 18 years ago

Fixed needed base class contructor.

  • Property svn:eol-style set to native
  • Property svn:keywords set to Id
File size: 1.5 KB
Line 
1// $Id: Kernel_SEV.h 333 2005-06-02 13:34:08Z jari $
2
3#ifndef _theplu_svm_kernel_sev_
4#define _theplu_svm_kernel_sev_
5
6#include <c++_tools/gslapi/matrix.h>
7#include <c++_tools/svm/Kernel.h>
8
9
10namespace theplu {
11namespace svm {
12
13  class KernelFunction;
14
15  ///
16  ///   @brief Speed Efficient Kernel
17  ///   Class taking care of the \f$NxN\f$ kernel matrix, where
18  ///   \f$N\f$ is number of samples. Type of Kernel is defined by a
19  ///   KernelFunction. This Speed Efficient Version (SEV) calculated
20  ///   the kernel matrix once and the kernel is stored in
21  ///   memory. When \f$N\f$ is large and the kernel matrix cannot be
22  ///   stored in memory, use Kernel_MEV instead.
23  ///   
24  ///   @see also Kernel_MEV
25  ///
26  class Kernel_SEV : public Kernel
27  {
28   
29  public:
30
31    ///
32    ///  Default constructor (not implemented)
33    ///
34    Kernel_SEV(void);
35
36    ///
37    ///   Constructor taking the data matrix and KernelFunction as
38    ///   input. @note Can not handle NaNs. When dealing with missing values,
39    ///   use constructor taking a weight matrix.
40    Kernel_SEV(const gslapi::matrix&, const KernelFunction&);
41   
42    ///
43    /// @todo
44    /// Copy constructor
45    ///
46    Kernel_SEV(const Kernel_SEV&);
47
48    ///
49    ///   Destructor
50    ///
51    virtual ~Kernel_SEV(void);
52
53    ///
54    /// @return element at position (\a row, \a column) in the Kernel
55    /// matrix
56    ///
57    inline double operator()(const size_t row,const size_t column) const
58    { return kernel_matrix_(row,column); }
59   
60  private:
61    gslapi::matrix kernel_matrix_;
62
63  }; // class Kernel_SEV
64
65}} // of namespace svm and namespace theplu
66
67#endif
Note: See TracBrowser for help on using the repository browser.