SHOGUN  v3.0.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
RationalApproximationCGMJob.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 RATIONAL_APPROXIMATION_CGM_JOB_H_
11 #define RATIONAL_APPROXIMATION_CGM_JOB_H_
12 
13 #include <shogun/lib/config.h>
14 
15 #ifdef HAVE_EIGEN3
17 
18 namespace shogun
19 {
20 template<class T> class SGVector;
21 template<class T> class CLinearOperator;
22 template<class T> class CStoreScalarAggregator;
23 class CCGMShiftedFamilySolver;
24 
31 {
32 public:
35 
48  CCGMShiftedFamilySolver* linear_solver,
49  CLinearOperator<float64_t>* linear_operator,
51  SGVector<complex128_t> weights, float64_t const_multiplier);
52 
55 
57  virtual void compute();
58 
60  virtual const char* get_name() const
61  {
62  return "RationalApproximationCGMJob";
63  }
64 
65 private:
67  CLinearOperator<float64_t>* m_operator;
68 
70  SGVector<float64_t> m_vector;
71 
73  CCGMShiftedFamilySolver* m_linear_solver;
74 
76  SGVector<complex128_t> m_shifts;
77 
79  SGVector<complex128_t> m_weights;
80 
82  float64_t m_const_multiplier;
83 
85  void init();
86 };
87 
88 }
89 
90 #endif // HAVE_EIGEN3
91 #endif // RATIONAL_APPROXIMATION_CGM_JOB_H_

SHOGUN Machine Learning Toolbox - Documentation