SHOGUN  v3.0.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
LogDetEstimator.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_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;
21 class CIndependentComputationEngine;
22 template<class T> class SGVector;
23 template<class T> class SGMatrix;
24 
33 {
34 public:
37 
45  CLogDetEstimator(CTraceSampler* trace_sampler,
46  COperatorFunction<float64_t>* operator_log,
47  CIndependentComputationEngine* computation_engine);
48 
50  virtual ~CLogDetEstimator();
51 
59  SGVector<float64_t> sample(index_t num_estimates);
60 
69 
71  virtual const char* get_name() const
72  {
73  return "LogDetEstimator";
74  }
75 
76 private:
78  CTraceSampler* m_trace_sampler;
79 
81  COperatorFunction<float64_t>* m_operator_log;
82 
84  CIndependentComputationEngine* m_computation_engine;
85 
87  void init();
88 };
89 
90 }
91 
92 #endif // LOG_DET_ESTIMATOR_H_

SHOGUN Machine Learning Toolbox - Documentation