SHOGUN  v3.0.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
LogRationalApproximationCGM.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) 2013 Soumyajit De
8  */
9 
10 #ifndef LOG_RATIONAL_APPROXIMATION_CGM_H_
11 #define LOG_RATIONAL_APPROXIMATION_CGM_H_
12 
13 #include <shogun/lib/config.h>
15 
16 #ifdef HAVE_EIGEN3
17 
18 namespace shogun
19 {
20 
21 template<class T> class SGVector;
22 template<class T> class CLinearOperator;
23 class CCGMShiftedFamilySolver;
24 class CJobResultAggregator;
25 class CIndependentComputationEngine;
26 
34 {
35 public:
38 
52  CLinearOperator<float64_t>* linear_operator,
53  CIndependentComputationEngine* computation_engine,
54  CEigenSolver* eigen_solver,
55  CCGMShiftedFamilySolver* linear_solver,
56  float64_t desired_accuracy);
57 
60 
70 
72  virtual const char* get_name() const
73  {
74  return "LogRationalApproximationCGM";
75  }
76 
77 private:
79  CCGMShiftedFamilySolver* m_linear_solver;
80 
82  SGVector<complex128_t> m_negated_shifts;
83 
85  void init();
86 };
87 
88 }
89 
90 #endif // HAVE_EIGEN3
91 #endif // LOG_RATIONAL_APPROXIMATION_CGM_H_

SHOGUN Machine Learning Toolbox - Documentation