6 #ifndef TAPKEE_DEFINES_METHODS_H_ 7 #define TAPKEE_DEFINES_METHODS_H_ 74 #ifndef DOXYGEN_SHOULD_SKIP_THIS 96 #endif // DOXYGEN_SHOULD_SKIP_THS 116 bool is(
const M& m)
const 118 return this->
name()==m.name();
122 return this->
name()==m.name();
137 static const NeighborsMethod
Brute(
"Brute-force");
139 static const NeighborsMethod
VpTree(
"Vantage point tree");
140 #ifdef TAPKEE_USE_LGPL_COVERTREE 141 static const NeighborsMethod
CoverTree(
"Cover tree");
146 #ifdef TAPKEE_USE_LGPL_COVERTREE 159 #ifdef TAPKEE_WITH_ARPACK 160 static const EigenMethod
Arpack(
"Arpack");
165 static const EigenMethod
Randomized(
"Randomized");
170 static const EigenMethod
Dense(
"Dense");
172 #ifdef TAPKEE_WITH_ARPACK 185 #ifdef TAPKEE_WITH_VIENNACL 186 static const ComputationStrategy HeterogeneousOpenCLStrategy(
"OpenCL");
192 namespace tapkee_internal
static const EigenMethod Dense("Dense")
Eigen library dense method (could be useful for debugging). Computes all eigenvectors thus can be ver...
static const EigendecompositionStrategy SmallestEigenvalues("Smallest eigenvalues", 1)
static const EigenMethod Randomized("Randomized")
Randomized method (implementation taken from the redsvd lib). Supports only standard but not generali...
#define METHOD_THAT_NEEDS_ONLY_DISTANCE_IS(X)
static const EigendecompositionStrategy SquaredLargestEigenvalues("Largest eigenvalues of squared matrix", 0)
bool operator==(const M &m)
static const NeighborsMethod Brute("Brute-force")
Brute force method with not least than time complexity. Recommended to be used only in debug purpose...
static EigenMethod default_eigen_method
#define METHOD_THAT_NEEDS_DISTANCE_AND_FEATURES_IS(X)
EigendecompositionStrategy(const char *n, IndexType skp)
Method & operator=(const Method &m)
static const EigenMethod Arpack("Arpack")
ARPACK-based method (requires the ARPACK library binaries to be available around). Recommended to be used as a default method. Supports both generalized and standard eigenproblems.
#define METHOD_THAT_NEEDS_ONLY_KERNEL_IS(X)
int IndexType
indexing type (non-overridable) set to int for compatibility with OpenMP 2.0
DimensionReductionMethod
Dimension reduction methods.
NeighborsMethod(const char *n)
static const ComputationStrategy HomogeneousCPUStrategy("CPU")
EigenMethod(const char *n)
static ComputationStrategy default_computation_strategy
ComputationStrategy(const char *n)
#define METHOD_THAT_NEEDS_NOTHING_IS(X)
static const EigendecompositionStrategy LargestEigenvalues("Largest eigenvalues", 0)
const char * name() const
#define METHOD_THAT_NEEDS_KERNEL_AND_FEATURES_IS(X)
#define METHOD_THAT_NEEDS_ONLY_FEATURES_IS(X)
static NeighborsMethod default_neighbors_method
static const NeighborsMethod VpTree("Vantage point tree")
Vantage point tree -based method.
bool is(const M &m) const
static const NeighborsMethod CoverTree("Cover tree")
Covertree-based method with approximate time complexity. Recommended to be used as a default method...