SHOGUN  3.2.1
 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;
22 template<class T> class SGVector;
23 template<class T> class SGMatrix;
24 
33 {
34 public:
37 
49 
57  CLogDetEstimator(CTraceSampler* trace_sampler,
58  COperatorFunction<float64_t>* operator_log,
59  CIndependentComputationEngine* computation_engine);
60 
62  virtual ~CLogDetEstimator();
63 
71  SGVector<float64_t> sample(index_t num_estimates);
72 
81 
83  virtual const char* get_name() const
84  {
85  return "LogDetEstimator";
86  }
87 
89  CTraceSampler* get_trace_sampler(void) const;
90 
93 
96 
97 private:
99  CTraceSampler* m_trace_sampler;
100 
102  COperatorFunction<float64_t>* m_operator_log;
103 
105  CIndependentComputationEngine* m_computation_engine;
106 
108  void init();
109 };
110 
111 }
112 
113 #endif // LOG_DET_ESTIMATOR_H_

SHOGUN Machine Learning Toolbox - Documentation