SHOGUN  3.2.1
 全部  命名空间 文件 函数 变量 类型定义 枚举 枚举值 友元 宏定义  
LogDetEstimator.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  */
9 
10 #ifndef LOG_DET_ESTIMATOR_H_
11 #define LOG_DET_ESTIMATOR_H_
12 
13 #include <shogun/lib/config.h>
14 #include <shogun/base/SGObject.h>
15 #include <shogun/base/Parameter.h>
16 
17 namespace shogun
18 {
19 class CTraceSampler;
20 template<class T> class COperatorFunction;
22 template<class T> class SGVector;
23 template<class T> class SGMatrix;
24 
33 {
34 public:
37 
49  #ifdef HAVE_EIGEN3
50  #ifdef HAVE_LAPACK
52  #endif //HAVE_LAPACK
53  #endif //HAVE_EIGEN3
54 
62  CLogDetEstimator(CTraceSampler* trace_sampler,
63  COperatorFunction<float64_t>* operator_log,
64  CIndependentComputationEngine* computation_engine);
65 
67  virtual ~CLogDetEstimator();
68 
76  SGVector<float64_t> sample(index_t num_estimates);
77 
86 
88  virtual const char* get_name() const
89  {
90  return "LogDetEstimator";
91  }
92 
94  CTraceSampler* get_trace_sampler(void) const;
95 
98 
101 
102 private:
104  CTraceSampler* m_trace_sampler;
105 
107  COperatorFunction<float64_t>* m_operator_log;
108 
110  CIndependentComputationEngine* m_computation_engine;
111 
113  void init();
114 };
115 
116 }
117 
118 #endif // LOG_DET_ESTIMATOR_H_
template class SGSparseMatrix
Definition: Parameter.h:27
CTraceSampler * get_trace_sampler(void) const
SGVector< float64_t > sample(index_t num_estimates)
int32_t index_t
Definition: common.h:62
SGMatrix< float64_t > sample_without_averaging(index_t num_estimates)
Class to create unbiased estimators of . For each estimate, it samples trace vectors (one by one) and...
virtual const char * get_name() const
Class SGObject is the base class of all shogun objects.
Definition: SGObject.h:98
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.
CIndependentComputationEngine * get_computation_engine(void) const
shogun vector
Definition: Parameter.h:28
COperatorFunction< float64_t > * get_operator_function(void) const
shogun matrix
Definition: Parameter.h:26
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.
Abstract template base class that provides an interface for sampling the trace of a linear operator u...
Definition: TraceSampler.h:23

SHOGUN 机器学习工具包 - 项目文档