SHOGUN  v3.2.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
RationalApproximationCGMJob.h
Go to the documentation of this file.
00001 /*
00002  * This program is free software; you can redistribute it and/or modify
00003  * it under the terms of the GNU General Public License as published by
00004  * the Free Software Foundation; either version 3 of the License, or
00005  * (at your option) any later version.
00006  *
00007  * Written (W) 2013 Soumyajit De
00008  */
00009 
00010 #ifndef RATIONAL_APPROXIMATION_CGM_JOB_H_
00011 #define RATIONAL_APPROXIMATION_CGM_JOB_H_
00012 
00013 #include <shogun/lib/config.h>
00014 
00015 #ifdef HAVE_EIGEN3
00016 #include <shogun/lib/computation/job/IndependentJob.h>
00017 
00018 namespace shogun
00019 {
00020 template<class T> class SGVector;
00021 template<class T> class CLinearOperator;
00022 template<class T> class CStoreScalarAggregator;
00023 class CCGMShiftedFamilySolver;
00024 
00030 class CRationalApproximationCGMJob : public CIndependentJob
00031 {
00032 public:
00034     CRationalApproximationCGMJob();
00035 
00047     CRationalApproximationCGMJob(CStoreScalarAggregator<float64_t>* aggregator,
00048         CCGMShiftedFamilySolver* linear_solver,
00049         CLinearOperator<float64_t>* linear_operator,
00050         SGVector<float64_t> vector, SGVector<complex128_t> shifts,
00051         SGVector<complex128_t> weights, float64_t const_multiplier);
00052 
00054     virtual ~CRationalApproximationCGMJob();
00055 
00057     virtual void compute();
00058 
00060     virtual const char* get_name() const
00061     {
00062         return "RationalApproximationCGMJob";
00063     }
00064 
00065 private:
00067     CLinearOperator<float64_t>* m_operator;
00068 
00070     SGVector<float64_t> m_vector;
00071 
00073     CCGMShiftedFamilySolver* m_linear_solver;
00074 
00076     SGVector<complex128_t> m_shifts;
00077 
00079     SGVector<complex128_t> m_weights;
00080 
00082     float64_t m_const_multiplier;
00083 
00085     void init();
00086 };
00087 
00088 }
00089 
00090 #endif // HAVE_EIGEN3
00091 #endif // RATIONAL_APPROXIMATION_CGM_JOB_H_
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

SHOGUN Machine Learning Toolbox - Documentation