SHOGUN  v3.0.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
MMDKernelSelectionComb.h
Go to the documentation of this file.
1 /*
2  * This program is free software; you can redistribute it and/or modify
3  * it under the terms of the GNU General Public License as published by
4  * the Free Software Foundation; either version 3 of the License, or
5  * (at your option) any later version.
6  *
7  * Written (W) 2012-2013 Heiko Strathmann
8  */
9 
10 #ifndef __MMDKERNELSELECTIONCOMB_H_
11 #define __MMDKERNELSELECTIONCOMB_H_
12 
13 #include <shogun/lib/config.h>
14 
16 #include <shogun/lib/SGMatrix.h>
17 #include <shogun/lib/external/libqp.h>
18 
19 namespace shogun
20 {
21 
22 class CLinearTimeMMD;
23 
29 {
30 public:
31 
34 
41 
43  virtual ~CMMDKernelSelectionComb();
44 
45 #ifdef HAVE_LAPACK
46 
51 #else
52 
58 #endif
59 
65  virtual CKernel* select_kernel();
66 
68  const char* get_name() const=0;
69 
70 protected:
84 
85 #ifdef HAVE_LAPACK
86 
87  static const float64_t* get_Q_col(uint32_t i);
88 
90  static void print_state(libqp_state_T state);
91 
94 
97 
100 
103 #endif
104 
105 private:
107  void init();
108 };
109 
110 }
111 
112 #endif /* __MMDKERNELSELECTIONCOMB_H_ */

SHOGUN Machine Learning Toolbox - Documentation