SHOGUN
3.2.1
首页
相关页面
模块
类
文件
文件列表
文件成员
全部
类
命名空间
文件
函数
变量
类型定义
枚举
枚举值
友元
宏定义
组
页
src
shogun
mathematics
linalg
ratapprox
opfunc
RationalApproximation.h
浏览该文件的文档.
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
* Written (W) 2013 Heiko Strathmann
9
*/
10
11
#ifndef RATIONAL_APPROXIMATION_H_
12
#define RATIONAL_APPROXIMATION_H_
13
14
#include <
shogun/lib/config.h
>
15
#include <
shogun/mathematics/linalg/ratapprox/opfunc/OperatorFunction.h
>
16
17
namespace
shogun
18
{
19
20
template
<
class
T>
class
SGVector;
21
template
<
class
T>
class
CLinearOperator;
22
class
CIndependentComputationEngine;
23
class
CJobResultAggregator;
24
class
CEigenSolver;
25
63
class
CRationalApproximation
:
public
COperatorFunction
<float64_t>
64
{
65
public
:
67
CRationalApproximation
();
68
81
CRationalApproximation
(
82
CLinearOperator<float64_t>
* linear_operator,
83
CIndependentComputationEngine
* computation_engine,
84
CEigenSolver
* eigen_solver,
85
float64_t
desired_accuracy,
86
EOperatorFunction
function_type);
87
89
virtual
~CRationalApproximation
();
90
99
virtual
void
precompute
();
100
112
int32_t
compute_num_shifts_from_accuracy
();
113
124
virtual
CJobResultAggregator
*
submit_jobs
(
SGVector<float64_t>
sample) = 0;
125
127
SGVector<complex128_t>
get_shifts
()
const
;
128
130
SGVector<complex128_t>
get_weights
()
const
;
131
133
float64_t
get_constant_multiplier
()
const
;
134
136
index_t
get_num_shifts
()
const
;
137
139
void
set_num_shifts
(
index_t
num_shifts);
140
142
virtual
const
char
*
get_name
()
const
143
{
144
return
"RationalApproximation"
;
145
}
146
147
protected
:
149
CEigenSolver
*
m_eigen_solver
;
150
152
SGVector<complex128_t>
m_shifts
;
153
155
SGVector<complex128_t>
m_weights
;
156
158
float64_t
m_constant_multiplier
;
159
161
int32_t
m_num_shifts
;
162
164
float64_t
m_desired_accuracy
;
165
166
private
:
168
void
init();
169
174
void
compute_shifts_weights_const();
175
};
176
177
}
178
179
#endif // RATIONAL_APPROXIMATION_H_
SHOGUN
机器学习工具包 - 项目文档