umappp 0.1.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (395) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE.txt +25 -0
  3. data/README.md +110 -0
  4. data/ext/umappp/extconf.rb +25 -0
  5. data/ext/umappp/numo.hpp +867 -0
  6. data/ext/umappp/umappp.cpp +225 -0
  7. data/lib/umappp/version.rb +5 -0
  8. data/lib/umappp.rb +41 -0
  9. data/vendor/Eigen/Cholesky +45 -0
  10. data/vendor/Eigen/CholmodSupport +48 -0
  11. data/vendor/Eigen/Core +384 -0
  12. data/vendor/Eigen/Dense +7 -0
  13. data/vendor/Eigen/Eigen +2 -0
  14. data/vendor/Eigen/Eigenvalues +60 -0
  15. data/vendor/Eigen/Geometry +59 -0
  16. data/vendor/Eigen/Householder +29 -0
  17. data/vendor/Eigen/IterativeLinearSolvers +48 -0
  18. data/vendor/Eigen/Jacobi +32 -0
  19. data/vendor/Eigen/KLUSupport +41 -0
  20. data/vendor/Eigen/LU +47 -0
  21. data/vendor/Eigen/MetisSupport +35 -0
  22. data/vendor/Eigen/OrderingMethods +70 -0
  23. data/vendor/Eigen/PaStiXSupport +49 -0
  24. data/vendor/Eigen/PardisoSupport +35 -0
  25. data/vendor/Eigen/QR +50 -0
  26. data/vendor/Eigen/QtAlignedMalloc +39 -0
  27. data/vendor/Eigen/SPQRSupport +34 -0
  28. data/vendor/Eigen/SVD +50 -0
  29. data/vendor/Eigen/Sparse +34 -0
  30. data/vendor/Eigen/SparseCholesky +37 -0
  31. data/vendor/Eigen/SparseCore +69 -0
  32. data/vendor/Eigen/SparseLU +50 -0
  33. data/vendor/Eigen/SparseQR +36 -0
  34. data/vendor/Eigen/StdDeque +27 -0
  35. data/vendor/Eigen/StdList +26 -0
  36. data/vendor/Eigen/StdVector +27 -0
  37. data/vendor/Eigen/SuperLUSupport +64 -0
  38. data/vendor/Eigen/UmfPackSupport +40 -0
  39. data/vendor/Eigen/src/Cholesky/LDLT.h +688 -0
  40. data/vendor/Eigen/src/Cholesky/LLT.h +558 -0
  41. data/vendor/Eigen/src/Cholesky/LLT_LAPACKE.h +99 -0
  42. data/vendor/Eigen/src/CholmodSupport/CholmodSupport.h +682 -0
  43. data/vendor/Eigen/src/Core/ArithmeticSequence.h +413 -0
  44. data/vendor/Eigen/src/Core/Array.h +417 -0
  45. data/vendor/Eigen/src/Core/ArrayBase.h +226 -0
  46. data/vendor/Eigen/src/Core/ArrayWrapper.h +209 -0
  47. data/vendor/Eigen/src/Core/Assign.h +90 -0
  48. data/vendor/Eigen/src/Core/AssignEvaluator.h +1010 -0
  49. data/vendor/Eigen/src/Core/Assign_MKL.h +178 -0
  50. data/vendor/Eigen/src/Core/BandMatrix.h +353 -0
  51. data/vendor/Eigen/src/Core/Block.h +448 -0
  52. data/vendor/Eigen/src/Core/BooleanRedux.h +162 -0
  53. data/vendor/Eigen/src/Core/CommaInitializer.h +164 -0
  54. data/vendor/Eigen/src/Core/ConditionEstimator.h +175 -0
  55. data/vendor/Eigen/src/Core/CoreEvaluators.h +1741 -0
  56. data/vendor/Eigen/src/Core/CoreIterators.h +132 -0
  57. data/vendor/Eigen/src/Core/CwiseBinaryOp.h +183 -0
  58. data/vendor/Eigen/src/Core/CwiseNullaryOp.h +1001 -0
  59. data/vendor/Eigen/src/Core/CwiseTernaryOp.h +197 -0
  60. data/vendor/Eigen/src/Core/CwiseUnaryOp.h +103 -0
  61. data/vendor/Eigen/src/Core/CwiseUnaryView.h +132 -0
  62. data/vendor/Eigen/src/Core/DenseBase.h +701 -0
  63. data/vendor/Eigen/src/Core/DenseCoeffsBase.h +685 -0
  64. data/vendor/Eigen/src/Core/DenseStorage.h +652 -0
  65. data/vendor/Eigen/src/Core/Diagonal.h +258 -0
  66. data/vendor/Eigen/src/Core/DiagonalMatrix.h +391 -0
  67. data/vendor/Eigen/src/Core/DiagonalProduct.h +28 -0
  68. data/vendor/Eigen/src/Core/Dot.h +318 -0
  69. data/vendor/Eigen/src/Core/EigenBase.h +160 -0
  70. data/vendor/Eigen/src/Core/ForceAlignedAccess.h +150 -0
  71. data/vendor/Eigen/src/Core/Fuzzy.h +155 -0
  72. data/vendor/Eigen/src/Core/GeneralProduct.h +465 -0
  73. data/vendor/Eigen/src/Core/GenericPacketMath.h +1040 -0
  74. data/vendor/Eigen/src/Core/GlobalFunctions.h +194 -0
  75. data/vendor/Eigen/src/Core/IO.h +258 -0
  76. data/vendor/Eigen/src/Core/IndexedView.h +237 -0
  77. data/vendor/Eigen/src/Core/Inverse.h +117 -0
  78. data/vendor/Eigen/src/Core/Map.h +171 -0
  79. data/vendor/Eigen/src/Core/MapBase.h +310 -0
  80. data/vendor/Eigen/src/Core/MathFunctions.h +2057 -0
  81. data/vendor/Eigen/src/Core/MathFunctionsImpl.h +200 -0
  82. data/vendor/Eigen/src/Core/Matrix.h +565 -0
  83. data/vendor/Eigen/src/Core/MatrixBase.h +547 -0
  84. data/vendor/Eigen/src/Core/NestByValue.h +85 -0
  85. data/vendor/Eigen/src/Core/NoAlias.h +109 -0
  86. data/vendor/Eigen/src/Core/NumTraits.h +335 -0
  87. data/vendor/Eigen/src/Core/PartialReduxEvaluator.h +232 -0
  88. data/vendor/Eigen/src/Core/PermutationMatrix.h +605 -0
  89. data/vendor/Eigen/src/Core/PlainObjectBase.h +1128 -0
  90. data/vendor/Eigen/src/Core/Product.h +191 -0
  91. data/vendor/Eigen/src/Core/ProductEvaluators.h +1179 -0
  92. data/vendor/Eigen/src/Core/Random.h +218 -0
  93. data/vendor/Eigen/src/Core/Redux.h +515 -0
  94. data/vendor/Eigen/src/Core/Ref.h +381 -0
  95. data/vendor/Eigen/src/Core/Replicate.h +142 -0
  96. data/vendor/Eigen/src/Core/Reshaped.h +454 -0
  97. data/vendor/Eigen/src/Core/ReturnByValue.h +119 -0
  98. data/vendor/Eigen/src/Core/Reverse.h +217 -0
  99. data/vendor/Eigen/src/Core/Select.h +164 -0
  100. data/vendor/Eigen/src/Core/SelfAdjointView.h +365 -0
  101. data/vendor/Eigen/src/Core/SelfCwiseBinaryOp.h +47 -0
  102. data/vendor/Eigen/src/Core/Solve.h +188 -0
  103. data/vendor/Eigen/src/Core/SolveTriangular.h +235 -0
  104. data/vendor/Eigen/src/Core/SolverBase.h +168 -0
  105. data/vendor/Eigen/src/Core/StableNorm.h +251 -0
  106. data/vendor/Eigen/src/Core/StlIterators.h +463 -0
  107. data/vendor/Eigen/src/Core/Stride.h +116 -0
  108. data/vendor/Eigen/src/Core/Swap.h +68 -0
  109. data/vendor/Eigen/src/Core/Transpose.h +464 -0
  110. data/vendor/Eigen/src/Core/Transpositions.h +386 -0
  111. data/vendor/Eigen/src/Core/TriangularMatrix.h +1001 -0
  112. data/vendor/Eigen/src/Core/VectorBlock.h +96 -0
  113. data/vendor/Eigen/src/Core/VectorwiseOp.h +784 -0
  114. data/vendor/Eigen/src/Core/Visitor.h +381 -0
  115. data/vendor/Eigen/src/Core/arch/AVX/Complex.h +372 -0
  116. data/vendor/Eigen/src/Core/arch/AVX/MathFunctions.h +228 -0
  117. data/vendor/Eigen/src/Core/arch/AVX/PacketMath.h +1574 -0
  118. data/vendor/Eigen/src/Core/arch/AVX/TypeCasting.h +115 -0
  119. data/vendor/Eigen/src/Core/arch/AVX512/Complex.h +422 -0
  120. data/vendor/Eigen/src/Core/arch/AVX512/MathFunctions.h +362 -0
  121. data/vendor/Eigen/src/Core/arch/AVX512/PacketMath.h +2303 -0
  122. data/vendor/Eigen/src/Core/arch/AVX512/TypeCasting.h +89 -0
  123. data/vendor/Eigen/src/Core/arch/AltiVec/Complex.h +417 -0
  124. data/vendor/Eigen/src/Core/arch/AltiVec/MathFunctions.h +90 -0
  125. data/vendor/Eigen/src/Core/arch/AltiVec/MatrixProduct.h +2937 -0
  126. data/vendor/Eigen/src/Core/arch/AltiVec/MatrixProductCommon.h +221 -0
  127. data/vendor/Eigen/src/Core/arch/AltiVec/MatrixProductMMA.h +629 -0
  128. data/vendor/Eigen/src/Core/arch/AltiVec/PacketMath.h +2711 -0
  129. data/vendor/Eigen/src/Core/arch/CUDA/Complex.h +258 -0
  130. data/vendor/Eigen/src/Core/arch/Default/BFloat16.h +700 -0
  131. data/vendor/Eigen/src/Core/arch/Default/ConjHelper.h +117 -0
  132. data/vendor/Eigen/src/Core/arch/Default/GenericPacketMathFunctions.h +1649 -0
  133. data/vendor/Eigen/src/Core/arch/Default/GenericPacketMathFunctionsFwd.h +110 -0
  134. data/vendor/Eigen/src/Core/arch/Default/Half.h +942 -0
  135. data/vendor/Eigen/src/Core/arch/Default/Settings.h +49 -0
  136. data/vendor/Eigen/src/Core/arch/Default/TypeCasting.h +120 -0
  137. data/vendor/Eigen/src/Core/arch/GPU/MathFunctions.h +103 -0
  138. data/vendor/Eigen/src/Core/arch/GPU/PacketMath.h +1685 -0
  139. data/vendor/Eigen/src/Core/arch/GPU/TypeCasting.h +80 -0
  140. data/vendor/Eigen/src/Core/arch/HIP/hcc/math_constants.h +23 -0
  141. data/vendor/Eigen/src/Core/arch/MSA/Complex.h +648 -0
  142. data/vendor/Eigen/src/Core/arch/MSA/MathFunctions.h +387 -0
  143. data/vendor/Eigen/src/Core/arch/MSA/PacketMath.h +1233 -0
  144. data/vendor/Eigen/src/Core/arch/NEON/Complex.h +584 -0
  145. data/vendor/Eigen/src/Core/arch/NEON/GeneralBlockPanelKernel.h +183 -0
  146. data/vendor/Eigen/src/Core/arch/NEON/MathFunctions.h +75 -0
  147. data/vendor/Eigen/src/Core/arch/NEON/PacketMath.h +4587 -0
  148. data/vendor/Eigen/src/Core/arch/NEON/TypeCasting.h +1419 -0
  149. data/vendor/Eigen/src/Core/arch/SSE/Complex.h +351 -0
  150. data/vendor/Eigen/src/Core/arch/SSE/MathFunctions.h +199 -0
  151. data/vendor/Eigen/src/Core/arch/SSE/PacketMath.h +1505 -0
  152. data/vendor/Eigen/src/Core/arch/SSE/TypeCasting.h +142 -0
  153. data/vendor/Eigen/src/Core/arch/SVE/MathFunctions.h +44 -0
  154. data/vendor/Eigen/src/Core/arch/SVE/PacketMath.h +752 -0
  155. data/vendor/Eigen/src/Core/arch/SVE/TypeCasting.h +49 -0
  156. data/vendor/Eigen/src/Core/arch/SYCL/InteropHeaders.h +232 -0
  157. data/vendor/Eigen/src/Core/arch/SYCL/MathFunctions.h +301 -0
  158. data/vendor/Eigen/src/Core/arch/SYCL/PacketMath.h +670 -0
  159. data/vendor/Eigen/src/Core/arch/SYCL/SyclMemoryModel.h +694 -0
  160. data/vendor/Eigen/src/Core/arch/SYCL/TypeCasting.h +85 -0
  161. data/vendor/Eigen/src/Core/arch/ZVector/Complex.h +426 -0
  162. data/vendor/Eigen/src/Core/arch/ZVector/MathFunctions.h +233 -0
  163. data/vendor/Eigen/src/Core/arch/ZVector/PacketMath.h +1060 -0
  164. data/vendor/Eigen/src/Core/functors/AssignmentFunctors.h +177 -0
  165. data/vendor/Eigen/src/Core/functors/BinaryFunctors.h +541 -0
  166. data/vendor/Eigen/src/Core/functors/NullaryFunctors.h +189 -0
  167. data/vendor/Eigen/src/Core/functors/StlFunctors.h +166 -0
  168. data/vendor/Eigen/src/Core/functors/TernaryFunctors.h +25 -0
  169. data/vendor/Eigen/src/Core/functors/UnaryFunctors.h +1131 -0
  170. data/vendor/Eigen/src/Core/products/GeneralBlockPanelKernel.h +2645 -0
  171. data/vendor/Eigen/src/Core/products/GeneralMatrixMatrix.h +517 -0
  172. data/vendor/Eigen/src/Core/products/GeneralMatrixMatrixTriangular.h +317 -0
  173. data/vendor/Eigen/src/Core/products/GeneralMatrixMatrixTriangular_BLAS.h +145 -0
  174. data/vendor/Eigen/src/Core/products/GeneralMatrixMatrix_BLAS.h +124 -0
  175. data/vendor/Eigen/src/Core/products/GeneralMatrixVector.h +518 -0
  176. data/vendor/Eigen/src/Core/products/GeneralMatrixVector_BLAS.h +136 -0
  177. data/vendor/Eigen/src/Core/products/Parallelizer.h +180 -0
  178. data/vendor/Eigen/src/Core/products/SelfadjointMatrixMatrix.h +544 -0
  179. data/vendor/Eigen/src/Core/products/SelfadjointMatrixMatrix_BLAS.h +295 -0
  180. data/vendor/Eigen/src/Core/products/SelfadjointMatrixVector.h +262 -0
  181. data/vendor/Eigen/src/Core/products/SelfadjointMatrixVector_BLAS.h +118 -0
  182. data/vendor/Eigen/src/Core/products/SelfadjointProduct.h +133 -0
  183. data/vendor/Eigen/src/Core/products/SelfadjointRank2Update.h +94 -0
  184. data/vendor/Eigen/src/Core/products/TriangularMatrixMatrix.h +472 -0
  185. data/vendor/Eigen/src/Core/products/TriangularMatrixMatrix_BLAS.h +317 -0
  186. data/vendor/Eigen/src/Core/products/TriangularMatrixVector.h +350 -0
  187. data/vendor/Eigen/src/Core/products/TriangularMatrixVector_BLAS.h +255 -0
  188. data/vendor/Eigen/src/Core/products/TriangularSolverMatrix.h +337 -0
  189. data/vendor/Eigen/src/Core/products/TriangularSolverMatrix_BLAS.h +167 -0
  190. data/vendor/Eigen/src/Core/products/TriangularSolverVector.h +148 -0
  191. data/vendor/Eigen/src/Core/util/BlasUtil.h +583 -0
  192. data/vendor/Eigen/src/Core/util/ConfigureVectorization.h +512 -0
  193. data/vendor/Eigen/src/Core/util/Constants.h +563 -0
  194. data/vendor/Eigen/src/Core/util/DisableStupidWarnings.h +106 -0
  195. data/vendor/Eigen/src/Core/util/ForwardDeclarations.h +322 -0
  196. data/vendor/Eigen/src/Core/util/IndexedViewHelper.h +186 -0
  197. data/vendor/Eigen/src/Core/util/IntegralConstant.h +272 -0
  198. data/vendor/Eigen/src/Core/util/MKL_support.h +137 -0
  199. data/vendor/Eigen/src/Core/util/Macros.h +1464 -0
  200. data/vendor/Eigen/src/Core/util/Memory.h +1163 -0
  201. data/vendor/Eigen/src/Core/util/Meta.h +812 -0
  202. data/vendor/Eigen/src/Core/util/NonMPL2.h +3 -0
  203. data/vendor/Eigen/src/Core/util/ReenableStupidWarnings.h +31 -0
  204. data/vendor/Eigen/src/Core/util/ReshapedHelper.h +51 -0
  205. data/vendor/Eigen/src/Core/util/StaticAssert.h +221 -0
  206. data/vendor/Eigen/src/Core/util/SymbolicIndex.h +293 -0
  207. data/vendor/Eigen/src/Core/util/XprHelper.h +856 -0
  208. data/vendor/Eigen/src/Eigenvalues/ComplexEigenSolver.h +346 -0
  209. data/vendor/Eigen/src/Eigenvalues/ComplexSchur.h +462 -0
  210. data/vendor/Eigen/src/Eigenvalues/ComplexSchur_LAPACKE.h +91 -0
  211. data/vendor/Eigen/src/Eigenvalues/EigenSolver.h +622 -0
  212. data/vendor/Eigen/src/Eigenvalues/GeneralizedEigenSolver.h +418 -0
  213. data/vendor/Eigen/src/Eigenvalues/GeneralizedSelfAdjointEigenSolver.h +226 -0
  214. data/vendor/Eigen/src/Eigenvalues/HessenbergDecomposition.h +374 -0
  215. data/vendor/Eigen/src/Eigenvalues/MatrixBaseEigenvalues.h +158 -0
  216. data/vendor/Eigen/src/Eigenvalues/RealQZ.h +657 -0
  217. data/vendor/Eigen/src/Eigenvalues/RealSchur.h +558 -0
  218. data/vendor/Eigen/src/Eigenvalues/RealSchur_LAPACKE.h +77 -0
  219. data/vendor/Eigen/src/Eigenvalues/SelfAdjointEigenSolver.h +904 -0
  220. data/vendor/Eigen/src/Eigenvalues/SelfAdjointEigenSolver_LAPACKE.h +87 -0
  221. data/vendor/Eigen/src/Eigenvalues/Tridiagonalization.h +561 -0
  222. data/vendor/Eigen/src/Geometry/AlignedBox.h +486 -0
  223. data/vendor/Eigen/src/Geometry/AngleAxis.h +247 -0
  224. data/vendor/Eigen/src/Geometry/EulerAngles.h +114 -0
  225. data/vendor/Eigen/src/Geometry/Homogeneous.h +501 -0
  226. data/vendor/Eigen/src/Geometry/Hyperplane.h +282 -0
  227. data/vendor/Eigen/src/Geometry/OrthoMethods.h +235 -0
  228. data/vendor/Eigen/src/Geometry/ParametrizedLine.h +232 -0
  229. data/vendor/Eigen/src/Geometry/Quaternion.h +870 -0
  230. data/vendor/Eigen/src/Geometry/Rotation2D.h +199 -0
  231. data/vendor/Eigen/src/Geometry/RotationBase.h +206 -0
  232. data/vendor/Eigen/src/Geometry/Scaling.h +188 -0
  233. data/vendor/Eigen/src/Geometry/Transform.h +1563 -0
  234. data/vendor/Eigen/src/Geometry/Translation.h +202 -0
  235. data/vendor/Eigen/src/Geometry/Umeyama.h +166 -0
  236. data/vendor/Eigen/src/Geometry/arch/Geometry_SIMD.h +168 -0
  237. data/vendor/Eigen/src/Householder/BlockHouseholder.h +110 -0
  238. data/vendor/Eigen/src/Householder/Householder.h +176 -0
  239. data/vendor/Eigen/src/Householder/HouseholderSequence.h +545 -0
  240. data/vendor/Eigen/src/IterativeLinearSolvers/BasicPreconditioners.h +226 -0
  241. data/vendor/Eigen/src/IterativeLinearSolvers/BiCGSTAB.h +212 -0
  242. data/vendor/Eigen/src/IterativeLinearSolvers/ConjugateGradient.h +229 -0
  243. data/vendor/Eigen/src/IterativeLinearSolvers/IncompleteCholesky.h +394 -0
  244. data/vendor/Eigen/src/IterativeLinearSolvers/IncompleteLUT.h +453 -0
  245. data/vendor/Eigen/src/IterativeLinearSolvers/IterativeSolverBase.h +444 -0
  246. data/vendor/Eigen/src/IterativeLinearSolvers/LeastSquareConjugateGradient.h +198 -0
  247. data/vendor/Eigen/src/IterativeLinearSolvers/SolveWithGuess.h +117 -0
  248. data/vendor/Eigen/src/Jacobi/Jacobi.h +483 -0
  249. data/vendor/Eigen/src/KLUSupport/KLUSupport.h +358 -0
  250. data/vendor/Eigen/src/LU/Determinant.h +117 -0
  251. data/vendor/Eigen/src/LU/FullPivLU.h +877 -0
  252. data/vendor/Eigen/src/LU/InverseImpl.h +432 -0
  253. data/vendor/Eigen/src/LU/PartialPivLU.h +624 -0
  254. data/vendor/Eigen/src/LU/PartialPivLU_LAPACKE.h +83 -0
  255. data/vendor/Eigen/src/LU/arch/InverseSize4.h +351 -0
  256. data/vendor/Eigen/src/MetisSupport/MetisSupport.h +137 -0
  257. data/vendor/Eigen/src/OrderingMethods/Amd.h +435 -0
  258. data/vendor/Eigen/src/OrderingMethods/Eigen_Colamd.h +1863 -0
  259. data/vendor/Eigen/src/OrderingMethods/Ordering.h +153 -0
  260. data/vendor/Eigen/src/PaStiXSupport/PaStiXSupport.h +678 -0
  261. data/vendor/Eigen/src/PardisoSupport/PardisoSupport.h +545 -0
  262. data/vendor/Eigen/src/QR/ColPivHouseholderQR.h +674 -0
  263. data/vendor/Eigen/src/QR/ColPivHouseholderQR_LAPACKE.h +97 -0
  264. data/vendor/Eigen/src/QR/CompleteOrthogonalDecomposition.h +635 -0
  265. data/vendor/Eigen/src/QR/FullPivHouseholderQR.h +713 -0
  266. data/vendor/Eigen/src/QR/HouseholderQR.h +434 -0
  267. data/vendor/Eigen/src/QR/HouseholderQR_LAPACKE.h +68 -0
  268. data/vendor/Eigen/src/SPQRSupport/SuiteSparseQRSupport.h +335 -0
  269. data/vendor/Eigen/src/SVD/BDCSVD.h +1366 -0
  270. data/vendor/Eigen/src/SVD/JacobiSVD.h +812 -0
  271. data/vendor/Eigen/src/SVD/JacobiSVD_LAPACKE.h +91 -0
  272. data/vendor/Eigen/src/SVD/SVDBase.h +376 -0
  273. data/vendor/Eigen/src/SVD/UpperBidiagonalization.h +414 -0
  274. data/vendor/Eigen/src/SparseCholesky/SimplicialCholesky.h +697 -0
  275. data/vendor/Eigen/src/SparseCholesky/SimplicialCholesky_impl.h +174 -0
  276. data/vendor/Eigen/src/SparseCore/AmbiVector.h +378 -0
  277. data/vendor/Eigen/src/SparseCore/CompressedStorage.h +274 -0
  278. data/vendor/Eigen/src/SparseCore/ConservativeSparseSparseProduct.h +352 -0
  279. data/vendor/Eigen/src/SparseCore/MappedSparseMatrix.h +67 -0
  280. data/vendor/Eigen/src/SparseCore/SparseAssign.h +270 -0
  281. data/vendor/Eigen/src/SparseCore/SparseBlock.h +571 -0
  282. data/vendor/Eigen/src/SparseCore/SparseColEtree.h +206 -0
  283. data/vendor/Eigen/src/SparseCore/SparseCompressedBase.h +370 -0
  284. data/vendor/Eigen/src/SparseCore/SparseCwiseBinaryOp.h +722 -0
  285. data/vendor/Eigen/src/SparseCore/SparseCwiseUnaryOp.h +150 -0
  286. data/vendor/Eigen/src/SparseCore/SparseDenseProduct.h +342 -0
  287. data/vendor/Eigen/src/SparseCore/SparseDiagonalProduct.h +138 -0
  288. data/vendor/Eigen/src/SparseCore/SparseDot.h +98 -0
  289. data/vendor/Eigen/src/SparseCore/SparseFuzzy.h +29 -0
  290. data/vendor/Eigen/src/SparseCore/SparseMap.h +305 -0
  291. data/vendor/Eigen/src/SparseCore/SparseMatrix.h +1518 -0
  292. data/vendor/Eigen/src/SparseCore/SparseMatrixBase.h +398 -0
  293. data/vendor/Eigen/src/SparseCore/SparsePermutation.h +178 -0
  294. data/vendor/Eigen/src/SparseCore/SparseProduct.h +181 -0
  295. data/vendor/Eigen/src/SparseCore/SparseRedux.h +49 -0
  296. data/vendor/Eigen/src/SparseCore/SparseRef.h +397 -0
  297. data/vendor/Eigen/src/SparseCore/SparseSelfAdjointView.h +659 -0
  298. data/vendor/Eigen/src/SparseCore/SparseSolverBase.h +124 -0
  299. data/vendor/Eigen/src/SparseCore/SparseSparseProductWithPruning.h +198 -0
  300. data/vendor/Eigen/src/SparseCore/SparseTranspose.h +92 -0
  301. data/vendor/Eigen/src/SparseCore/SparseTriangularView.h +189 -0
  302. data/vendor/Eigen/src/SparseCore/SparseUtil.h +186 -0
  303. data/vendor/Eigen/src/SparseCore/SparseVector.h +478 -0
  304. data/vendor/Eigen/src/SparseCore/SparseView.h +254 -0
  305. data/vendor/Eigen/src/SparseCore/TriangularSolver.h +315 -0
  306. data/vendor/Eigen/src/SparseLU/SparseLU.h +923 -0
  307. data/vendor/Eigen/src/SparseLU/SparseLUImpl.h +66 -0
  308. data/vendor/Eigen/src/SparseLU/SparseLU_Memory.h +226 -0
  309. data/vendor/Eigen/src/SparseLU/SparseLU_Structs.h +110 -0
  310. data/vendor/Eigen/src/SparseLU/SparseLU_SupernodalMatrix.h +375 -0
  311. data/vendor/Eigen/src/SparseLU/SparseLU_Utils.h +80 -0
  312. data/vendor/Eigen/src/SparseLU/SparseLU_column_bmod.h +181 -0
  313. data/vendor/Eigen/src/SparseLU/SparseLU_column_dfs.h +179 -0
  314. data/vendor/Eigen/src/SparseLU/SparseLU_copy_to_ucol.h +107 -0
  315. data/vendor/Eigen/src/SparseLU/SparseLU_gemm_kernel.h +280 -0
  316. data/vendor/Eigen/src/SparseLU/SparseLU_heap_relax_snode.h +126 -0
  317. data/vendor/Eigen/src/SparseLU/SparseLU_kernel_bmod.h +130 -0
  318. data/vendor/Eigen/src/SparseLU/SparseLU_panel_bmod.h +223 -0
  319. data/vendor/Eigen/src/SparseLU/SparseLU_panel_dfs.h +258 -0
  320. data/vendor/Eigen/src/SparseLU/SparseLU_pivotL.h +137 -0
  321. data/vendor/Eigen/src/SparseLU/SparseLU_pruneL.h +136 -0
  322. data/vendor/Eigen/src/SparseLU/SparseLU_relax_snode.h +83 -0
  323. data/vendor/Eigen/src/SparseQR/SparseQR.h +758 -0
  324. data/vendor/Eigen/src/StlSupport/StdDeque.h +116 -0
  325. data/vendor/Eigen/src/StlSupport/StdList.h +106 -0
  326. data/vendor/Eigen/src/StlSupport/StdVector.h +131 -0
  327. data/vendor/Eigen/src/StlSupport/details.h +84 -0
  328. data/vendor/Eigen/src/SuperLUSupport/SuperLUSupport.h +1025 -0
  329. data/vendor/Eigen/src/UmfPackSupport/UmfPackSupport.h +642 -0
  330. data/vendor/Eigen/src/misc/Image.h +82 -0
  331. data/vendor/Eigen/src/misc/Kernel.h +79 -0
  332. data/vendor/Eigen/src/misc/RealSvd2x2.h +55 -0
  333. data/vendor/Eigen/src/misc/blas.h +440 -0
  334. data/vendor/Eigen/src/misc/lapack.h +152 -0
  335. data/vendor/Eigen/src/misc/lapacke.h +16292 -0
  336. data/vendor/Eigen/src/misc/lapacke_mangling.h +17 -0
  337. data/vendor/Eigen/src/plugins/ArrayCwiseBinaryOps.h +358 -0
  338. data/vendor/Eigen/src/plugins/ArrayCwiseUnaryOps.h +696 -0
  339. data/vendor/Eigen/src/plugins/BlockMethods.h +1442 -0
  340. data/vendor/Eigen/src/plugins/CommonCwiseBinaryOps.h +115 -0
  341. data/vendor/Eigen/src/plugins/CommonCwiseUnaryOps.h +177 -0
  342. data/vendor/Eigen/src/plugins/IndexedViewMethods.h +262 -0
  343. data/vendor/Eigen/src/plugins/MatrixCwiseBinaryOps.h +152 -0
  344. data/vendor/Eigen/src/plugins/MatrixCwiseUnaryOps.h +95 -0
  345. data/vendor/Eigen/src/plugins/ReshapedMethods.h +149 -0
  346. data/vendor/aarand/aarand.hpp +114 -0
  347. data/vendor/annoy/annoylib.h +1495 -0
  348. data/vendor/annoy/kissrandom.h +120 -0
  349. data/vendor/annoy/mman.h +242 -0
  350. data/vendor/hnswlib/bruteforce.h +152 -0
  351. data/vendor/hnswlib/hnswalg.h +1192 -0
  352. data/vendor/hnswlib/hnswlib.h +108 -0
  353. data/vendor/hnswlib/space_ip.h +282 -0
  354. data/vendor/hnswlib/space_l2.h +281 -0
  355. data/vendor/hnswlib/visited_list_pool.h +79 -0
  356. data/vendor/irlba/irlba.hpp +575 -0
  357. data/vendor/irlba/lanczos.hpp +212 -0
  358. data/vendor/irlba/parallel.hpp +474 -0
  359. data/vendor/irlba/utils.hpp +224 -0
  360. data/vendor/irlba/wrappers.hpp +228 -0
  361. data/vendor/kmeans/Base.hpp +75 -0
  362. data/vendor/kmeans/Details.hpp +79 -0
  363. data/vendor/kmeans/HartiganWong.hpp +492 -0
  364. data/vendor/kmeans/InitializeKmeansPP.hpp +144 -0
  365. data/vendor/kmeans/InitializeNone.hpp +44 -0
  366. data/vendor/kmeans/InitializePCAPartition.hpp +309 -0
  367. data/vendor/kmeans/InitializeRandom.hpp +91 -0
  368. data/vendor/kmeans/Kmeans.hpp +161 -0
  369. data/vendor/kmeans/Lloyd.hpp +134 -0
  370. data/vendor/kmeans/MiniBatch.hpp +269 -0
  371. data/vendor/kmeans/QuickSearch.hpp +179 -0
  372. data/vendor/kmeans/compute_centroids.hpp +32 -0
  373. data/vendor/kmeans/compute_wcss.hpp +27 -0
  374. data/vendor/kmeans/is_edge_case.hpp +42 -0
  375. data/vendor/kmeans/random.hpp +55 -0
  376. data/vendor/knncolle/Annoy/Annoy.hpp +193 -0
  377. data/vendor/knncolle/BruteForce/BruteForce.hpp +120 -0
  378. data/vendor/knncolle/Hnsw/Hnsw.hpp +225 -0
  379. data/vendor/knncolle/Kmknn/Kmknn.hpp +286 -0
  380. data/vendor/knncolle/VpTree/VpTree.hpp +256 -0
  381. data/vendor/knncolle/knncolle.hpp +34 -0
  382. data/vendor/knncolle/utils/Base.hpp +100 -0
  383. data/vendor/knncolle/utils/NeighborQueue.hpp +94 -0
  384. data/vendor/knncolle/utils/distances.hpp +98 -0
  385. data/vendor/knncolle/utils/find_nearest_neighbors.hpp +112 -0
  386. data/vendor/powerit/PowerIterations.hpp +157 -0
  387. data/vendor/umappp/NeighborList.hpp +37 -0
  388. data/vendor/umappp/Umap.hpp +662 -0
  389. data/vendor/umappp/combine_neighbor_sets.hpp +95 -0
  390. data/vendor/umappp/find_ab.hpp +157 -0
  391. data/vendor/umappp/neighbor_similarities.hpp +136 -0
  392. data/vendor/umappp/optimize_layout.hpp +285 -0
  393. data/vendor/umappp/spectral_init.hpp +181 -0
  394. data/vendor/umappp/umappp.hpp +13 -0
  395. metadata +465 -0
