lorann 0.1__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (526) hide show
  1. lorann-0.1/LICENSE +21 -0
  2. lorann-0.1/MANIFEST.in +5 -0
  3. lorann-0.1/PKG-INFO +165 -0
  4. lorann-0.1/README.md +129 -0
  5. lorann-0.1/lorann/Eigen/AccelerateSupport +52 -0
  6. lorann-0.1/lorann/Eigen/Cholesky +43 -0
  7. lorann-0.1/lorann/Eigen/CholmodSupport +48 -0
  8. lorann-0.1/lorann/Eigen/Core +418 -0
  9. lorann-0.1/lorann/Eigen/Dense +7 -0
  10. lorann-0.1/lorann/Eigen/Eigen +2 -0
  11. lorann-0.1/lorann/Eigen/Eigenvalues +63 -0
  12. lorann-0.1/lorann/Eigen/Geometry +61 -0
  13. lorann-0.1/lorann/Eigen/Householder +31 -0
  14. lorann-0.1/lorann/Eigen/IterativeLinearSolvers +52 -0
  15. lorann-0.1/lorann/Eigen/Jacobi +33 -0
  16. lorann-0.1/lorann/Eigen/KLUSupport +43 -0
  17. lorann-0.1/lorann/Eigen/LU +46 -0
  18. lorann-0.1/lorann/Eigen/MetisSupport +35 -0
  19. lorann-0.1/lorann/Eigen/OrderingMethods +73 -0
  20. lorann-0.1/lorann/Eigen/PaStiXSupport +51 -0
  21. lorann-0.1/lorann/Eigen/PardisoSupport +38 -0
  22. lorann-0.1/lorann/Eigen/QR +48 -0
  23. lorann-0.1/lorann/Eigen/QtAlignedMalloc +32 -0
  24. lorann-0.1/lorann/Eigen/SPQRSupport +41 -0
  25. lorann-0.1/lorann/Eigen/SVD +56 -0
  26. lorann-0.1/lorann/Eigen/Sparse +33 -0
  27. lorann-0.1/lorann/Eigen/SparseCholesky +40 -0
  28. lorann-0.1/lorann/Eigen/SparseCore +70 -0
  29. lorann-0.1/lorann/Eigen/SparseLU +50 -0
  30. lorann-0.1/lorann/Eigen/SparseQR +38 -0
  31. lorann-0.1/lorann/Eigen/StdDeque +30 -0
  32. lorann-0.1/lorann/Eigen/StdList +29 -0
  33. lorann-0.1/lorann/Eigen/StdVector +30 -0
  34. lorann-0.1/lorann/Eigen/SuperLUSupport +70 -0
  35. lorann-0.1/lorann/Eigen/ThreadPool +79 -0
  36. lorann-0.1/lorann/Eigen/UmfPackSupport +42 -0
  37. lorann-0.1/lorann/Eigen/src/AccelerateSupport/AccelerateSupport.h +423 -0
  38. lorann-0.1/lorann/Eigen/src/AccelerateSupport/InternalHeaderCheck.h +3 -0
  39. lorann-0.1/lorann/Eigen/src/Cholesky/InternalHeaderCheck.h +3 -0
  40. lorann-0.1/lorann/Eigen/src/Cholesky/LDLT.h +649 -0
  41. lorann-0.1/lorann/Eigen/src/Cholesky/LLT.h +514 -0
  42. lorann-0.1/lorann/Eigen/src/Cholesky/LLT_LAPACKE.h +124 -0
  43. lorann-0.1/lorann/Eigen/src/CholmodSupport/CholmodSupport.h +738 -0
  44. lorann-0.1/lorann/Eigen/src/CholmodSupport/InternalHeaderCheck.h +3 -0
  45. lorann-0.1/lorann/Eigen/src/Core/ArithmeticSequence.h +239 -0
  46. lorann-0.1/lorann/Eigen/src/Core/Array.h +367 -0
  47. lorann-0.1/lorann/Eigen/src/Core/ArrayBase.h +222 -0
  48. lorann-0.1/lorann/Eigen/src/Core/ArrayWrapper.h +173 -0
  49. lorann-0.1/lorann/Eigen/src/Core/Assign.h +80 -0
  50. lorann-0.1/lorann/Eigen/src/Core/AssignEvaluator.h +951 -0
  51. lorann-0.1/lorann/Eigen/src/Core/Assign_MKL.h +183 -0
  52. lorann-0.1/lorann/Eigen/src/Core/BandMatrix.h +338 -0
  53. lorann-0.1/lorann/Eigen/src/Core/Block.h +439 -0
  54. lorann-0.1/lorann/Eigen/src/Core/CommaInitializer.h +149 -0
  55. lorann-0.1/lorann/Eigen/src/Core/ConditionEstimator.h +173 -0
  56. lorann-0.1/lorann/Eigen/src/Core/CoreEvaluators.h +1685 -0
  57. lorann-0.1/lorann/Eigen/src/Core/CoreIterators.h +141 -0
  58. lorann-0.1/lorann/Eigen/src/Core/CwiseBinaryOp.h +166 -0
  59. lorann-0.1/lorann/Eigen/src/Core/CwiseNullaryOp.h +971 -0
  60. lorann-0.1/lorann/Eigen/src/Core/CwiseTernaryOp.h +171 -0
  61. lorann-0.1/lorann/Eigen/src/Core/CwiseUnaryOp.h +91 -0
  62. lorann-0.1/lorann/Eigen/src/Core/CwiseUnaryView.h +167 -0
  63. lorann-0.1/lorann/Eigen/src/Core/DenseBase.h +647 -0
  64. lorann-0.1/lorann/Eigen/src/Core/DenseCoeffsBase.h +569 -0
  65. lorann-0.1/lorann/Eigen/src/Core/DenseStorage.h +650 -0
  66. lorann-0.1/lorann/Eigen/src/Core/DeviceWrapper.h +155 -0
  67. lorann-0.1/lorann/Eigen/src/Core/Diagonal.h +221 -0
  68. lorann-0.1/lorann/Eigen/src/Core/DiagonalMatrix.h +414 -0
  69. lorann-0.1/lorann/Eigen/src/Core/DiagonalProduct.h +30 -0
  70. lorann-0.1/lorann/Eigen/src/Core/Dot.h +268 -0
  71. lorann-0.1/lorann/Eigen/src/Core/EigenBase.h +149 -0
  72. lorann-0.1/lorann/Eigen/src/Core/ForceAlignedAccess.h +131 -0
  73. lorann-0.1/lorann/Eigen/src/Core/Fuzzy.h +132 -0
  74. lorann-0.1/lorann/Eigen/src/Core/GeneralProduct.h +517 -0
  75. lorann-0.1/lorann/Eigen/src/Core/GenericPacketMath.h +1527 -0
  76. lorann-0.1/lorann/Eigen/src/Core/GlobalFunctions.h +229 -0
  77. lorann-0.1/lorann/Eigen/src/Core/IO.h +233 -0
  78. lorann-0.1/lorann/Eigen/src/Core/IndexedView.h +315 -0
  79. lorann-0.1/lorann/Eigen/src/Core/InnerProduct.h +250 -0
  80. lorann-0.1/lorann/Eigen/src/Core/InternalHeaderCheck.h +3 -0
  81. lorann-0.1/lorann/Eigen/src/Core/Inverse.h +108 -0
  82. lorann-0.1/lorann/Eigen/src/Core/Map.h +153 -0
  83. lorann-0.1/lorann/Eigen/src/Core/MapBase.h +283 -0
  84. lorann-0.1/lorann/Eigen/src/Core/MathFunctions.h +1949 -0
  85. lorann-0.1/lorann/Eigen/src/Core/MathFunctionsImpl.h +262 -0
  86. lorann-0.1/lorann/Eigen/src/Core/Matrix.h +526 -0
  87. lorann-0.1/lorann/Eigen/src/Core/MatrixBase.h +542 -0
  88. lorann-0.1/lorann/Eigen/src/Core/NestByValue.h +91 -0
  89. lorann-0.1/lorann/Eigen/src/Core/NoAlias.h +102 -0
  90. lorann-0.1/lorann/Eigen/src/Core/NumTraits.h +328 -0
  91. lorann-0.1/lorann/Eigen/src/Core/PartialReduxEvaluator.h +209 -0
  92. lorann-0.1/lorann/Eigen/src/Core/PermutationMatrix.h +552 -0
  93. lorann-0.1/lorann/Eigen/src/Core/PlainObjectBase.h +1050 -0
  94. lorann-0.1/lorann/Eigen/src/Core/Product.h +307 -0
  95. lorann-0.1/lorann/Eigen/src/Core/ProductEvaluators.h +1156 -0
  96. lorann-0.1/lorann/Eigen/src/Core/Random.h +207 -0
  97. lorann-0.1/lorann/Eigen/src/Core/RandomImpl.h +253 -0
  98. lorann-0.1/lorann/Eigen/src/Core/Redux.h +528 -0
  99. lorann-0.1/lorann/Eigen/src/Core/Ref.h +383 -0
  100. lorann-0.1/lorann/Eigen/src/Core/Replicate.h +130 -0
  101. lorann-0.1/lorann/Eigen/src/Core/Reshaped.h +398 -0
  102. lorann-0.1/lorann/Eigen/src/Core/ReturnByValue.h +115 -0
  103. lorann-0.1/lorann/Eigen/src/Core/Reverse.h +196 -0
  104. lorann-0.1/lorann/Eigen/src/Core/Select.h +156 -0
  105. lorann-0.1/lorann/Eigen/src/Core/SelfAdjointView.h +329 -0
  106. lorann-0.1/lorann/Eigen/src/Core/SelfCwiseBinaryOp.h +50 -0
  107. lorann-0.1/lorann/Eigen/src/Core/SkewSymmetricMatrix3.h +382 -0
  108. lorann-0.1/lorann/Eigen/src/Core/Solve.h +174 -0
  109. lorann-0.1/lorann/Eigen/src/Core/SolveTriangular.h +237 -0
  110. lorann-0.1/lorann/Eigen/src/Core/SolverBase.h +159 -0
  111. lorann-0.1/lorann/Eigen/src/Core/StableNorm.h +217 -0
  112. lorann-0.1/lorann/Eigen/src/Core/StlIterators.h +620 -0
  113. lorann-0.1/lorann/Eigen/src/Core/Stride.h +114 -0
  114. lorann-0.1/lorann/Eigen/src/Core/Swap.h +74 -0
  115. lorann-0.1/lorann/Eigen/src/Core/Transpose.h +427 -0
  116. lorann-0.1/lorann/Eigen/src/Core/Transpositions.h +323 -0
  117. lorann-0.1/lorann/Eigen/src/Core/TriangularMatrix.h +900 -0
  118. lorann-0.1/lorann/Eigen/src/Core/VectorBlock.h +83 -0
  119. lorann-0.1/lorann/Eigen/src/Core/VectorwiseOp.h +713 -0
  120. lorann-0.1/lorann/Eigen/src/Core/Visitor.h +789 -0
  121. lorann-0.1/lorann/Eigen/src/Core/arch/AVX/Complex.h +530 -0
  122. lorann-0.1/lorann/Eigen/src/Core/arch/AVX/MathFunctions.h +127 -0
  123. lorann-0.1/lorann/Eigen/src/Core/arch/AVX/PacketMath.h +2857 -0
  124. lorann-0.1/lorann/Eigen/src/Core/arch/AVX/TypeCasting.h +306 -0
  125. lorann-0.1/lorann/Eigen/src/Core/arch/AVX512/Complex.h +472 -0
  126. lorann-0.1/lorann/Eigen/src/Core/arch/AVX512/GemmKernel.h +1245 -0
  127. lorann-0.1/lorann/Eigen/src/Core/arch/AVX512/MathFunctions.h +136 -0
  128. lorann-0.1/lorann/Eigen/src/Core/arch/AVX512/PacketMath.h +3092 -0
  129. lorann-0.1/lorann/Eigen/src/Core/arch/AVX512/PacketMathFP16.h +877 -0
  130. lorann-0.1/lorann/Eigen/src/Core/arch/AVX512/TrsmKernel.h +1167 -0
  131. lorann-0.1/lorann/Eigen/src/Core/arch/AVX512/TrsmUnrolls.inc +1218 -0
  132. lorann-0.1/lorann/Eigen/src/Core/arch/AVX512/TypeCasting.h +336 -0
  133. lorann-0.1/lorann/Eigen/src/Core/arch/AltiVec/Complex.h +644 -0
  134. lorann-0.1/lorann/Eigen/src/Core/arch/AltiVec/MathFunctions.h +81 -0
  135. lorann-0.1/lorann/Eigen/src/Core/arch/AltiVec/MatrixProduct.h +3686 -0
  136. lorann-0.1/lorann/Eigen/src/Core/arch/AltiVec/MatrixProductCommon.h +205 -0
  137. lorann-0.1/lorann/Eigen/src/Core/arch/AltiVec/MatrixProductMMA.h +901 -0
  138. lorann-0.1/lorann/Eigen/src/Core/arch/AltiVec/MatrixProductMMAbfloat16.h +742 -0
  139. lorann-0.1/lorann/Eigen/src/Core/arch/AltiVec/MatrixVectorProduct.h +2818 -0
  140. lorann-0.1/lorann/Eigen/src/Core/arch/AltiVec/PacketMath.h +3722 -0
  141. lorann-0.1/lorann/Eigen/src/Core/arch/AltiVec/TypeCasting.h +163 -0
  142. lorann-0.1/lorann/Eigen/src/Core/arch/Default/BFloat16.h +829 -0
  143. lorann-0.1/lorann/Eigen/src/Core/arch/Default/ConjHelper.h +128 -0
  144. lorann-0.1/lorann/Eigen/src/Core/arch/Default/GenericPacketMathFunctions.h +2562 -0
  145. lorann-0.1/lorann/Eigen/src/Core/arch/Default/GenericPacketMathFunctionsFwd.h +204 -0
  146. lorann-0.1/lorann/Eigen/src/Core/arch/Default/Half.h +981 -0
  147. lorann-0.1/lorann/Eigen/src/Core/arch/Default/Settings.h +47 -0
  148. lorann-0.1/lorann/Eigen/src/Core/arch/GPU/Complex.h +244 -0
  149. lorann-0.1/lorann/Eigen/src/Core/arch/GPU/MathFunctions.h +93 -0
  150. lorann-0.1/lorann/Eigen/src/Core/arch/GPU/PacketMath.h +1704 -0
  151. lorann-0.1/lorann/Eigen/src/Core/arch/GPU/Tuple.h +273 -0
  152. lorann-0.1/lorann/Eigen/src/Core/arch/GPU/TypeCasting.h +77 -0
  153. lorann-0.1/lorann/Eigen/src/Core/arch/HIP/hcc/math_constants.h +23 -0
  154. lorann-0.1/lorann/Eigen/src/Core/arch/HVX/PacketMath.h +1071 -0
  155. lorann-0.1/lorann/Eigen/src/Core/arch/MSA/Complex.h +620 -0
  156. lorann-0.1/lorann/Eigen/src/Core/arch/MSA/MathFunctions.h +379 -0
  157. lorann-0.1/lorann/Eigen/src/Core/arch/MSA/PacketMath.h +1237 -0
  158. lorann-0.1/lorann/Eigen/src/Core/arch/NEON/Complex.h +752 -0
  159. lorann-0.1/lorann/Eigen/src/Core/arch/NEON/GeneralBlockPanelKernel.h +243 -0
  160. lorann-0.1/lorann/Eigen/src/Core/arch/NEON/MathFunctions.h +67 -0
  161. lorann-0.1/lorann/Eigen/src/Core/arch/NEON/PacketMath.h +6175 -0
  162. lorann-0.1/lorann/Eigen/src/Core/arch/NEON/TypeCasting.h +1642 -0
  163. lorann-0.1/lorann/Eigen/src/Core/arch/NEON/UnaryFunctors.h +57 -0
  164. lorann-0.1/lorann/Eigen/src/Core/arch/SSE/Complex.h +519 -0
  165. lorann-0.1/lorann/Eigen/src/Core/arch/SSE/MathFunctions.h +88 -0
  166. lorann-0.1/lorann/Eigen/src/Core/arch/SSE/PacketMath.h +2549 -0
  167. lorann-0.1/lorann/Eigen/src/Core/arch/SSE/TypeCasting.h +230 -0
  168. lorann-0.1/lorann/Eigen/src/Core/arch/SVE/MathFunctions.h +48 -0
  169. lorann-0.1/lorann/Eigen/src/Core/arch/SVE/PacketMath.h +671 -0
  170. lorann-0.1/lorann/Eigen/src/Core/arch/SVE/TypeCasting.h +52 -0
  171. lorann-0.1/lorann/Eigen/src/Core/arch/SYCL/InteropHeaders.h +227 -0
  172. lorann-0.1/lorann/Eigen/src/Core/arch/SYCL/MathFunctions.h +303 -0
  173. lorann-0.1/lorann/Eigen/src/Core/arch/SYCL/PacketMath.h +576 -0
  174. lorann-0.1/lorann/Eigen/src/Core/arch/SYCL/TypeCasting.h +83 -0
  175. lorann-0.1/lorann/Eigen/src/Core/arch/ZVector/Complex.h +556 -0
  176. lorann-0.1/lorann/Eigen/src/Core/arch/ZVector/MathFunctions.h +230 -0
  177. lorann-0.1/lorann/Eigen/src/Core/arch/ZVector/PacketMath.h +1286 -0
  178. lorann-0.1/lorann/Eigen/src/Core/functors/AssignmentFunctors.h +181 -0
  179. lorann-0.1/lorann/Eigen/src/Core/functors/BinaryFunctors.h +763 -0
  180. lorann-0.1/lorann/Eigen/src/Core/functors/NullaryFunctors.h +263 -0
  181. lorann-0.1/lorann/Eigen/src/Core/functors/StlFunctors.h +149 -0
  182. lorann-0.1/lorann/Eigen/src/Core/functors/TernaryFunctors.h +52 -0
  183. lorann-0.1/lorann/Eigen/src/Core/functors/UnaryFunctors.h +1400 -0
  184. lorann-0.1/lorann/Eigen/src/Core/products/GeneralBlockPanelKernel.h +3152 -0
  185. lorann-0.1/lorann/Eigen/src/Core/products/GeneralMatrixMatrix.h +459 -0
  186. lorann-0.1/lorann/Eigen/src/Core/products/GeneralMatrixMatrixTriangular.h +322 -0
  187. lorann-0.1/lorann/Eigen/src/Core/products/GeneralMatrixMatrixTriangular_BLAS.h +148 -0
  188. lorann-0.1/lorann/Eigen/src/Core/products/GeneralMatrixMatrix_BLAS.h +123 -0
  189. lorann-0.1/lorann/Eigen/src/Core/products/GeneralMatrixVector.h +473 -0
  190. lorann-0.1/lorann/Eigen/src/Core/products/GeneralMatrixVector_BLAS.h +139 -0
  191. lorann-0.1/lorann/Eigen/src/Core/products/Parallelizer.h +275 -0
  192. lorann-0.1/lorann/Eigen/src/Core/products/SelfadjointMatrixMatrix.h +483 -0
  193. lorann-0.1/lorann/Eigen/src/Core/products/SelfadjointMatrixMatrix_BLAS.h +277 -0
  194. lorann-0.1/lorann/Eigen/src/Core/products/SelfadjointMatrixVector.h +246 -0
  195. lorann-0.1/lorann/Eigen/src/Core/products/SelfadjointMatrixVector_BLAS.h +115 -0
  196. lorann-0.1/lorann/Eigen/src/Core/products/SelfadjointProduct.h +133 -0
  197. lorann-0.1/lorann/Eigen/src/Core/products/SelfadjointRank2Update.h +95 -0
  198. lorann-0.1/lorann/Eigen/src/Core/products/TriangularMatrixMatrix.h +404 -0
  199. lorann-0.1/lorann/Eigen/src/Core/products/TriangularMatrixMatrix_BLAS.h +325 -0
  200. lorann-0.1/lorann/Eigen/src/Core/products/TriangularMatrixVector.h +345 -0
  201. lorann-0.1/lorann/Eigen/src/Core/products/TriangularMatrixVector_BLAS.h +275 -0
  202. lorann-0.1/lorann/Eigen/src/Core/products/TriangularSolverMatrix.h +388 -0
  203. lorann-0.1/lorann/Eigen/src/Core/products/TriangularSolverMatrix_BLAS.h +166 -0
  204. lorann-0.1/lorann/Eigen/src/Core/products/TriangularSolverVector.h +122 -0
  205. lorann-0.1/lorann/Eigen/src/Core/util/Assert.h +158 -0
  206. lorann-0.1/lorann/Eigen/src/Core/util/BlasUtil.h +622 -0
  207. lorann-0.1/lorann/Eigen/src/Core/util/ConfigureVectorization.h +529 -0
  208. lorann-0.1/lorann/Eigen/src/Core/util/Constants.h +595 -0
  209. lorann-0.1/lorann/Eigen/src/Core/util/DisableStupidWarnings.h +146 -0
  210. lorann-0.1/lorann/Eigen/src/Core/util/EmulateArray.h +270 -0
  211. lorann-0.1/lorann/Eigen/src/Core/util/ForwardDeclarations.h +510 -0
  212. lorann-0.1/lorann/Eigen/src/Core/util/IndexedViewHelper.h +487 -0
  213. lorann-0.1/lorann/Eigen/src/Core/util/IntegralConstant.h +279 -0
  214. lorann-0.1/lorann/Eigen/src/Core/util/MKL_support.h +139 -0
  215. lorann-0.1/lorann/Eigen/src/Core/util/Macros.h +1312 -0
  216. lorann-0.1/lorann/Eigen/src/Core/util/MaxSizeVector.h +139 -0
  217. lorann-0.1/lorann/Eigen/src/Core/util/Memory.h +1336 -0
  218. lorann-0.1/lorann/Eigen/src/Core/util/Meta.h +753 -0
  219. lorann-0.1/lorann/Eigen/src/Core/util/MoreMeta.h +630 -0
  220. lorann-0.1/lorann/Eigen/src/Core/util/ReenableStupidWarnings.h +44 -0
  221. lorann-0.1/lorann/Eigen/src/Core/util/ReshapedHelper.h +51 -0
  222. lorann-0.1/lorann/Eigen/src/Core/util/Serializer.h +208 -0
  223. lorann-0.1/lorann/Eigen/src/Core/util/StaticAssert.h +105 -0
  224. lorann-0.1/lorann/Eigen/src/Core/util/SymbolicIndex.h +445 -0
  225. lorann-0.1/lorann/Eigen/src/Core/util/XprHelper.h +1089 -0
  226. lorann-0.1/lorann/Eigen/src/Eigenvalues/ComplexEigenSolver.h +315 -0
  227. lorann-0.1/lorann/Eigen/src/Eigenvalues/ComplexSchur.h +442 -0
  228. lorann-0.1/lorann/Eigen/src/Eigenvalues/ComplexSchur_LAPACKE.h +95 -0
  229. lorann-0.1/lorann/Eigen/src/Eigenvalues/EigenSolver.h +579 -0
  230. lorann-0.1/lorann/Eigen/src/Eigenvalues/GeneralizedEigenSolver.h +402 -0
  231. lorann-0.1/lorann/Eigen/src/Eigenvalues/GeneralizedSelfAdjointEigenSolver.h +212 -0
  232. lorann-0.1/lorann/Eigen/src/Eigenvalues/HessenbergDecomposition.h +356 -0
  233. lorann-0.1/lorann/Eigen/src/Eigenvalues/InternalHeaderCheck.h +3 -0
  234. lorann-0.1/lorann/Eigen/src/Eigenvalues/MatrixBaseEigenvalues.h +142 -0
  235. lorann-0.1/lorann/Eigen/src/Eigenvalues/RealQZ.h +587 -0
  236. lorann-0.1/lorann/Eigen/src/Eigenvalues/RealSchur.h +519 -0
  237. lorann-0.1/lorann/Eigen/src/Eigenvalues/RealSchur_LAPACKE.h +83 -0
  238. lorann-0.1/lorann/Eigen/src/Eigenvalues/SelfAdjointEigenSolver.h +850 -0
  239. lorann-0.1/lorann/Eigen/src/Eigenvalues/SelfAdjointEigenSolver_LAPACKE.h +90 -0
  240. lorann-0.1/lorann/Eigen/src/Eigenvalues/Tridiagonalization.h +527 -0
  241. lorann-0.1/lorann/Eigen/src/Geometry/AlignedBox.h +485 -0
  242. lorann-0.1/lorann/Eigen/src/Geometry/AngleAxis.h +245 -0
  243. lorann-0.1/lorann/Eigen/src/Geometry/EulerAngles.h +203 -0
  244. lorann-0.1/lorann/Eigen/src/Geometry/Homogeneous.h +455 -0
  245. lorann-0.1/lorann/Eigen/src/Geometry/Hyperplane.h +273 -0
  246. lorann-0.1/lorann/Eigen/src/Geometry/InternalHeaderCheck.h +3 -0
  247. lorann-0.1/lorann/Eigen/src/Geometry/OrthoMethods.h +259 -0
  248. lorann-0.1/lorann/Eigen/src/Geometry/ParametrizedLine.h +232 -0
  249. lorann-0.1/lorann/Eigen/src/Geometry/Quaternion.h +857 -0
  250. lorann-0.1/lorann/Eigen/src/Geometry/Rotation2D.h +201 -0
  251. lorann-0.1/lorann/Eigen/src/Geometry/RotationBase.h +209 -0
  252. lorann-0.1/lorann/Eigen/src/Geometry/Scaling.h +195 -0
  253. lorann-0.1/lorann/Eigen/src/Geometry/Transform.h +1484 -0
  254. lorann-0.1/lorann/Eigen/src/Geometry/Translation.h +204 -0
  255. lorann-0.1/lorann/Eigen/src/Geometry/Umeyama.h +165 -0
  256. lorann-0.1/lorann/Eigen/src/Geometry/arch/Geometry_SIMD.h +152 -0
  257. lorann-0.1/lorann/Eigen/src/Householder/BlockHouseholder.h +115 -0
  258. lorann-0.1/lorann/Eigen/src/Householder/Householder.h +155 -0
  259. lorann-0.1/lorann/Eigen/src/Householder/HouseholderSequence.h +502 -0
  260. lorann-0.1/lorann/Eigen/src/Householder/InternalHeaderCheck.h +3 -0
  261. lorann-0.1/lorann/Eigen/src/IterativeLinearSolvers/BasicPreconditioners.h +213 -0
  262. lorann-0.1/lorann/Eigen/src/IterativeLinearSolvers/BiCGSTAB.h +202 -0
  263. lorann-0.1/lorann/Eigen/src/IterativeLinearSolvers/ConjugateGradient.h +217 -0
  264. lorann-0.1/lorann/Eigen/src/IterativeLinearSolvers/IncompleteCholesky.h +402 -0
  265. lorann-0.1/lorann/Eigen/src/IterativeLinearSolvers/IncompleteLUT.h +421 -0
  266. lorann-0.1/lorann/Eigen/src/IterativeLinearSolvers/InternalHeaderCheck.h +3 -0
  267. lorann-0.1/lorann/Eigen/src/IterativeLinearSolvers/IterativeSolverBase.h +395 -0
  268. lorann-0.1/lorann/Eigen/src/IterativeLinearSolvers/LeastSquareConjugateGradient.h +193 -0
  269. lorann-0.1/lorann/Eigen/src/IterativeLinearSolvers/SolveWithGuess.h +111 -0
  270. lorann-0.1/lorann/Eigen/src/Jacobi/InternalHeaderCheck.h +3 -0
  271. lorann-0.1/lorann/Eigen/src/Jacobi/Jacobi.h +427 -0
  272. lorann-0.1/lorann/Eigen/src/KLUSupport/InternalHeaderCheck.h +3 -0
  273. lorann-0.1/lorann/Eigen/src/KLUSupport/KLUSupport.h +339 -0
  274. lorann-0.1/lorann/Eigen/src/LU/Determinant.h +98 -0
  275. lorann-0.1/lorann/Eigen/src/LU/FullPivLU.h +812 -0
  276. lorann-0.1/lorann/Eigen/src/LU/InternalHeaderCheck.h +3 -0
  277. lorann-0.1/lorann/Eigen/src/LU/InverseImpl.h +353 -0
  278. lorann-0.1/lorann/Eigen/src/LU/PartialPivLU.h +575 -0
  279. lorann-0.1/lorann/Eigen/src/LU/PartialPivLU_LAPACKE.h +97 -0
  280. lorann-0.1/lorann/Eigen/src/LU/arch/InverseSize4.h +353 -0
  281. lorann-0.1/lorann/Eigen/src/MetisSupport/InternalHeaderCheck.h +3 -0
  282. lorann-0.1/lorann/Eigen/src/MetisSupport/MetisSupport.h +125 -0
  283. lorann-0.1/lorann/Eigen/src/OrderingMethods/Amd.h +413 -0
  284. lorann-0.1/lorann/Eigen/src/OrderingMethods/Eigen_Colamd.h +1690 -0
  285. lorann-0.1/lorann/Eigen/src/OrderingMethods/InternalHeaderCheck.h +3 -0
  286. lorann-0.1/lorann/Eigen/src/OrderingMethods/Ordering.h +148 -0
  287. lorann-0.1/lorann/Eigen/src/PaStiXSupport/InternalHeaderCheck.h +3 -0
  288. lorann-0.1/lorann/Eigen/src/PaStiXSupport/PaStiXSupport.h +632 -0
  289. lorann-0.1/lorann/Eigen/src/PardisoSupport/InternalHeaderCheck.h +3 -0
  290. lorann-0.1/lorann/Eigen/src/PardisoSupport/PardisoSupport.h +499 -0
  291. lorann-0.1/lorann/Eigen/src/QR/ColPivHouseholderQR.h +674 -0
  292. lorann-0.1/lorann/Eigen/src/QR/ColPivHouseholderQR_LAPACKE.h +161 -0
  293. lorann-0.1/lorann/Eigen/src/QR/CompleteOrthogonalDecomposition.h +648 -0
  294. lorann-0.1/lorann/Eigen/src/QR/FullPivHouseholderQR.h +722 -0
  295. lorann-0.1/lorann/Eigen/src/QR/HouseholderQR.h +532 -0
  296. lorann-0.1/lorann/Eigen/src/QR/HouseholderQR_LAPACKE.h +77 -0
  297. lorann-0.1/lorann/Eigen/src/QR/InternalHeaderCheck.h +3 -0
  298. lorann-0.1/lorann/Eigen/src/SPQRSupport/InternalHeaderCheck.h +3 -0
  299. lorann-0.1/lorann/Eigen/src/SPQRSupport/SuiteSparseQRSupport.h +315 -0
  300. lorann-0.1/lorann/Eigen/src/SVD/BDCSVD.h +1453 -0
  301. lorann-0.1/lorann/Eigen/src/SVD/BDCSVD_LAPACKE.h +172 -0
  302. lorann-0.1/lorann/Eigen/src/SVD/InternalHeaderCheck.h +3 -0
  303. lorann-0.1/lorann/Eigen/src/SVD/JacobiSVD.h +807 -0
  304. lorann-0.1/lorann/Eigen/src/SVD/JacobiSVD_LAPACKE.h +127 -0
  305. lorann-0.1/lorann/Eigen/src/SVD/SVDBase.h +436 -0
  306. lorann-0.1/lorann/Eigen/src/SVD/UpperBidiagonalization.h +379 -0
  307. lorann-0.1/lorann/Eigen/src/SparseCholesky/InternalHeaderCheck.h +3 -0
  308. lorann-0.1/lorann/Eigen/src/SparseCholesky/SimplicialCholesky.h +863 -0
  309. lorann-0.1/lorann/Eigen/src/SparseCholesky/SimplicialCholesky_impl.h +158 -0
  310. lorann-0.1/lorann/Eigen/src/SparseCore/AmbiVector.h +329 -0
  311. lorann-0.1/lorann/Eigen/src/SparseCore/CompressedStorage.h +206 -0
  312. lorann-0.1/lorann/Eigen/src/SparseCore/ConservativeSparseSparseProduct.h +308 -0
  313. lorann-0.1/lorann/Eigen/src/SparseCore/InternalHeaderCheck.h +3 -0
  314. lorann-0.1/lorann/Eigen/src/SparseCore/SparseAssign.h +279 -0
  315. lorann-0.1/lorann/Eigen/src/SparseCore/SparseBlock.h +534 -0
  316. lorann-0.1/lorann/Eigen/src/SparseCore/SparseColEtree.h +194 -0
  317. lorann-0.1/lorann/Eigen/src/SparseCore/SparseCompressedBase.h +591 -0
  318. lorann-0.1/lorann/Eigen/src/SparseCore/SparseCwiseBinaryOp.h +938 -0
  319. lorann-0.1/lorann/Eigen/src/SparseCore/SparseCwiseUnaryOp.h +142 -0
  320. lorann-0.1/lorann/Eigen/src/SparseCore/SparseDenseProduct.h +314 -0
  321. lorann-0.1/lorann/Eigen/src/SparseCore/SparseDiagonalProduct.h +138 -0
  322. lorann-0.1/lorann/Eigen/src/SparseCore/SparseDot.h +100 -0
  323. lorann-0.1/lorann/Eigen/src/SparseCore/SparseFuzzy.h +31 -0
  324. lorann-0.1/lorann/Eigen/src/SparseCore/SparseMap.h +295 -0
  325. lorann-0.1/lorann/Eigen/src/SparseCore/SparseMatrix.h +1866 -0
  326. lorann-0.1/lorann/Eigen/src/SparseCore/SparseMatrixBase.h +400 -0
  327. lorann-0.1/lorann/Eigen/src/SparseCore/SparsePermutation.h +249 -0
  328. lorann-0.1/lorann/Eigen/src/SparseCore/SparseProduct.h +178 -0
  329. lorann-0.1/lorann/Eigen/src/SparseCore/SparseRedux.h +47 -0
  330. lorann-0.1/lorann/Eigen/src/SparseCore/SparseRef.h +370 -0
  331. lorann-0.1/lorann/Eigen/src/SparseCore/SparseSelfAdjointView.h +613 -0
  332. lorann-0.1/lorann/Eigen/src/SparseCore/SparseSolverBase.h +115 -0
  333. lorann-0.1/lorann/Eigen/src/SparseCore/SparseSparseProductWithPruning.h +184 -0
  334. lorann-0.1/lorann/Eigen/src/SparseCore/SparseTranspose.h +83 -0
  335. lorann-0.1/lorann/Eigen/src/SparseCore/SparseTriangularView.h +177 -0
  336. lorann-0.1/lorann/Eigen/src/SparseCore/SparseUtil.h +209 -0
  337. lorann-0.1/lorann/Eigen/src/SparseCore/SparseVector.h +523 -0
  338. lorann-0.1/lorann/Eigen/src/SparseCore/SparseView.h +225 -0
  339. lorann-0.1/lorann/Eigen/src/SparseCore/TriangularSolver.h +266 -0
  340. lorann-0.1/lorann/Eigen/src/SparseLU/InternalHeaderCheck.h +3 -0
  341. lorann-0.1/lorann/Eigen/src/SparseLU/SparseLU.h +969 -0
  342. lorann-0.1/lorann/Eigen/src/SparseLU/SparseLUImpl.h +79 -0
  343. lorann-0.1/lorann/Eigen/src/SparseLU/SparseLU_Memory.h +210 -0
  344. lorann-0.1/lorann/Eigen/src/SparseLU/SparseLU_Structs.h +113 -0
  345. lorann-0.1/lorann/Eigen/src/SparseLU/SparseLU_SupernodalMatrix.h +319 -0
  346. lorann-0.1/lorann/Eigen/src/SparseLU/SparseLU_Utils.h +75 -0
  347. lorann-0.1/lorann/Eigen/src/SparseLU/SparseLU_column_bmod.h +177 -0
  348. lorann-0.1/lorann/Eigen/src/SparseLU/SparseLU_column_dfs.h +168 -0
  349. lorann-0.1/lorann/Eigen/src/SparseLU/SparseLU_copy_to_ucol.h +106 -0
  350. lorann-0.1/lorann/Eigen/src/SparseLU/SparseLU_heap_relax_snode.h +114 -0
  351. lorann-0.1/lorann/Eigen/src/SparseLU/SparseLU_kernel_bmod.h +133 -0
  352. lorann-0.1/lorann/Eigen/src/SparseLU/SparseLU_panel_bmod.h +215 -0
  353. lorann-0.1/lorann/Eigen/src/SparseLU/SparseLU_panel_dfs.h +235 -0
  354. lorann-0.1/lorann/Eigen/src/SparseLU/SparseLU_pivotL.h +136 -0
  355. lorann-0.1/lorann/Eigen/src/SparseLU/SparseLU_pruneL.h +130 -0
  356. lorann-0.1/lorann/Eigen/src/SparseLU/SparseLU_relax_snode.h +81 -0
  357. lorann-0.1/lorann/Eigen/src/SparseQR/InternalHeaderCheck.h +3 -0
  358. lorann-0.1/lorann/Eigen/src/SparseQR/SparseQR.h +704 -0
  359. lorann-0.1/lorann/Eigen/src/StlSupport/StdDeque.h +51 -0
  360. lorann-0.1/lorann/Eigen/src/StlSupport/StdList.h +50 -0
  361. lorann-0.1/lorann/Eigen/src/StlSupport/StdVector.h +51 -0
  362. lorann-0.1/lorann/Eigen/src/StlSupport/details.h +82 -0
  363. lorann-0.1/lorann/Eigen/src/SuperLUSupport/InternalHeaderCheck.h +3 -0
  364. lorann-0.1/lorann/Eigen/src/SuperLUSupport/SuperLUSupport.h +908 -0
  365. lorann-0.1/lorann/Eigen/src/ThreadPool/Barrier.h +70 -0
  366. lorann-0.1/lorann/Eigen/src/ThreadPool/CoreThreadPoolDevice.h +327 -0
  367. lorann-0.1/lorann/Eigen/src/ThreadPool/EventCount.h +241 -0
  368. lorann-0.1/lorann/Eigen/src/ThreadPool/InternalHeaderCheck.h +4 -0
  369. lorann-0.1/lorann/Eigen/src/ThreadPool/NonBlockingThreadPool.h +617 -0
  370. lorann-0.1/lorann/Eigen/src/ThreadPool/RunQueue.h +230 -0
  371. lorann-0.1/lorann/Eigen/src/ThreadPool/ThreadCancel.h +21 -0
  372. lorann-0.1/lorann/Eigen/src/ThreadPool/ThreadEnvironment.h +43 -0
  373. lorann-0.1/lorann/Eigen/src/ThreadPool/ThreadLocal.h +294 -0
  374. lorann-0.1/lorann/Eigen/src/ThreadPool/ThreadPoolInterface.h +50 -0
  375. lorann-0.1/lorann/Eigen/src/ThreadPool/ThreadYield.h +16 -0
  376. lorann-0.1/lorann/Eigen/src/UmfPackSupport/InternalHeaderCheck.h +3 -0
  377. lorann-0.1/lorann/Eigen/src/UmfPackSupport/UmfPackSupport.h +606 -0
  378. lorann-0.1/lorann/Eigen/src/misc/Image.h +80 -0
  379. lorann-0.1/lorann/Eigen/src/misc/InternalHeaderCheck.h +3 -0
  380. lorann-0.1/lorann/Eigen/src/misc/Kernel.h +77 -0
  381. lorann-0.1/lorann/Eigen/src/misc/RealSvd2x2.h +53 -0
  382. lorann-0.1/lorann/Eigen/src/misc/blas.h +97 -0
  383. lorann-0.1/lorann/Eigen/src/misc/lapacke.h +10085 -0
  384. lorann-0.1/lorann/Eigen/src/misc/lapacke_helpers.h +163 -0
  385. lorann-0.1/lorann/Eigen/src/misc/lapacke_mangling.h +16 -0
  386. lorann-0.1/lorann/Eigen/src/plugins/ArrayCwiseBinaryOps.inc +347 -0
  387. lorann-0.1/lorann/Eigen/src/plugins/ArrayCwiseUnaryOps.inc +537 -0
  388. lorann-0.1/lorann/Eigen/src/plugins/BlockMethods.inc +1370 -0
  389. lorann-0.1/lorann/Eigen/src/plugins/CommonCwiseBinaryOps.inc +133 -0
  390. lorann-0.1/lorann/Eigen/src/plugins/CommonCwiseUnaryOps.inc +167 -0
  391. lorann-0.1/lorann/Eigen/src/plugins/IndexedViewMethods.inc +192 -0
  392. lorann-0.1/lorann/Eigen/src/plugins/InternalHeaderCheck.inc +3 -0
  393. lorann-0.1/lorann/Eigen/src/plugins/MatrixCwiseBinaryOps.inc +331 -0
  394. lorann-0.1/lorann/Eigen/src/plugins/MatrixCwiseUnaryOps.inc +121 -0
  395. lorann-0.1/lorann/Eigen/src/plugins/ReshapedMethods.inc +133 -0
  396. lorann-0.1/lorann/cereal/access.hpp +351 -0
  397. lorann-0.1/lorann/cereal/archives/adapters.hpp +163 -0
  398. lorann-0.1/lorann/cereal/archives/binary.hpp +169 -0
  399. lorann-0.1/lorann/cereal/archives/json.hpp +1024 -0
  400. lorann-0.1/lorann/cereal/archives/portable_binary.hpp +334 -0
  401. lorann-0.1/lorann/cereal/archives/xml.hpp +956 -0
  402. lorann-0.1/lorann/cereal/cereal.hpp +1120 -0
  403. lorann-0.1/lorann/cereal/details/helpers.hpp +422 -0
  404. lorann-0.1/lorann/cereal/details/polymorphic_impl.hpp +825 -0
  405. lorann-0.1/lorann/cereal/details/polymorphic_impl_fwd.hpp +65 -0
  406. lorann-0.1/lorann/cereal/details/static_object.hpp +128 -0
  407. lorann-0.1/lorann/cereal/details/traits.hpp +1411 -0
  408. lorann-0.1/lorann/cereal/details/util.hpp +84 -0
  409. lorann-0.1/lorann/cereal/external/LICENSE +21 -0
  410. lorann-0.1/lorann/cereal/external/base64.hpp +134 -0
  411. lorann-0.1/lorann/cereal/external/rapidjson/LICENSE +13 -0
  412. lorann-0.1/lorann/cereal/external/rapidjson/allocators.h +284 -0
  413. lorann-0.1/lorann/cereal/external/rapidjson/cursorstreamwrapper.h +78 -0
  414. lorann-0.1/lorann/cereal/external/rapidjson/document.h +2659 -0
  415. lorann-0.1/lorann/cereal/external/rapidjson/encodedstream.h +299 -0
  416. lorann-0.1/lorann/cereal/external/rapidjson/encodings.h +716 -0
  417. lorann-0.1/lorann/cereal/external/rapidjson/error/en.h +74 -0
  418. lorann-0.1/lorann/cereal/external/rapidjson/error/error.h +161 -0
  419. lorann-0.1/lorann/cereal/external/rapidjson/filereadstream.h +99 -0
  420. lorann-0.1/lorann/cereal/external/rapidjson/filewritestream.h +104 -0
  421. lorann-0.1/lorann/cereal/external/rapidjson/fwd.h +151 -0
  422. lorann-0.1/lorann/cereal/external/rapidjson/internal/biginteger.h +290 -0
  423. lorann-0.1/lorann/cereal/external/rapidjson/internal/diyfp.h +271 -0
  424. lorann-0.1/lorann/cereal/external/rapidjson/internal/dtoa.h +245 -0
  425. lorann-0.1/lorann/cereal/external/rapidjson/internal/ieee754.h +78 -0
  426. lorann-0.1/lorann/cereal/external/rapidjson/internal/itoa.h +308 -0
  427. lorann-0.1/lorann/cereal/external/rapidjson/internal/meta.h +186 -0
  428. lorann-0.1/lorann/cereal/external/rapidjson/internal/pow10.h +55 -0
  429. lorann-0.1/lorann/cereal/external/rapidjson/internal/regex.h +740 -0
  430. lorann-0.1/lorann/cereal/external/rapidjson/internal/stack.h +232 -0
  431. lorann-0.1/lorann/cereal/external/rapidjson/internal/strfunc.h +69 -0
  432. lorann-0.1/lorann/cereal/external/rapidjson/internal/strtod.h +290 -0
  433. lorann-0.1/lorann/cereal/external/rapidjson/internal/swap.h +46 -0
  434. lorann-0.1/lorann/cereal/external/rapidjson/istreamwrapper.h +128 -0
  435. lorann-0.1/lorann/cereal/external/rapidjson/memorybuffer.h +70 -0
  436. lorann-0.1/lorann/cereal/external/rapidjson/memorystream.h +71 -0
  437. lorann-0.1/lorann/cereal/external/rapidjson/msinttypes/LICENSE +29 -0
  438. lorann-0.1/lorann/cereal/external/rapidjson/msinttypes/inttypes.h +316 -0
  439. lorann-0.1/lorann/cereal/external/rapidjson/msinttypes/stdint.h +300 -0
  440. lorann-0.1/lorann/cereal/external/rapidjson/ostreamwrapper.h +81 -0
  441. lorann-0.1/lorann/cereal/external/rapidjson/pointer.h +1414 -0
  442. lorann-0.1/lorann/cereal/external/rapidjson/prettywriter.h +277 -0
  443. lorann-0.1/lorann/cereal/external/rapidjson/rapidjson.h +656 -0
  444. lorann-0.1/lorann/cereal/external/rapidjson/reader.h +2230 -0
  445. lorann-0.1/lorann/cereal/external/rapidjson/schema.h +2497 -0
  446. lorann-0.1/lorann/cereal/external/rapidjson/stream.h +223 -0
  447. lorann-0.1/lorann/cereal/external/rapidjson/stringbuffer.h +121 -0
  448. lorann-0.1/lorann/cereal/external/rapidjson/writer.h +709 -0
  449. lorann-0.1/lorann/cereal/external/rapidxml/license.txt +52 -0
  450. lorann-0.1/lorann/cereal/external/rapidxml/manual.html +406 -0
  451. lorann-0.1/lorann/cereal/external/rapidxml/rapidxml.hpp +2624 -0
  452. lorann-0.1/lorann/cereal/external/rapidxml/rapidxml_iterators.hpp +175 -0
  453. lorann-0.1/lorann/cereal/external/rapidxml/rapidxml_print.hpp +428 -0
  454. lorann-0.1/lorann/cereal/external/rapidxml/rapidxml_utils.hpp +123 -0
  455. lorann-0.1/lorann/cereal/macros.hpp +156 -0
  456. lorann-0.1/lorann/cereal/specialize.hpp +139 -0
  457. lorann-0.1/lorann/cereal/types/array.hpp +79 -0
  458. lorann-0.1/lorann/cereal/types/atomic.hpp +55 -0
  459. lorann-0.1/lorann/cereal/types/base_class.hpp +203 -0
  460. lorann-0.1/lorann/cereal/types/bitset.hpp +176 -0
  461. lorann-0.1/lorann/cereal/types/boost_variant.hpp +164 -0
  462. lorann-0.1/lorann/cereal/types/chrono.hpp +72 -0
  463. lorann-0.1/lorann/cereal/types/common.hpp +129 -0
  464. lorann-0.1/lorann/cereal/types/complex.hpp +56 -0
  465. lorann-0.1/lorann/cereal/types/concepts/pair_associative_container.hpp +73 -0
  466. lorann-0.1/lorann/cereal/types/deque.hpp +62 -0
  467. lorann-0.1/lorann/cereal/types/forward_list.hpp +68 -0
  468. lorann-0.1/lorann/cereal/types/functional.hpp +43 -0
  469. lorann-0.1/lorann/cereal/types/list.hpp +62 -0
  470. lorann-0.1/lorann/cereal/types/map.hpp +36 -0
  471. lorann-0.1/lorann/cereal/types/memory.hpp +425 -0
  472. lorann-0.1/lorann/cereal/types/optional.hpp +65 -0
  473. lorann-0.1/lorann/cereal/types/polymorphic.hpp +483 -0
  474. lorann-0.1/lorann/cereal/types/queue.hpp +132 -0
  475. lorann-0.1/lorann/cereal/types/set.hpp +103 -0
  476. lorann-0.1/lorann/cereal/types/stack.hpp +76 -0
  477. lorann-0.1/lorann/cereal/types/string.hpp +61 -0
  478. lorann-0.1/lorann/cereal/types/tuple.hpp +123 -0
  479. lorann-0.1/lorann/cereal/types/unordered_map.hpp +36 -0
  480. lorann-0.1/lorann/cereal/types/unordered_set.hpp +99 -0
  481. lorann-0.1/lorann/cereal/types/utility.hpp +47 -0
  482. lorann-0.1/lorann/cereal/types/valarray.hpp +89 -0
  483. lorann-0.1/lorann/cereal/types/variant.hpp +108 -0
  484. lorann-0.1/lorann/cereal/types/vector.hpp +112 -0
  485. lorann-0.1/lorann/cereal/version.hpp +52 -0
  486. lorann-0.1/lorann/clustering.h +442 -0
  487. lorann-0.1/lorann/lorann.h +375 -0
  488. lorann-0.1/lorann/lorann_base.h +305 -0
  489. lorann-0.1/lorann/lorann_fp.h +291 -0
  490. lorann-0.1/lorann/miniselect/LICENSE +23 -0
  491. lorann-0.1/lorann/miniselect/floyd_rivest_select.h +129 -0
  492. lorann-0.1/lorann/miniselect/heap_select.h +106 -0
  493. lorann-0.1/lorann/miniselect/median_of_3_random.h +70 -0
  494. lorann-0.1/lorann/miniselect/median_of_medians.h +79 -0
  495. lorann-0.1/lorann/miniselect/median_of_ninthers.h +202 -0
  496. lorann-0.1/lorann/miniselect/pdqselect.h +937 -0
  497. lorann-0.1/lorann/miniselect/private/median_common.h +454 -0
  498. lorann-0.1/lorann/quant.h +571 -0
  499. lorann-0.1/lorann/rsvd/Constants.hpp +20 -0
  500. lorann-0.1/lorann/rsvd/ErrorEstimators.hpp +36 -0
  501. lorann-0.1/lorann/rsvd/GramSchmidt.hpp +74 -0
  502. lorann-0.1/lorann/rsvd/LICENSE +29 -0
  503. lorann-0.1/lorann/rsvd/Prelude.hpp +8 -0
  504. lorann-0.1/lorann/rsvd/RandomizedRangeFinder.hpp +196 -0
  505. lorann-0.1/lorann/rsvd/RandomizedSvd.hpp +139 -0
  506. lorann-0.1/lorann/rsvd/StandardNormalRandom.hpp +95 -0
  507. lorann-0.1/lorann/serialization.h +41 -0
  508. lorann-0.1/lorann/utils.h +481 -0
  509. lorann-0.1/pyproject.toml +29 -0
  510. lorann-0.1/python/lorann/__init__.py +1 -0
  511. lorann-0.1/python/lorann/lorann.py +510 -0
  512. lorann-0.1/python/lorann.egg-info/PKG-INFO +165 -0
  513. lorann-0.1/python/lorann.egg-info/SOURCES.txt +524 -0
  514. lorann-0.1/python/lorann.egg-info/dependency_links.txt +1 -0
  515. lorann-0.1/python/lorann.egg-info/not-zip-safe +1 -0
  516. lorann-0.1/python/lorann.egg-info/requires.txt +1 -0
  517. lorann-0.1/python/lorann.egg-info/top_level.txt +3 -0
  518. lorann-0.1/python/lorann_gpu/__init__.py +0 -0
  519. lorann-0.1/python/lorann_gpu/common.py +138 -0
  520. lorann-0.1/python/lorann_gpu/cupy.py +80 -0
  521. lorann-0.1/python/lorann_gpu/jax.py +216 -0
  522. lorann-0.1/python/lorann_gpu/mlx.py +124 -0
  523. lorann-0.1/python/lorann_gpu/torch.py +94 -0
  524. lorann-0.1/python/lorannmodule.cc +580 -0
  525. lorann-0.1/setup.cfg +4 -0
  526. lorann-0.1/setup.py +148 -0
