10 #ifndef PROBING_SAMPLER_H_
11 #define PROBING_SAMPLER_H_
28 DYNAMIC_LARGEST_FIRST,
29 DISTANCE_TWO_LARGEST_FIRST,
31 DISTANCE_TWO_SMALLEST_LAST,
33 DISTANCE_TWO_INCIDENCE_DEGREE,
42 ACYCLIC_FOR_INDIRECT_RECOVERY,
48 template<
class T>
class SGVector;
49 template<
class T>
class SGString;
50 template<
class T>
class CSparseMatrixOperator;
56 class CProbingSampler :
public CTraceSampler
71 CProbingSampler(CSparseMatrixOperator<float64_t>* matrix_operator,
72 int64_t power=1, EOrderingVariant ordering=NATURAL,
73 EColoringVariant coloring=DISTANCE_TWO);
76 virtual ~CProbingSampler();
82 void set_coloring_vector(SGVector<int32_t> coloring_vector);
85 SGVector<int32_t> get_coloring_vector()
const;
93 virtual SGVector<float64_t> sample(
index_t idx)
const;
96 virtual void precompute();
99 virtual const char* get_name()
const
101 return "ProbingSampler";
106 CSparseMatrixOperator<float64_t>* m_matrix_operator;
112 SGVector<int32_t> m_coloring_vector;
115 EOrderingVariant m_ordering;
118 EColoringVariant m_coloring;
121 bool m_is_precomputed;
130 #endif // HAVE_EIGEN3
131 #endif // HAVE_COLPACK
132 #endif // PROBING_SAMPLER_H_
all of classes and functions are contained in the shogun namespace