@@ -0,0 +1,181 @@
1
+ #ifndef UMAPPP_SPECTRAL_INIT_HPP
2
+ #define UMAPPP_SPECTRAL_INIT_HPP
3
+
4
+ #ifndef IRLBA_CUSTOM_PARALLEL
5
+ #ifdef UMAPPP_CUSTOM_PARALLEL
6
+ namespace umappp {
7
+
8
+ template<class Function>
9
+ void irlba_parallelize_(int nthreads, Function fun) {
10
+ UMAPPP_CUSTOM_PARALLEL(nthreads, [&](size_t f, size_t l) -> void {
11
+ // This loop should be trivial if f + 1== l when nthreads == njobs.
12
+ // Nonetheless, we still have a loop just in case the arbitrary
13
+ // scheduling does wacky things.
14
+ for (size_t i = f; i < l; ++i) {
15
+ fun(f);
16
+ }
17
+ }, nthreads);
18
+ }
19
+
20
+ }
21
+ #define IRLBA_CUSTOM_PARALLEL umappp::irlba_parallelize_
22
+ #endif
23
+ #endif
24
+
25
+ #include "irlba/irlba.hpp"
26
+ #include "irlba/parallel.hpp"
27
+
28
+ #include <vector>
29
+ #include <random>
30
+ #include <algorithm>
31
+
32
+ #include "NeighborList.hpp"
33
+ #include "aarand/aarand.hpp"
34
+
35
+ namespace umappp {
36
+
37
+ /* Peeled from the function of the same name in the uwot package,
38
+ * see https://github.com/jlmelville/uwot/blob/master/R/init.R for details.
39
+ */
40
+ template<typename Float>
41
+ bool normalized_laplacian(const NeighborList<Float>& edges, int ndim, Float* Y, int nthreads) {
42
+ size_t nobs = edges.size();
43
+ std::vector<double> sums(nobs);
44
+ std::vector<size_t> pointers;
45
+ pointers.reserve(nobs + 1);
46
+ pointers.push_back(0);
47
+ size_t reservable = 0;
48
+
49
+ for (size_t c = 0; c < nobs; ++c) {
50
+ const auto& current = edges[c];
51
+
52
+ // +1 for self, assuming that no entry of 'current' is equal to 'c'.
53
+ reservable += current.size() + 1;
54
+ pointers.push_back(reservable);
55
+
56
+ double& sum = sums[c];
57
+ for (const auto& f : current) {
58
+ sum += f.second;
59
+ }
60
+ sum = std::sqrt(sum);
61
+ }
62
+
63
+ // Creating a normalized sparse matrix. Everything before TRANSFORM is the
64
+ // actual normalized laplacian, everything after TRANSFORM is what we did
65
+ // to the laplacian to make it possible to get the smallest eigenvectors.
66
+ std::vector<double> values;
67
+ values.reserve(reservable);
68
+ std::vector<int> indices;
69
+ indices.reserve(reservable);
70
+
71
+ for (size_t c = 0; c < nobs; ++c) {
72
+ const auto& current = edges[c];
73
+ auto cIt = current.begin(), last = current.end();
74
+
75
+ for (; cIt != last && cIt->first < c; ++cIt) {
76
+ indices.push_back(cIt->first);
77
+ values.push_back(- cIt->second / sums[cIt->first] / sums[c] /* TRANSFORM */ * (-1) );
78
+ }
79
+
80
+ // Adding unity at the diagonal.
81
+ indices.push_back(c);
82
+ values.push_back(1 /* TRANSFORM */ * (-1) + 2);
83
+
84
+ for (; cIt != current.end(); ++cIt) {
85
+ indices.push_back(cIt->first);
86
+ values.push_back(- cIt->second / sums[cIt->first] / sums[c] /* TRANSFORM */ * (-1) );
87
+ }
88
+ }
89
+
90
+ /* Okay, here's the explanation for the TRANSFORM transformations.
91
+ *
92
+ * We want to find the eigenvectors corresponding to the 'ndim' smallest
93
+ * positive eigenvalues, as these define a nice initial partition of the
94
+ * observations (i.e., weak-to-no edges = small eigenvalues). Unfortunately,
95
+ * the best algorithms are designed to find the largest eigenvalues/vectors.
96
+ *
97
+ * So, we observe that the normalized laplacian is positive semi-definite
98
+ * where the smallest eigenvalue is zero and the largest _possible_
99
+ * eigenvalue is 2. Thus, we shift the matrix (i.e., '2 * I - L') and then
100
+ * find the largest 'ndim + 1' eigenvalues from the shifted matrix. These
101
+ * correspond to the smallest 'ndim + 1' eigenvalues from the original
102
+ * matrix. This is obvious when we realize that the eigenvectors of A are
103
+ * the same as the eigenvectors of (xI - A), but the order of eigenvalues
104
+ * is reversed because of the negation.
105
+ *
106
+ * Initially motivated by comments at yixuan/spectra#126 but I misread the
107
+ * equations so this approach (while correct) is not what is described in
108
+ * those links. Also thanks to jlmelville for the max eigenvalue hint,
109
+ * see LTLA/umappp#4 for the discussion.
110
+ */
111
+
112
+ irlba::ParallelSparseMatrix<> mat(nobs, nobs, std::move(values), std::move(indices), std::move(pointers), nthreads);
113
+ irlba::EigenThreadScope tscope(nthreads);
114
+
115
+ irlba::Irlba runner;
116
+ auto actual = runner.set_number(ndim + 1).run(mat);
117
+ auto ev = actual.U.rightCols(ndim);
118
+
119
+ // Getting the maximum value; this is assumed to be non-zero,
120
+ // otherwise this entire thing is futile.
121
+ const double max_val = std::max(std::abs(ev.minCoeff()), std::abs(ev.maxCoeff()));
122
+ const double expansion = (max_val > 0 ? 10 / max_val : 1);
123
+
124
+ for (size_t c = 0; c < nobs; ++c) {
125
+ size_t offset = c * ndim;
126
+ for (int d = 0; d < ndim; ++d) {
127
+ Y[offset + d] = ev(c, d) * expansion; // TODO: put back the jitter step.
128
+ }
129
+ }
130
+ return true;
131
+ }
132
+
133
+ template<typename Float>
134
+ bool has_multiple_components(const NeighborList<Float>& edges) {
135
+ if (!edges.size()) {
136
+ return false;
137
+ }
138
+
139
+ size_t in_component = 1;
140
+ std::vector<int> remaining(1, 0);
141
+ std::vector<int> mapping(edges.size(), -1);
142
+ mapping[0] = 0;
143
+
144
+ do {
145
+ int curfriend = remaining.back();
146
+ remaining.pop_back();
147
+
148
+ for (const auto& ff : edges[curfriend]) {
149
+ if (mapping[ff.first] == -1) {
150
+ remaining.push_back(ff.first);
151
+ mapping[ff.first] = 0;
152
+ ++in_component;
153
+ }
154
+ }
155
+ } while (remaining.size());
156
+
157
+ return in_component != edges.size();
158
+ }
159
+
160
+ template<typename Float>
161
+ bool spectral_init(const NeighborList<Float>& edges, int ndim, Float* vals, int nthreads) {
162
+ if (!has_multiple_components(edges)) {
163
+ if (normalized_laplacian(edges, ndim, vals, nthreads)) {
164
+ return true;
165
+ }
166
+ }
167
+ return false;
168
+ }
169
+
170
+ template<typename Float>
171
+ void random_init(size_t nobs, int ndim, Float * vals) {
172
+ std::mt19937_64 rng(nobs * ndim); // for a bit of deterministic variety.
173
+ for (size_t i = 0; i < nobs * ndim; ++i) {
174
+ vals[i] = aarand::standard_uniform<Float>(rng) * static_cast<Float>(20) - static_cast<Float>(10); // values from (-10, 10).
175
+ }
176
+ return;
177
+ }
178
+
179
+ }
180
+
181
+ #endif
@@ -0,0 +1,13 @@
1
+ #ifndef UMAPPP_UMAPPP_HPP
2
+ #define UMAPPP_UMAPPP_HPP
3
+
4
+ /**
5
+ * @file umappp.hpp
6
+ *
7
+ * @brief Overall header for the **umappp** library.
8
+ * This allows for a reasonably intuitive `#include "umappp/umappp.hpp"` call to include the library.
9
+ */
10
+
11
+ #include "Umap.hpp"
12
+
13
+ #endif
metadata ADDED
@@ -0,0 +1,465 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: umappp
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.2
5
+ platform: ruby
6
+ authors:
7
+ - kojix2
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2022-10-10 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: numo-narray
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: '0'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: '0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: rice
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '4.0'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '4.0'
41
+ description: Umappp wrapper for Ruby
42
+ email:
43
+ - 2xijok@gmail.com
44
+ executables: []
45
+ extensions:
46
+ - ext/umappp/extconf.rb
47
+ extra_rdoc_files: []
48
+ files:
49
+ - LICENSE.txt
50
+ - README.md
51
+ - ext/umappp/extconf.rb
52
+ - ext/umappp/numo.hpp
53
+ - ext/umappp/umappp.cpp
54
+ - lib/umappp.rb
55
+ - lib/umappp/version.rb
56
+ - vendor/Eigen/Cholesky
57
+ - vendor/Eigen/CholmodSupport
58
+ - vendor/Eigen/Core
59
+ - vendor/Eigen/Dense
60
+ - vendor/Eigen/Eigen
61
+ - vendor/Eigen/Eigenvalues
62
+ - vendor/Eigen/Geometry
63
+ - vendor/Eigen/Householder
64
+ - vendor/Eigen/IterativeLinearSolvers
65
+ - vendor/Eigen/Jacobi
66
+ - vendor/Eigen/KLUSupport
67
+ - vendor/Eigen/LU
68
+ - vendor/Eigen/MetisSupport
69
+ - vendor/Eigen/OrderingMethods
70
+ - vendor/Eigen/PaStiXSupport
71
+ - vendor/Eigen/PardisoSupport
72
+ - vendor/Eigen/QR
73
+ - vendor/Eigen/QtAlignedMalloc
74
+ - vendor/Eigen/SPQRSupport
75
+ - vendor/Eigen/SVD
76
+ - vendor/Eigen/Sparse
77
+ - vendor/Eigen/SparseCholesky
78
+ - vendor/Eigen/SparseCore
79
+ - vendor/Eigen/SparseLU
80
+ - vendor/Eigen/SparseQR
81
+ - vendor/Eigen/StdDeque
82
+ - vendor/Eigen/StdList
83
+ - vendor/Eigen/StdVector
84
+ - vendor/Eigen/SuperLUSupport
85
+ - vendor/Eigen/UmfPackSupport
86
+ - vendor/Eigen/src/Cholesky/LDLT.h
87
+ - vendor/Eigen/src/Cholesky/LLT.h
88
+ - vendor/Eigen/src/Cholesky/LLT_LAPACKE.h
89
+ - vendor/Eigen/src/CholmodSupport/CholmodSupport.h
90
+ - vendor/Eigen/src/Core/ArithmeticSequence.h
91
+ - vendor/Eigen/src/Core/Array.h
92
+ - vendor/Eigen/src/Core/ArrayBase.h
93
+ - vendor/Eigen/src/Core/ArrayWrapper.h
94
+ - vendor/Eigen/src/Core/Assign.h
95
+ - vendor/Eigen/src/Core/AssignEvaluator.h
96
+ - vendor/Eigen/src/Core/Assign_MKL.h
97
+ - vendor/Eigen/src/Core/BandMatrix.h
98
+ - vendor/Eigen/src/Core/Block.h
99
+ - vendor/Eigen/src/Core/BooleanRedux.h
100
+ - vendor/Eigen/src/Core/CommaInitializer.h
101
+ - vendor/Eigen/src/Core/ConditionEstimator.h
102
+ - vendor/Eigen/src/Core/CoreEvaluators.h
103
+ - vendor/Eigen/src/Core/CoreIterators.h
104
+ - vendor/Eigen/src/Core/CwiseBinaryOp.h
105
+ - vendor/Eigen/src/Core/CwiseNullaryOp.h
106
+ - vendor/Eigen/src/Core/CwiseTernaryOp.h
107
+ - vendor/Eigen/src/Core/CwiseUnaryOp.h
108
+ - vendor/Eigen/src/Core/CwiseUnaryView.h
109
+ - vendor/Eigen/src/Core/DenseBase.h
110
+ - vendor/Eigen/src/Core/DenseCoeffsBase.h
111
+ - vendor/Eigen/src/Core/DenseStorage.h
112
+ - vendor/Eigen/src/Core/Diagonal.h
113
+ - vendor/Eigen/src/Core/DiagonalMatrix.h
114
+ - vendor/Eigen/src/Core/DiagonalProduct.h
115
+ - vendor/Eigen/src/Core/Dot.h
116
+ - vendor/Eigen/src/Core/EigenBase.h
117
+ - vendor/Eigen/src/Core/ForceAlignedAccess.h
118
+ - vendor/Eigen/src/Core/Fuzzy.h
119
+ - vendor/Eigen/src/Core/GeneralProduct.h
120
+ - vendor/Eigen/src/Core/GenericPacketMath.h
121
+ - vendor/Eigen/src/Core/GlobalFunctions.h
122
+ - vendor/Eigen/src/Core/IO.h
123
+ - vendor/Eigen/src/Core/IndexedView.h
124
+ - vendor/Eigen/src/Core/Inverse.h
125
+ - vendor/Eigen/src/Core/Map.h
126
+ - vendor/Eigen/src/Core/MapBase.h
127
+ - vendor/Eigen/src/Core/MathFunctions.h
128
+ - vendor/Eigen/src/Core/MathFunctionsImpl.h
129
+ - vendor/Eigen/src/Core/Matrix.h
130
+ - vendor/Eigen/src/Core/MatrixBase.h
131
+ - vendor/Eigen/src/Core/NestByValue.h
132
+ - vendor/Eigen/src/Core/NoAlias.h
133
+ - vendor/Eigen/src/Core/NumTraits.h
134
+ - vendor/Eigen/src/Core/PartialReduxEvaluator.h
135
+ - vendor/Eigen/src/Core/PermutationMatrix.h
136
+ - vendor/Eigen/src/Core/PlainObjectBase.h
137
+ - vendor/Eigen/src/Core/Product.h
138
+ - vendor/Eigen/src/Core/ProductEvaluators.h
139
+ - vendor/Eigen/src/Core/Random.h
140
+ - vendor/Eigen/src/Core/Redux.h
141
+ - vendor/Eigen/src/Core/Ref.h
142
+ - vendor/Eigen/src/Core/Replicate.h
143
+ - vendor/Eigen/src/Core/Reshaped.h
144
+ - vendor/Eigen/src/Core/ReturnByValue.h
145
+ - vendor/Eigen/src/Core/Reverse.h
146
+ - vendor/Eigen/src/Core/Select.h
147
+ - vendor/Eigen/src/Core/SelfAdjointView.h
148
+ - vendor/Eigen/src/Core/SelfCwiseBinaryOp.h
149
+ - vendor/Eigen/src/Core/Solve.h
150
+ - vendor/Eigen/src/Core/SolveTriangular.h
151
+ - vendor/Eigen/src/Core/SolverBase.h
152
+ - vendor/Eigen/src/Core/StableNorm.h
153
+ - vendor/Eigen/src/Core/StlIterators.h
154
+ - vendor/Eigen/src/Core/Stride.h
155
+ - vendor/Eigen/src/Core/Swap.h
156
+ - vendor/Eigen/src/Core/Transpose.h
157
+ - vendor/Eigen/src/Core/Transpositions.h
158
+ - vendor/Eigen/src/Core/TriangularMatrix.h
159
+ - vendor/Eigen/src/Core/VectorBlock.h
160
+ - vendor/Eigen/src/Core/VectorwiseOp.h
161
+ - vendor/Eigen/src/Core/Visitor.h
162
+ - vendor/Eigen/src/Core/arch/AVX/Complex.h
163
+ - vendor/Eigen/src/Core/arch/AVX/MathFunctions.h
164
+ - vendor/Eigen/src/Core/arch/AVX/PacketMath.h
165
+ - vendor/Eigen/src/Core/arch/AVX/TypeCasting.h
166
+ - vendor/Eigen/src/Core/arch/AVX512/Complex.h
167
+ - vendor/Eigen/src/Core/arch/AVX512/MathFunctions.h
168
+ - vendor/Eigen/src/Core/arch/AVX512/PacketMath.h
169
+ - vendor/Eigen/src/Core/arch/AVX512/TypeCasting.h
170
+ - vendor/Eigen/src/Core/arch/AltiVec/Complex.h
171
+ - vendor/Eigen/src/Core/arch/AltiVec/MathFunctions.h
172
+ - vendor/Eigen/src/Core/arch/AltiVec/MatrixProduct.h
173
+ - vendor/Eigen/src/Core/arch/AltiVec/MatrixProductCommon.h
174
+ - vendor/Eigen/src/Core/arch/AltiVec/MatrixProductMMA.h
175
+ - vendor/Eigen/src/Core/arch/AltiVec/PacketMath.h
176
+ - vendor/Eigen/src/Core/arch/CUDA/Complex.h
177
+ - vendor/Eigen/src/Core/arch/Default/BFloat16.h
178
+ - vendor/Eigen/src/Core/arch/Default/ConjHelper.h
179
+ - vendor/Eigen/src/Core/arch/Default/GenericPacketMathFunctions.h
180
+ - vendor/Eigen/src/Core/arch/Default/GenericPacketMathFunctionsFwd.h
181
+ - vendor/Eigen/src/Core/arch/Default/Half.h
182
+ - vendor/Eigen/src/Core/arch/Default/Settings.h
183
+ - vendor/Eigen/src/Core/arch/Default/TypeCasting.h
184
+ - vendor/Eigen/src/Core/arch/GPU/MathFunctions.h
185
+ - vendor/Eigen/src/Core/arch/GPU/PacketMath.h
186
+ - vendor/Eigen/src/Core/arch/GPU/TypeCasting.h
187
+ - vendor/Eigen/src/Core/arch/HIP/hcc/math_constants.h
188
+ - vendor/Eigen/src/Core/arch/MSA/Complex.h
189
+ - vendor/Eigen/src/Core/arch/MSA/MathFunctions.h
190
+ - vendor/Eigen/src/Core/arch/MSA/PacketMath.h
191
+ - vendor/Eigen/src/Core/arch/NEON/Complex.h
192
+ - vendor/Eigen/src/Core/arch/NEON/GeneralBlockPanelKernel.h
193
+ - vendor/Eigen/src/Core/arch/NEON/MathFunctions.h
194
+ - vendor/Eigen/src/Core/arch/NEON/PacketMath.h
195
+ - vendor/Eigen/src/Core/arch/NEON/TypeCasting.h
196
+ - vendor/Eigen/src/Core/arch/SSE/Complex.h
197
+ - vendor/Eigen/src/Core/arch/SSE/MathFunctions.h
198
+ - vendor/Eigen/src/Core/arch/SSE/PacketMath.h
199
+ - vendor/Eigen/src/Core/arch/SSE/TypeCasting.h
200
+ - vendor/Eigen/src/Core/arch/SVE/MathFunctions.h
201
+ - vendor/Eigen/src/Core/arch/SVE/PacketMath.h
202
+ - vendor/Eigen/src/Core/arch/SVE/TypeCasting.h
203
+ - vendor/Eigen/src/Core/arch/SYCL/InteropHeaders.h
204
+ - vendor/Eigen/src/Core/arch/SYCL/MathFunctions.h
205
+ - vendor/Eigen/src/Core/arch/SYCL/PacketMath.h
206
+ - vendor/Eigen/src/Core/arch/SYCL/SyclMemoryModel.h
207
+ - vendor/Eigen/src/Core/arch/SYCL/TypeCasting.h
208
+ - vendor/Eigen/src/Core/arch/ZVector/Complex.h
209
+ - vendor/Eigen/src/Core/arch/ZVector/MathFunctions.h
210
+ - vendor/Eigen/src/Core/arch/ZVector/PacketMath.h
211
+ - vendor/Eigen/src/Core/functors/AssignmentFunctors.h
212
+ - vendor/Eigen/src/Core/functors/BinaryFunctors.h
213
+ - vendor/Eigen/src/Core/functors/NullaryFunctors.h
214
+ - vendor/Eigen/src/Core/functors/StlFunctors.h
215
+ - vendor/Eigen/src/Core/functors/TernaryFunctors.h
216
+ - vendor/Eigen/src/Core/functors/UnaryFunctors.h
217
+ - vendor/Eigen/src/Core/products/GeneralBlockPanelKernel.h
218
+ - vendor/Eigen/src/Core/products/GeneralMatrixMatrix.h
219
+ - vendor/Eigen/src/Core/products/GeneralMatrixMatrixTriangular.h
220
+ - vendor/Eigen/src/Core/products/GeneralMatrixMatrixTriangular_BLAS.h
221
+ - vendor/Eigen/src/Core/products/GeneralMatrixMatrix_BLAS.h
222
+ - vendor/Eigen/src/Core/products/GeneralMatrixVector.h
223
+ - vendor/Eigen/src/Core/products/GeneralMatrixVector_BLAS.h
224
+ - vendor/Eigen/src/Core/products/Parallelizer.h
225
+ - vendor/Eigen/src/Core/products/SelfadjointMatrixMatrix.h
226
+ - vendor/Eigen/src/Core/products/SelfadjointMatrixMatrix_BLAS.h
227
+ - vendor/Eigen/src/Core/products/SelfadjointMatrixVector.h
228
+ - vendor/Eigen/src/Core/products/SelfadjointMatrixVector_BLAS.h
229
+ - vendor/Eigen/src/Core/products/SelfadjointProduct.h
230
+ - vendor/Eigen/src/Core/products/SelfadjointRank2Update.h
231
+ - vendor/Eigen/src/Core/products/TriangularMatrixMatrix.h
232
+ - vendor/Eigen/src/Core/products/TriangularMatrixMatrix_BLAS.h
233
+ - vendor/Eigen/src/Core/products/TriangularMatrixVector.h
234
+ - vendor/Eigen/src/Core/products/TriangularMatrixVector_BLAS.h
235
+ - vendor/Eigen/src/Core/products/TriangularSolverMatrix.h
236
+ - vendor/Eigen/src/Core/products/TriangularSolverMatrix_BLAS.h
237
+ - vendor/Eigen/src/Core/products/TriangularSolverVector.h
238
+ - vendor/Eigen/src/Core/util/BlasUtil.h
239
+ - vendor/Eigen/src/Core/util/ConfigureVectorization.h
240
+ - vendor/Eigen/src/Core/util/Constants.h
241
+ - vendor/Eigen/src/Core/util/DisableStupidWarnings.h
242
+ - vendor/Eigen/src/Core/util/ForwardDeclarations.h
243
+ - vendor/Eigen/src/Core/util/IndexedViewHelper.h
244
+ - vendor/Eigen/src/Core/util/IntegralConstant.h
245
+ - vendor/Eigen/src/Core/util/MKL_support.h
246
+ - vendor/Eigen/src/Core/util/Macros.h
247
+ - vendor/Eigen/src/Core/util/Memory.h
248
+ - vendor/Eigen/src/Core/util/Meta.h
249
+ - vendor/Eigen/src/Core/util/NonMPL2.h
250
+ - vendor/Eigen/src/Core/util/ReenableStupidWarnings.h
251
+ - vendor/Eigen/src/Core/util/ReshapedHelper.h
252
+ - vendor/Eigen/src/Core/util/StaticAssert.h
253
+ - vendor/Eigen/src/Core/util/SymbolicIndex.h
254
+ - vendor/Eigen/src/Core/util/XprHelper.h
255
+ - vendor/Eigen/src/Eigenvalues/ComplexEigenSolver.h
256
+ - vendor/Eigen/src/Eigenvalues/ComplexSchur.h
257
+ - vendor/Eigen/src/Eigenvalues/ComplexSchur_LAPACKE.h
258
+ - vendor/Eigen/src/Eigenvalues/EigenSolver.h
259
+ - vendor/Eigen/src/Eigenvalues/GeneralizedEigenSolver.h
260
+ - vendor/Eigen/src/Eigenvalues/GeneralizedSelfAdjointEigenSolver.h
261
+ - vendor/Eigen/src/Eigenvalues/HessenbergDecomposition.h
262
+ - vendor/Eigen/src/Eigenvalues/MatrixBaseEigenvalues.h
263
+ - vendor/Eigen/src/Eigenvalues/RealQZ.h
264
+ - vendor/Eigen/src/Eigenvalues/RealSchur.h
265
+ - vendor/Eigen/src/Eigenvalues/RealSchur_LAPACKE.h
266
+ - vendor/Eigen/src/Eigenvalues/SelfAdjointEigenSolver.h
267
+ - vendor/Eigen/src/Eigenvalues/SelfAdjointEigenSolver_LAPACKE.h
268
+ - vendor/Eigen/src/Eigenvalues/Tridiagonalization.h
269
+ - vendor/Eigen/src/Geometry/AlignedBox.h
270
+ - vendor/Eigen/src/Geometry/AngleAxis.h
271
+ - vendor/Eigen/src/Geometry/EulerAngles.h
272
+ - vendor/Eigen/src/Geometry/Homogeneous.h
273
+ - vendor/Eigen/src/Geometry/Hyperplane.h
274
+ - vendor/Eigen/src/Geometry/OrthoMethods.h
275
+ - vendor/Eigen/src/Geometry/ParametrizedLine.h
276
+ - vendor/Eigen/src/Geometry/Quaternion.h
277
+ - vendor/Eigen/src/Geometry/Rotation2D.h
278
+ - vendor/Eigen/src/Geometry/RotationBase.h
279
+ - vendor/Eigen/src/Geometry/Scaling.h
280
+ - vendor/Eigen/src/Geometry/Transform.h
281
+ - vendor/Eigen/src/Geometry/Translation.h
282
+ - vendor/Eigen/src/Geometry/Umeyama.h
283
+ - vendor/Eigen/src/Geometry/arch/Geometry_SIMD.h
284
+ - vendor/Eigen/src/Householder/BlockHouseholder.h
285
+ - vendor/Eigen/src/Householder/Householder.h
286
+ - vendor/Eigen/src/Householder/HouseholderSequence.h
287
+ - vendor/Eigen/src/IterativeLinearSolvers/BasicPreconditioners.h
288
+ - vendor/Eigen/src/IterativeLinearSolvers/BiCGSTAB.h
289
+ - vendor/Eigen/src/IterativeLinearSolvers/ConjugateGradient.h
290
+ - vendor/Eigen/src/IterativeLinearSolvers/IncompleteCholesky.h
291
+ - vendor/Eigen/src/IterativeLinearSolvers/IncompleteLUT.h
292
+ - vendor/Eigen/src/IterativeLinearSolvers/IterativeSolverBase.h
293
+ - vendor/Eigen/src/IterativeLinearSolvers/LeastSquareConjugateGradient.h
294
+ - vendor/Eigen/src/IterativeLinearSolvers/SolveWithGuess.h
295
+ - vendor/Eigen/src/Jacobi/Jacobi.h
296
+ - vendor/Eigen/src/KLUSupport/KLUSupport.h
297
+ - vendor/Eigen/src/LU/Determinant.h
298
+ - vendor/Eigen/src/LU/FullPivLU.h
299
+ - vendor/Eigen/src/LU/InverseImpl.h
300
+ - vendor/Eigen/src/LU/PartialPivLU.h
301
+ - vendor/Eigen/src/LU/PartialPivLU_LAPACKE.h
302
+ - vendor/Eigen/src/LU/arch/InverseSize4.h
303
+ - vendor/Eigen/src/MetisSupport/MetisSupport.h
304
+ - vendor/Eigen/src/OrderingMethods/Amd.h
305
+ - vendor/Eigen/src/OrderingMethods/Eigen_Colamd.h
306
+ - vendor/Eigen/src/OrderingMethods/Ordering.h
307
+ - vendor/Eigen/src/PaStiXSupport/PaStiXSupport.h
308
+ - vendor/Eigen/src/PardisoSupport/PardisoSupport.h
309
+ - vendor/Eigen/src/QR/ColPivHouseholderQR.h
310
+ - vendor/Eigen/src/QR/ColPivHouseholderQR_LAPACKE.h
311
+ - vendor/Eigen/src/QR/CompleteOrthogonalDecomposition.h
312
+ - vendor/Eigen/src/QR/FullPivHouseholderQR.h
313
+ - vendor/Eigen/src/QR/HouseholderQR.h
314
+ - vendor/Eigen/src/QR/HouseholderQR_LAPACKE.h
315
+ - vendor/Eigen/src/SPQRSupport/SuiteSparseQRSupport.h
316
+ - vendor/Eigen/src/SVD/BDCSVD.h
317
+ - vendor/Eigen/src/SVD/JacobiSVD.h
318
+ - vendor/Eigen/src/SVD/JacobiSVD_LAPACKE.h
319
+ - vendor/Eigen/src/SVD/SVDBase.h
320
+ - vendor/Eigen/src/SVD/UpperBidiagonalization.h
321
+ - vendor/Eigen/src/SparseCholesky/SimplicialCholesky.h
322
+ - vendor/Eigen/src/SparseCholesky/SimplicialCholesky_impl.h
323
+ - vendor/Eigen/src/SparseCore/AmbiVector.h
324
+ - vendor/Eigen/src/SparseCore/CompressedStorage.h
325
+ - vendor/Eigen/src/SparseCore/ConservativeSparseSparseProduct.h
326
+ - vendor/Eigen/src/SparseCore/MappedSparseMatrix.h
327
+ - vendor/Eigen/src/SparseCore/SparseAssign.h
328
+ - vendor/Eigen/src/SparseCore/SparseBlock.h
329
+ - vendor/Eigen/src/SparseCore/SparseColEtree.h
330
+ - vendor/Eigen/src/SparseCore/SparseCompressedBase.h
331
+ - vendor/Eigen/src/SparseCore/SparseCwiseBinaryOp.h
332
+ - vendor/Eigen/src/SparseCore/SparseCwiseUnaryOp.h
333
+ - vendor/Eigen/src/SparseCore/SparseDenseProduct.h
334
+ - vendor/Eigen/src/SparseCore/SparseDiagonalProduct.h
335
+ - vendor/Eigen/src/SparseCore/SparseDot.h
336
+ - vendor/Eigen/src/SparseCore/SparseFuzzy.h
337
+ - vendor/Eigen/src/SparseCore/SparseMap.h
338
+ - vendor/Eigen/src/SparseCore/SparseMatrix.h
339
+ - vendor/Eigen/src/SparseCore/SparseMatrixBase.h
340
+ - vendor/Eigen/src/SparseCore/SparsePermutation.h
341
+ - vendor/Eigen/src/SparseCore/SparseProduct.h
342
+ - vendor/Eigen/src/SparseCore/SparseRedux.h
343
+ - vendor/Eigen/src/SparseCore/SparseRef.h
344
+ - vendor/Eigen/src/SparseCore/SparseSelfAdjointView.h
345
+ - vendor/Eigen/src/SparseCore/SparseSolverBase.h
346
+ - vendor/Eigen/src/SparseCore/SparseSparseProductWithPruning.h
347
+ - vendor/Eigen/src/SparseCore/SparseTranspose.h
348
+ - vendor/Eigen/src/SparseCore/SparseTriangularView.h
349
+ - vendor/Eigen/src/SparseCore/SparseUtil.h
350
+ - vendor/Eigen/src/SparseCore/SparseVector.h
351
+ - vendor/Eigen/src/SparseCore/SparseView.h
352
+ - vendor/Eigen/src/SparseCore/TriangularSolver.h
353
+ - vendor/Eigen/src/SparseLU/SparseLU.h
354
+ - vendor/Eigen/src/SparseLU/SparseLUImpl.h
355
+ - vendor/Eigen/src/SparseLU/SparseLU_Memory.h
356
+ - vendor/Eigen/src/SparseLU/SparseLU_Structs.h
357
+ - vendor/Eigen/src/SparseLU/SparseLU_SupernodalMatrix.h
358
+ - vendor/Eigen/src/SparseLU/SparseLU_Utils.h
359
+ - vendor/Eigen/src/SparseLU/SparseLU_column_bmod.h
360
+ - vendor/Eigen/src/SparseLU/SparseLU_column_dfs.h
361
+ - vendor/Eigen/src/SparseLU/SparseLU_copy_to_ucol.h
362
+ - vendor/Eigen/src/SparseLU/SparseLU_gemm_kernel.h
363
+ - vendor/Eigen/src/SparseLU/SparseLU_heap_relax_snode.h
364
+ - vendor/Eigen/src/SparseLU/SparseLU_kernel_bmod.h
365
+ - vendor/Eigen/src/SparseLU/SparseLU_panel_bmod.h
366
+ - vendor/Eigen/src/SparseLU/SparseLU_panel_dfs.h
367
+ - vendor/Eigen/src/SparseLU/SparseLU_pivotL.h
368
+ - vendor/Eigen/src/SparseLU/SparseLU_pruneL.h
369
+ - vendor/Eigen/src/SparseLU/SparseLU_relax_snode.h
370
+ - vendor/Eigen/src/SparseQR/SparseQR.h
371
+ - vendor/Eigen/src/StlSupport/StdDeque.h
372
+ - vendor/Eigen/src/StlSupport/StdList.h
373
+ - vendor/Eigen/src/StlSupport/StdVector.h
374
+ - vendor/Eigen/src/StlSupport/details.h
375
+ - vendor/Eigen/src/SuperLUSupport/SuperLUSupport.h
376
+ - vendor/Eigen/src/UmfPackSupport/UmfPackSupport.h
377
+ - vendor/Eigen/src/misc/Image.h
378
+ - vendor/Eigen/src/misc/Kernel.h
379
+ - vendor/Eigen/src/misc/RealSvd2x2.h
380
+ - vendor/Eigen/src/misc/blas.h
381
+ - vendor/Eigen/src/misc/lapack.h
382
+ - vendor/Eigen/src/misc/lapacke.h
383
+ - vendor/Eigen/src/misc/lapacke_mangling.h
384
+ - vendor/Eigen/src/plugins/ArrayCwiseBinaryOps.h
385
+ - vendor/Eigen/src/plugins/ArrayCwiseUnaryOps.h
386
+ - vendor/Eigen/src/plugins/BlockMethods.h
387
+ - vendor/Eigen/src/plugins/CommonCwiseBinaryOps.h
388
+ - vendor/Eigen/src/plugins/CommonCwiseUnaryOps.h
389
+ - vendor/Eigen/src/plugins/IndexedViewMethods.h
390
+ - vendor/Eigen/src/plugins/MatrixCwiseBinaryOps.h
391
+ - vendor/Eigen/src/plugins/MatrixCwiseUnaryOps.h
392
+ - vendor/Eigen/src/plugins/ReshapedMethods.h
393
+ - vendor/aarand/aarand.hpp
394
+ - vendor/annoy/annoylib.h
395
+ - vendor/annoy/kissrandom.h
396
+ - vendor/annoy/mman.h
397
+ - vendor/hnswlib/bruteforce.h
398
+ - vendor/hnswlib/hnswalg.h
399
+ - vendor/hnswlib/hnswlib.h
400
+ - vendor/hnswlib/space_ip.h
401
+ - vendor/hnswlib/space_l2.h
402
+ - vendor/hnswlib/visited_list_pool.h
403
+ - vendor/irlba/irlba.hpp
404
+ - vendor/irlba/lanczos.hpp
405
+ - vendor/irlba/parallel.hpp
406
+ - vendor/irlba/utils.hpp
407
+ - vendor/irlba/wrappers.hpp
408
+ - vendor/kmeans/Base.hpp
409
+ - vendor/kmeans/Details.hpp
410
+ - vendor/kmeans/HartiganWong.hpp
411
+ - vendor/kmeans/InitializeKmeansPP.hpp
412
+ - vendor/kmeans/InitializeNone.hpp
413
+ - vendor/kmeans/InitializePCAPartition.hpp
414
+ - vendor/kmeans/InitializeRandom.hpp
415
+ - vendor/kmeans/Kmeans.hpp
416
+ - vendor/kmeans/Lloyd.hpp
417
+ - vendor/kmeans/MiniBatch.hpp
418
+ - vendor/kmeans/QuickSearch.hpp
419
+ - vendor/kmeans/compute_centroids.hpp
420
+ - vendor/kmeans/compute_wcss.hpp
421
+ - vendor/kmeans/is_edge_case.hpp
422
+ - vendor/kmeans/random.hpp
423
+ - vendor/knncolle/Annoy/Annoy.hpp
424
+ - vendor/knncolle/BruteForce/BruteForce.hpp
425
+ - vendor/knncolle/Hnsw/Hnsw.hpp
426
+ - vendor/knncolle/Kmknn/Kmknn.hpp
427
+ - vendor/knncolle/VpTree/VpTree.hpp
428
+ - vendor/knncolle/knncolle.hpp
429
+ - vendor/knncolle/utils/Base.hpp
430
+ - vendor/knncolle/utils/NeighborQueue.hpp
431
+ - vendor/knncolle/utils/distances.hpp
432
+ - vendor/knncolle/utils/find_nearest_neighbors.hpp
433
+ - vendor/powerit/PowerIterations.hpp
434
+ - vendor/umappp/NeighborList.hpp
435
+ - vendor/umappp/Umap.hpp
436
+ - vendor/umappp/combine_neighbor_sets.hpp
437
+ - vendor/umappp/find_ab.hpp
438
+ - vendor/umappp/neighbor_similarities.hpp
439
+ - vendor/umappp/optimize_layout.hpp
440
+ - vendor/umappp/spectral_init.hpp
441
+ - vendor/umappp/umappp.hpp
442
+ homepage: https://github.com/kojix2/ruby-umappp
443
+ licenses:
444
+ - BSD-2-Clause
445
+ metadata: {}
446
+ post_install_message:
447
+ rdoc_options: []
448
+ require_paths:
449
+ - lib
450
+ required_ruby_version: !ruby/object:Gem::Requirement
451
+ requirements:
452
+ - - ">="
453
+ - !ruby/object:Gem::Version
454
+ version: '2.7'
455
+ required_rubygems_version: !ruby/object:Gem::Requirement
456
+ requirements:
457
+ - - ">="
458
+ - !ruby/object:Gem::Version
459
+ version: '0'
460
+ requirements: []
461
+ rubygems_version: 3.3.7
462
+ signing_key:
463
+ specification_version: 4
464
+ summary: Umap for Ruby
465
+ test_files: []