lorann-0.1/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2024 Elias Jääsaari
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
lorann-0.1/MANIFEST.in ADDED
@@ -0,0 +1,5 @@
1
+ graft lorann
2
+ graft python/lorann
3
+ graft python/lorann_gpu
4
+ include README.md
5
+ include LICENSE
lorann-0.1/PKG-INFO ADDED
@@ -0,0 +1,165 @@
1
+ Metadata-Version: 2.2
2
+ Name: lorann
3
+ Version: 0.1
4
+ Summary: Approximate Nearest Neighbor search library with extremely fast queries, tiny memory usage, and rapid indexing.
5
+ Home-page: https://github.com/ejaasaari/lorann
6
+ Author: Elias Jääsaari
7
+ Author-email: elias.jaasaari@gmail.com
8
+ License: MIT
9
+ Keywords: vector search,approximate nearest neighbor search
10
+ Classifier: Development Status :: 4 - Beta
11
+ Classifier: License :: OSI Approved :: MIT License
12
+ Classifier: Programming Language :: C++
13
+ Classifier: Programming Language :: Python
14
+ Classifier: Topic :: Database :: Database Engines/Servers
15
+ Classifier: Programming Language :: Python :: 3.9
16
+ Classifier: Programming Language :: Python :: 3.10
17
+ Classifier: Programming Language :: Python :: 3.11
18
+ Classifier: Programming Language :: Python :: 3.12
19
+ Classifier: Programming Language :: Python :: 3.13
20
+ Classifier: Operating System :: MacOS
21
+ Classifier: Operating System :: POSIX :: Linux
22
+ Classifier: Operating System :: Microsoft :: Windows
23
+ Description-Content-Type: text/markdown
24
+ License-File: LICENSE
25
+ Requires-Dist: numpy
26
+ Dynamic: author
27
+ Dynamic: author-email
28
+ Dynamic: classifier
29
+ Dynamic: description
30
+ Dynamic: description-content-type
31
+ Dynamic: home-page
32
+ Dynamic: keywords
33
+ Dynamic: license
34
+ Dynamic: requires-dist
35
+ Dynamic: summary
36
+
37
+ <h1 align="center">LoRANN</h1>
38
+ <div align="center">
39
+ Approximate Nearest Neighbor search library implementing <a href="https://arxiv.org/abs/2410.18926">reduced-rank regression</a>, a technique that enables extremely fast queries, tiny memory usage, and rapid indexing on modern high-dimensional embedding datasets.
40
+ </div>
41
+ <br/>
42
+
43
+ <div align="center">
44
+ <a href="https://github.com/ejaasaari/lorann/actions/workflows/build.yml"><img src="https://github.com/gvinciguerra/PyGM/actions/workflows/build.yml/badge.svg" alt="Build status" /></a>
45
+ <a href="https://arxiv.org/abs/2410.18926"><img src="https://img.shields.io/badge/Paper-NeurIPS%3A_LoRANN-blue" alt="Paper" /></a>
46
+ <a href="https://ejaasaari.github.io/lorann"><img src="https://img.shields.io/badge/api-reference-blue.svg" alt="Documentation" /></a>
47
+ <a href="https://github.com/ejaasaari/lorann/blob/master/LICENSE"><img src="https://img.shields.io/github/license/ejaasaari/lorann" alt="License" /></a>
48
+ <a href="https://github.com/ejaasaari/lorann/stargazers"><img src="https://img.shields.io/github/stars/ejaasaari/lorann" alt="GitHub stars" /></a>
49
+ </div>
50
+
51
+ ---
52
+
53
+ - Lightweight header-only C++17 library with Python bindings
54
+ - Query speed matching state-of-the-art graph methods but with tiny memory usage
55
+ - Optimized for modern high-dimensional (d > 100) embedding data sets
56
+ - Optimized for modern CPU architectures with acceleration for AVX2, AVX-512, and ARM NEON
57
+ - Supported distances: (negative) inner product, Euclidean distance, cosine distance
58
+ - Support for using GPUs for batch queries (experimental)
59
+ - Support for index serialization
60
+
61
+ ## Getting started
62
+
63
+ ### Python
64
+
65
+ Install the module with `pip install lorann`
66
+
67
+ On macOS, it is recommended to use the Homebrew version of Clang as the compiler:
68
+
69
+ ```shell script
70
+ brew install llvm libomp
71
+ CC=/opt/homebrew/opt/llvm/bin/clang CXX=/opt/homebrew/opt/llvm/bin/clang++ LDFLAGS=-L/opt/homebrew/opt/llvm/lib pip install lorann
72
+ ```
73
+
74
+ An example Dockerfile is provided for building the LoRANN Python wrapper in a Linux environment:
75
+
76
+ ```shell script
77
+ docker build -t lorann .
78
+ docker run --rm -it lorann
79
+ ```
80
+
81
+ A minimal example for indexing and querying a dataset using LoRANN is provided below:
82
+
83
+ ```python
84
+ import lorann
85
+ import numpy as np
86
+ from sklearn.datasets import fetch_openml # scikit-learn is used only for loading the data
87
+
88
+ X, _ = fetch_openml("mnist_784", version=1, return_X_y=True, as_frame=False)
89
+ X = np.ascontiguousarray(X, dtype=np.float32)
90
+
91
+ data = X[:60_000]
92
+ index = lorann.LorannIndex(
93
+ data=data,
94
+ n_clusters=256,
95
+ global_dim=128,
96
+ quantization_bits=8,
97
+ euclidean=True,
98
+ )
99
+
100
+ index.build()
101
+
102
+ k = 10
103
+ approximate = index.search(X[-1], k, clusters_to_search=8, points_to_rerank=100)
104
+ exact = index.exact_search(X[-1], k))
105
+
106
+ print('Approximate:', approximate)
107
+ print('Exact:', exact)
108
+ ```
109
+
110
+ For a more detailed example, see [examples/example.py](examples/example.py).
111
+
112
+ [Python documentation](https://eliasjaasaari.com/lorann/python.html)
113
+
114
+ ### C++
115
+
116
+ LoRANN is a header-only library so no installation is required: just include the header `lorann/lorann.h`. A C++ compiler with C++17 support (e.g. gcc/g++ >= 7) is required.
117
+
118
+ It is recommended to target the correct instruction set (e.g., by using `-march=native`) as LoRANN makes heavy use of SIMD intrinsics. The quantized version of LoRANN can use AVX-512 VNNI instructions, available in Intel Cascade Lake (and later) and AMD Zen 4, for improved performance.
119
+
120
+ Usage is similar to the Python version:
121
+
122
+ ```cpp
123
+ Lorann::Lorann<Lorann::SQ8Quantizer> index(data, n_samples, dim, n_clusters, global_dim);
124
+ index.build();
125
+
126
+ index.search(query, k, clusters_to_search, points_to_rerank, output);
127
+ ```
128
+
129
+ For a complete example, see [examples/cpp](examples/cpp).
130
+
131
+ [C++ documentation](https://eliasjaasaari.com/lorann/cpp.html)
132
+
133
+ ### GPU
134
+
135
+ Hardware accelerators such as GPUs and TPUs can be used to speed up ANN search for queries that arrive in batches. GPU/TPU support in LoRANN is experimental and available only as a Python module. Currently, the GPU is used only for queries and not for index building.
136
+
137
+ To use it, install the Python package and import `Lorann` from the desired submodule:
138
+
139
+ ```python
140
+ from lorann_gpu.jax import Lorann
141
+ ```
142
+
143
+ The available GPU submodules are `jax`, `torch`, `cupy`, and `mlx` with corresponding dependencies [Jax](https://jax.readthedocs.io/en/latest/), [PyTorch](https://pytorch.org/), [CuPy](https://cupy.dev/), or [MLX](https://github.com/ml-explore/mlx). The Jax implementation will probably be the fastest, at least on NVIDIA GPUs.
144
+
145
+ For a complete example, see [examples/gpu_example.py](examples/gpu_example.py)
146
+
147
+ ## Citation
148
+
149
+ If you use the library in an academic context, please consider citing the following paper:
150
+
151
+ > Jääsaari, E., Hyvönen, V., & Roos, T. (2024). LoRANN: Low-Rank Matrix Factorization for Approximate Nearest Neighbor Search. Advances in Neural Information Processing Systems, 37.
152
+
153
+ ~~~~
154
+ @article{Jaasaari2024,
155
+ title={LoRANN: Low-Rank Matrix Factorization for Approximate Nearest Neighbor Search},
156
+ author={J{\"a}{\"a}saari, Elias and Hyv{\"o}nen, Ville and Roos, Teemu},
157
+ journal={Advances in Neural Information Processing Systems},
158
+ volume={37},
159
+ year={2024}
160
+ }
161
+ ~~~~
162
+
163
+ ## License
164
+
165
+ LoRANN is available under the MIT License (see [LICENSE](LICENSE)). Note that third-party libraries in the [lorann](lorann) folder may be distributed under other open source licenses (see [licenses](licenses)).
lorann-0.1/README.md ADDED
@@ -0,0 +1,129 @@
1
+ <h1 align="center">LoRANN</h1>
2
+ <div align="center">
3
+ Approximate Nearest Neighbor search library implementing <a href="https://arxiv.org/abs/2410.18926">reduced-rank regression</a>, a technique that enables extremely fast queries, tiny memory usage, and rapid indexing on modern high-dimensional embedding datasets.
4
+ </div>
5
+ <br/>
6
+
7
+ <div align="center">
8
+ <a href="https://github.com/ejaasaari/lorann/actions/workflows/build.yml"><img src="https://github.com/gvinciguerra/PyGM/actions/workflows/build.yml/badge.svg" alt="Build status" /></a>
9
+ <a href="https://arxiv.org/abs/2410.18926"><img src="https://img.shields.io/badge/Paper-NeurIPS%3A_LoRANN-blue" alt="Paper" /></a>
10
+ <a href="https://ejaasaari.github.io/lorann"><img src="https://img.shields.io/badge/api-reference-blue.svg" alt="Documentation" /></a>
11
+ <a href="https://github.com/ejaasaari/lorann/blob/master/LICENSE"><img src="https://img.shields.io/github/license/ejaasaari/lorann" alt="License" /></a>
12
+ <a href="https://github.com/ejaasaari/lorann/stargazers"><img src="https://img.shields.io/github/stars/ejaasaari/lorann" alt="GitHub stars" /></a>
13
+ </div>
14
+
15
+ ---
16
+
17
+ - Lightweight header-only C++17 library with Python bindings
18
+ - Query speed matching state-of-the-art graph methods but with tiny memory usage
19
+ - Optimized for modern high-dimensional (d > 100) embedding data sets
20
+ - Optimized for modern CPU architectures with acceleration for AVX2, AVX-512, and ARM NEON
21
+ - Supported distances: (negative) inner product, Euclidean distance, cosine distance
22
+ - Support for using GPUs for batch queries (experimental)
23
+ - Support for index serialization
24
+
25
+ ## Getting started
26
+
27
+ ### Python
28
+
29
+ Install the module with `pip install lorann`
30
+
31
+ On macOS, it is recommended to use the Homebrew version of Clang as the compiler:
32
+
33
+ ```shell script
34
+ brew install llvm libomp
35
+ CC=/opt/homebrew/opt/llvm/bin/clang CXX=/opt/homebrew/opt/llvm/bin/clang++ LDFLAGS=-L/opt/homebrew/opt/llvm/lib pip install lorann
36
+ ```
37
+
38
+ An example Dockerfile is provided for building the LoRANN Python wrapper in a Linux environment:
39
+
40
+ ```shell script
41
+ docker build -t lorann .
42
+ docker run --rm -it lorann
43
+ ```
44
+
45
+ A minimal example for indexing and querying a dataset using LoRANN is provided below:
46
+
47
+ ```python
48
+ import lorann
49
+ import numpy as np
50
+ from sklearn.datasets import fetch_openml # scikit-learn is used only for loading the data
51
+
52
+ X, _ = fetch_openml("mnist_784", version=1, return_X_y=True, as_frame=False)
53
+ X = np.ascontiguousarray(X, dtype=np.float32)
54
+
55
+ data = X[:60_000]
56
+ index = lorann.LorannIndex(
57
+ data=data,
58
+ n_clusters=256,
59
+ global_dim=128,
60
+ quantization_bits=8,
61
+ euclidean=True,
62
+ )
63
+
64
+ index.build()
65
+
66
+ k = 10
67
+ approximate = index.search(X[-1], k, clusters_to_search=8, points_to_rerank=100)
68
+ exact = index.exact_search(X[-1], k))
69
+
70
+ print('Approximate:', approximate)
71
+ print('Exact:', exact)
72
+ ```
73
+
74
+ For a more detailed example, see [examples/example.py](examples/example.py).
75
+
76
+ [Python documentation](https://eliasjaasaari.com/lorann/python.html)
77
+
78
+ ### C++
79
+
80
+ LoRANN is a header-only library so no installation is required: just include the header `lorann/lorann.h`. A C++ compiler with C++17 support (e.g. gcc/g++ >= 7) is required.
81
+
82
+ It is recommended to target the correct instruction set (e.g., by using `-march=native`) as LoRANN makes heavy use of SIMD intrinsics. The quantized version of LoRANN can use AVX-512 VNNI instructions, available in Intel Cascade Lake (and later) and AMD Zen 4, for improved performance.
83
+
84
+ Usage is similar to the Python version:
85
+
86
+ ```cpp
87
+ Lorann::Lorann<Lorann::SQ8Quantizer> index(data, n_samples, dim, n_clusters, global_dim);
88
+ index.build();
89
+
90
+ index.search(query, k, clusters_to_search, points_to_rerank, output);
91
+ ```
92
+
93
+ For a complete example, see [examples/cpp](examples/cpp).
94
+
95
+ [C++ documentation](https://eliasjaasaari.com/lorann/cpp.html)
96
+
97
+ ### GPU
98
+
99
+ Hardware accelerators such as GPUs and TPUs can be used to speed up ANN search for queries that arrive in batches. GPU/TPU support in LoRANN is experimental and available only as a Python module. Currently, the GPU is used only for queries and not for index building.
100
+
101
+ To use it, install the Python package and import `Lorann` from the desired submodule:
102
+
103
+ ```python
104
+ from lorann_gpu.jax import Lorann
105
+ ```
106
+
107
+ The available GPU submodules are `jax`, `torch`, `cupy`, and `mlx` with corresponding dependencies [Jax](https://jax.readthedocs.io/en/latest/), [PyTorch](https://pytorch.org/), [CuPy](https://cupy.dev/), or [MLX](https://github.com/ml-explore/mlx). The Jax implementation will probably be the fastest, at least on NVIDIA GPUs.
108
+
109
+ For a complete example, see [examples/gpu_example.py](examples/gpu_example.py)
110
+
111
+ ## Citation
112
+
113
+ If you use the library in an academic context, please consider citing the following paper:
114
+
115
+ > Jääsaari, E., Hyvönen, V., & Roos, T. (2024). LoRANN: Low-Rank Matrix Factorization for Approximate Nearest Neighbor Search. Advances in Neural Information Processing Systems, 37.
116
+
117
+ ~~~~
118
+ @article{Jaasaari2024,
119
+ title={LoRANN: Low-Rank Matrix Factorization for Approximate Nearest Neighbor Search},
120
+ author={J{\"a}{\"a}saari, Elias and Hyv{\"o}nen, Ville and Roos, Teemu},
121
+ journal={Advances in Neural Information Processing Systems},
122
+ volume={37},
123
+ year={2024}
124
+ }
125
+ ~~~~
126
+
127
+ ## License
128
+
129
+ LoRANN is available under the MIT License (see [LICENSE](LICENSE)). Note that third-party libraries in the [lorann](lorann) folder may be distributed under other open source licenses (see [licenses](licenses)).
@@ -0,0 +1,52 @@
1
+ // This file is part of Eigen, a lightweight C++ template library
2
+ // for linear algebra.
3
+ //
4
+ // This Source Code Form is subject to the terms of the Mozilla
5
+ // Public License v. 2.0. If a copy of the MPL was not distributed
6
+ // with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
7
+
8
+ #ifndef EIGEN_ACCELERATESUPPORT_MODULE_H
9
+ #define EIGEN_ACCELERATESUPPORT_MODULE_H
10
+
11
+ #include "SparseCore"
12
+
13
+ #include "src/Core/util/DisableStupidWarnings.h"
14
+
15
+ /** \ingroup Support_modules
16
+ * \defgroup AccelerateSupport_Module AccelerateSupport module
17
+ *
18
+ * This module provides an interface to the Apple Accelerate library.
19
+ * It provides the seven following main factorization classes:
20
+ * - class AccelerateLLT: a Cholesky (LL^T) factorization.
21
+ * - class AccelerateLDLT: the default LDL^T factorization.
22
+ * - class AccelerateLDLTUnpivoted: a Cholesky-like LDL^T factorization with only 1x1 pivots and no pivoting
23
+ * - class AccelerateLDLTSBK: an LDL^T factorization with Supernode Bunch-Kaufman and static pivoting
24
+ * - class AccelerateLDLTTPP: an LDL^T factorization with full threshold partial pivoting
25
+ * - class AccelerateQR: a QR factorization
26
+ * - class AccelerateCholeskyAtA: a QR factorization without storing Q (equivalent to A^TA = R^T R)
27
+ *
28
+ * \code
29
+ * #include <Eigen/AccelerateSupport>
30
+ * \endcode
31
+ *
32
+ * In order to use this module, the Accelerate headers must be accessible from
33
+ * the include paths, and your binary must be linked to the Accelerate framework.
34
+ * The Accelerate library is only available on Apple hardware.
35
+ *
36
+ * Note that many of the algorithms can be influenced by the UpLo template
37
+ * argument. All matrices are assumed to be symmetric. For example, the following
38
+ * creates an LDLT factorization where your matrix is symmetric (implicit) and
39
+ * uses the lower triangle:
40
+ *
41
+ * \code
42
+ * AccelerateLDLT<SparseMatrix<float>, Lower> ldlt;
43
+ * \endcode
44
+ */
45
+
46
+ // IWYU pragma: begin_exports
47
+ #include "src/AccelerateSupport/AccelerateSupport.h"
48
+ // IWYU pragma: end_exports
49
+
50
+ #include "src/Core/util/ReenableStupidWarnings.h"
51
+
52
+ #endif // EIGEN_ACCELERATESUPPORT_MODULE_H
@@ -0,0 +1,43 @@
1
+ // This file is part of Eigen, a lightweight C++ template library
2
+ // for linear algebra.
3
+ //
4
+ // This Source Code Form is subject to the terms of the Mozilla
5
+ // Public License v. 2.0. If a copy of the MPL was not distributed
6
+ // with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
7
+
8
+ #ifndef EIGEN_CHOLESKY_MODULE_H
9
+ #define EIGEN_CHOLESKY_MODULE_H
10
+
11
+ #include "Core"
12
+ #include "Jacobi"
13
+
14
+ #include "src/Core/util/DisableStupidWarnings.h"
15
+
16
+ /** \defgroup Cholesky_Module Cholesky module
17
+ *
18
+ *
19
+ *
20
+ * This module provides two variants of the Cholesky decomposition for selfadjoint (hermitian) matrices.
21
+ * Those decompositions are also accessible via the following methods:
22
+ * - MatrixBase::llt()
23
+ * - MatrixBase::ldlt()
24
+ * - SelfAdjointView::llt()
25
+ * - SelfAdjointView::ldlt()
26
+ *
27
+ * \code
28
+ * #include <Eigen/Cholesky>
29
+ * \endcode
30
+ */
31
+
32
+ // IWYU pragma: begin_exports
33
+ #include "src/Cholesky/LLT.h"
34
+ #include "src/Cholesky/LDLT.h"
35
+ #ifdef EIGEN_USE_LAPACKE
36
+ #include "src/misc/lapacke_helpers.h"
37
+ #include "src/Cholesky/LLT_LAPACKE.h"
38
+ #endif
39
+ // IWYU pragma: end_exports
40
+
41
+ #include "src/Core/util/ReenableStupidWarnings.h"
42
+
43
+ #endif // EIGEN_CHOLESKY_MODULE_H
@@ -0,0 +1,48 @@
1
+ // This file is part of Eigen, a lightweight C++ template library
2
+ // for linear algebra.
3
+ //
4
+ // This Source Code Form is subject to the terms of the Mozilla
5
+ // Public License v. 2.0. If a copy of the MPL was not distributed
6
+ // with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
7
+
8
+ #ifndef EIGEN_CHOLMODSUPPORT_MODULE_H
9
+ #define EIGEN_CHOLMODSUPPORT_MODULE_H
10
+
11
+ #include "SparseCore"
12
+
13
+ #include "src/Core/util/DisableStupidWarnings.h"
14
+
15
+ #include <cholmod.h>
16
+
17
+ /** \ingroup Support_modules
18
+ * \defgroup CholmodSupport_Module CholmodSupport module
19
+ *
20
+ * This module provides an interface to the Cholmod library which is part of the <a
21
+ * href="http://www.suitesparse.com">suitesparse</a> package. It provides the two following main factorization classes:
22
+ * - class CholmodSupernodalLLT: a supernodal LLT Cholesky factorization.
23
+ * - class CholmodDecomposition: a general L(D)LT Cholesky factorization with automatic or explicit runtime selection of
24
+ * the underlying factorization method (supernodal or simplicial).
25
+ *
26
+ * For the sake of completeness, this module also propose the two following classes:
27
+ * - class CholmodSimplicialLLT
28
+ * - class CholmodSimplicialLDLT
29
+ * Note that these classes does not bring any particular advantage compared to the built-in
30
+ * SimplicialLLT and SimplicialLDLT factorization classes.
31
+ *
32
+ * \code
33
+ * #include <Eigen/CholmodSupport>
34
+ * \endcode
35
+ *
36
+ * In order to use this module, the cholmod headers must be accessible from the include paths, and your binary must be
37
+ * linked to the cholmod library and its dependencies. The dependencies depend on how cholmod has been compiled. For a
38
+ * cmake based project, you can use our FindCholmod.cmake module to help you in this task.
39
+ *
40
+ */
41
+
42
+ // IWYU pragma: begin_exports
43
+ #include "src/CholmodSupport/CholmodSupport.h"
44
+ // IWYU pragma: end_exports
45
+
46
+ #include "src/Core/util/ReenableStupidWarnings.h"
47
+
48
+ #endif // EIGEN_CHOLMODSUPPORT_MODULE_H