Tapkee
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
defines/methods.hpp
Go to the documentation of this file.
1 /* This software is distributed under BSD 3-clause license (see LICENSE file).
2  *
3  * Copyright (c) 2012-2013 Sergey Lisitsyn
4  */
5 
6 #ifndef TAPKEE_DEFINES_METHODS_H_
7 #define TAPKEE_DEFINES_METHODS_H_
8 
9 namespace tapkee
10 {
13  {
57  PCA,
72  };
73 
74 #ifndef DOXYGEN_SHOULD_SKIP_THIS
75  // Methods identification
96 #endif // DOXYGEN_SHOULD_SKIP_THS
97 
100  {
106 #ifdef TAPKEE_USE_LGPL_COVERTREE
107  , CoverTree
110 #endif
111  };
112 #ifdef TAPKEE_USE_LGPL_COVERTREE
114 #else
116 #endif
117 
120  {
121 #ifdef TAPKEE_WITH_ARPACK
122  Arpack,
126 #endif
127  Randomized,
133  };
134 #ifdef TAPKEE_WITH_ARPACK
136 #else
138 #endif
139 
140 }
141 
142 #endif
143 
#define METHOD_THAT_NEEDS_ONLY_DISTANCE_IS(X)
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.
Eigen library dense method (could be useful for debugging). Computes all eigenvectors thus can be ver...
static EigenMethod default_eigen_method
#define METHOD_THAT_NEEDS_DISTANCE_AND_FEATURES_IS(X)
Randomized method (implementation taken from the redsvd lib). Supports only standard but not generali...
EigenMethod
Eigendecomposition methods.
#define METHOD_THAT_NEEDS_ONLY_KERNEL_IS(X)
DimensionReductionMethod
Dimension reduction methods.
#define METHOD_THAT_NEEDS_NOTHING_IS(X)
Covertree-based method with approximate time complexity. Recommended to be used as a default method...
#define METHOD_THAT_NEEDS_KERNEL_AND_FEATURES_IS(X)
Brute force method with not least than time complexity. Recommended to be used only in debug purpose...
#define METHOD_THAT_NEEDS_ONLY_FEATURES_IS(X)
static NeighborsMethod default_neighbors_method
NeighborsMethod
Neighbors computation methods.