SHOGUN  4.1.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules 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 RetType, class OperandType> class CLinearOperator;
22 template<class T> class CStoreScalarAggregator;
23 class CCGMShiftedFamilySolver;
24 
31 {
32 public:
35 
48  CCGMShiftedFamilySolver* linear_solver,
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:
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_
class that uses conjugate gradient method for solving a shifted linear system family where the linear...
Template class that aggregates scalar job results in each submit_result call, finalize then transform...
double float64_t
Definition: common.h:50
Implementation of independent jobs that solves one whole family of shifted systems in rational approx...
all of classes and functions are contained in the shogun namespace
Definition: class_list.h:18
Abstract template base class that represents a linear operator, e.g. a matrix.
Abstract base for general computation jobs to be registered in CIndependentComputationEngine. compute method produces a job result and submits it to the internal JobResultAggregator. Each set of jobs that form a result will share the same job result aggregator.

SHOGUN Machine Learning Toolbox - Documentation