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;
21 class CIndependentComputationEngine;
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_

SHOGUN Machine Learning Toolbox - Documentation