SHOGUN
v3.0.0
Main Page
Related Pages
Modules
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Groups
Pages
src
shogun
mathematics
linalg
ratapprox
logdet
opfunc
LogRationalApproximationCGM.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 LOG_RATIONAL_APPROXIMATION_CGM_H_
11
#define LOG_RATIONAL_APPROXIMATION_CGM_H_
12
13
#include <
shogun/lib/config.h
>
14
#include <
shogun/mathematics/linalg/ratapprox/opfunc/RationalApproximation.h
>
15
16
#ifdef HAVE_EIGEN3
17
18
namespace
shogun
19
{
20
21
template
<
class
T>
class
SGVector;
22
template
<
class
T>
class
CLinearOperator;
23
class
CCGMShiftedFamilySolver;
24
class
CJobResultAggregator;
25
class
CIndependentComputationEngine;
26
33
class
CLogRationalApproximationCGM
:
public
CRationalApproximation
34
{
35
public
:
37
CLogRationalApproximationCGM
();
38
51
CLogRationalApproximationCGM
(
52
CLinearOperator<float64_t>
* linear_operator,
53
CIndependentComputationEngine
* computation_engine,
54
CEigenSolver
* eigen_solver,
55
CCGMShiftedFamilySolver
* linear_solver,
56
float64_t
desired_accuracy);
57
59
virtual
~CLogRationalApproximationCGM
();
60
69
virtual
CJobResultAggregator
*
submit_jobs
(
SGVector<float64_t>
sample);
70
72
virtual
const
char
*
get_name
()
const
73
{
74
return
"LogRationalApproximationCGM"
;
75
}
76
77
private
:
79
CCGMShiftedFamilySolver
* m_linear_solver;
80
82
SGVector<complex128_t>
m_negated_shifts;
83
85
void
init();
86
};
87
88
}
89
90
#endif // HAVE_EIGEN3
91
#endif // LOG_RATIONAL_APPROXIMATION_CGM_H_
SHOGUN
Machine Learning Toolbox - Documentation