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 
38 #if defined HAVE_EIGEN3 && HAVE_LAPACK
39 
55 #endif // HAVE_LAPACK && HAVE_EIGEN3
56 
64  CLogDetEstimator(CTraceSampler* trace_sampler,
65  COperatorFunction<float64_t>* operator_log,
66  CIndependentComputationEngine* computation_engine);
67 
69  virtual ~CLogDetEstimator();
70 
78  SGVector<float64_t> sample(index_t num_estimates);
79 
88 
90  virtual const char* get_name() const
91  {
92  return "LogDetEstimator";
93  }
94 
96  CTraceSampler* get_trace_sampler(void) const;
97 
100 
103 
104 private:
106  CTraceSampler* m_trace_sampler;
107 
109  COperatorFunction<float64_t>* m_operator_log;
110 
112  CIndependentComputationEngine* m_computation_engine;
113 
115  void init();
116 };
117 
118 }
119 
120 #endif // LOG_DET_ESTIMATOR_H_

SHOGUN Machine Learning Toolbox - Documentation