11 #ifndef RATIONAL_APPROXIMATION_H_
12 #define RATIONAL_APPROXIMATION_H_
20 template<
class T>
class SGVector;
21 template<
class T>
class CLinearOperator;
22 class CIndependentComputationEngine;
23 class CJobResultAggregator;
144 return "RationalApproximation";
174 void compute_shifts_weights_const();
179 #endif // RATIONAL_APPROXIMATION_H_
float64_t get_constant_multiplier() const
Abstract template base class for computing for a linear operator C and a vector s. submit_jobs method creates a bunch of jobs needed to solve for this particular and attaches one unique job aggregator to each of them, then submits them all to the computation engine.
SGVector< complex128_t > get_weights() const
virtual void precompute()
virtual CJobResultAggregator * submit_jobs(SGVector< float64_t > sample)=0
virtual const char * get_name() const
SGVector< complex128_t > m_shifts
index_t get_num_shifts() const
int32_t compute_num_shifts_from_accuracy()
virtual ~CRationalApproximation()
float64_t m_constant_multiplier
Abstract base class of the rational approximation of a function of a linear operator (A) times vector...
Abstract base class that provides an interface for computing an aggeregation of the job results of in...
SGVector< complex128_t > m_weights
void set_num_shifts(index_t num_shifts)
Abstract base class that provides an abstract compute method for computing eigenvalues of a real valu...
all of classes and functions are contained in the shogun namespace
Abstract base class for solving multiple independent instances of CIndependentJob. It has one method, submit_job, which may add the job to an internal queue and might block if there is yet not space in the queue. After jobs are submitted, it might not yet be ready. wait_for_all waits until all jobs are completed, which must be called to guarantee that all jobs are finished.
SGVector< complex128_t > get_shifts() const
CEigenSolver * m_eigen_solver
float64_t m_desired_accuracy