SHOGUN  v3.2.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
LogRationalApproximationCGM.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 LOG_RATIONAL_APPROXIMATION_CGM_H_
00011 #define LOG_RATIONAL_APPROXIMATION_CGM_H_
00012 
00013 #include <shogun/lib/config.h>
00014 #include <shogun/mathematics/linalg/ratapprox/opfunc/RationalApproximation.h>
00015 
00016 #ifdef HAVE_EIGEN3
00017 
00018 namespace shogun
00019 {
00020 
00021 template<class T> class SGVector;
00022 template<class T> class CLinearOperator;
00023 class CCGMShiftedFamilySolver;
00024 class CJobResultAggregator;
00025 class CIndependentComputationEngine;
00026 
00033 class CLogRationalApproximationCGM : public CRationalApproximation
00034 {
00035 public:
00037     CLogRationalApproximationCGM();
00038 
00051     CLogRationalApproximationCGM(
00052         CLinearOperator<float64_t>* linear_operator,
00053         CIndependentComputationEngine* computation_engine,
00054         CEigenSolver* eigen_solver,
00055         CCGMShiftedFamilySolver* linear_solver,
00056         float64_t desired_accuracy);
00057 
00059     virtual ~CLogRationalApproximationCGM();
00060 
00069     virtual CJobResultAggregator* submit_jobs(SGVector<float64_t> sample);
00070 
00072     virtual const char* get_name() const
00073     {
00074         return "LogRationalApproximationCGM";
00075     }
00076 
00077 private:
00079     CCGMShiftedFamilySolver* m_linear_solver;
00080 
00082     SGVector<complex128_t> m_negated_shifts;
00083 
00085     void init();
00086 };
00087 
00088 }
00089 
00090 #endif // HAVE_EIGEN3
00091 #endif // LOG_RATIONAL_APPROXIMATION_CGM_H_
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

SHOGUN Machine Learning Toolbox - Documentation