SHOGUN  5.0.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules
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 
16 
17 namespace shogun
18 {
19 template<class T> class SGVector;
20 template<class T> class CLinearOperator;
21 template<class T> class CStoreScalarAggregator;
22 class CCGMShiftedFamilySolver;
23 
30 {
31 public:
34 
47  CCGMShiftedFamilySolver* linear_solver,
48  CLinearOperator<float64_t>* linear_operator,
50  SGVector<complex128_t> weights, float64_t const_multiplier);
51 
54 
56  virtual void compute();
57 
59  virtual const char* get_name() const
60  {
61  return "RationalApproximationCGMJob";
62  }
63 
64 private:
66  CLinearOperator<float64_t>* m_operator;
67 
69  SGVector<float64_t> m_vector;
70 
72  CCGMShiftedFamilySolver* m_linear_solver;
73 
75  SGVector<complex128_t> m_shifts;
76 
78  SGVector<complex128_t> m_weights;
79 
81  float64_t m_const_multiplier;
82 
84  void init();
85 };
86 
87 }
88 
89 #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 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