sequenzo 0.1.18__cp310-cp310-win_amd64.whl → 0.1.19__cp310-cp310-win_amd64.whl

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.

Potentially problematic release.


This version of sequenzo might be problematic. Click here for more details.

Files changed (396) hide show
  1. sequenzo/__init__.py +39 -7
  2. sequenzo/big_data/clara/utils/get_weighted_diss.c +154 -154
  3. sequenzo/big_data/clara/utils/get_weighted_diss.cp310-win_amd64.pyd +0 -0
  4. sequenzo/clustering/KMedoids.py +39 -0
  5. sequenzo/clustering/clustering_c_code.cp310-win_amd64.pyd +0 -0
  6. sequenzo/clustering/hierarchical_clustering.py +107 -5
  7. sequenzo/define_sequence_data.py +10 -1
  8. sequenzo/dissimilarity_measures/c_code.cp310-win_amd64.pyd +0 -0
  9. sequenzo/dissimilarity_measures/get_distance_matrix.py +1 -2
  10. sequenzo/dissimilarity_measures/utils/get_sm_trate_substitution_cost_matrix.c +154 -154
  11. sequenzo/dissimilarity_measures/utils/get_sm_trate_substitution_cost_matrix.cp310-win_amd64.pyd +0 -0
  12. sequenzo/dissimilarity_measures/utils/seqconc.c +154 -154
  13. sequenzo/dissimilarity_measures/utils/seqconc.cp310-win_amd64.pyd +0 -0
  14. sequenzo/dissimilarity_measures/utils/seqdss.c +154 -154
  15. sequenzo/dissimilarity_measures/utils/seqdss.cp310-win_amd64.pyd +0 -0
  16. sequenzo/dissimilarity_measures/utils/seqdur.c +154 -154
  17. sequenzo/dissimilarity_measures/utils/seqdur.cp310-win_amd64.pyd +0 -0
  18. sequenzo/dissimilarity_measures/utils/seqlength.c +154 -154
  19. sequenzo/dissimilarity_measures/utils/seqlength.cp310-win_amd64.pyd +0 -0
  20. sequenzo/multidomain/cat.py +0 -53
  21. sequenzo/multidomain/idcd.py +0 -1
  22. sequenzo/openmp_setup.py +233 -0
  23. sequenzo/visualization/plot_transition_matrix.py +21 -22
  24. {sequenzo-0.1.18.dist-info → sequenzo-0.1.19.dist-info}/METADATA +43 -10
  25. sequenzo-0.1.19.dist-info/RECORD +272 -0
  26. sequenzo/dissimilarity_measures/setup.py +0 -35
  27. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Cholesky/LDLT.h +0 -688
  28. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Cholesky/LLT.h +0 -558
  29. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Cholesky/LLT_LAPACKE.h +0 -99
  30. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/CholmodSupport/CholmodSupport.h +0 -682
  31. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Eigenvalues/ComplexEigenSolver.h +0 -346
  32. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Eigenvalues/ComplexSchur.h +0 -462
  33. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Eigenvalues/ComplexSchur_LAPACKE.h +0 -91
  34. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Eigenvalues/EigenSolver.h +0 -622
  35. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Eigenvalues/GeneralizedEigenSolver.h +0 -418
  36. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Eigenvalues/GeneralizedSelfAdjointEigenSolver.h +0 -226
  37. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Eigenvalues/HessenbergDecomposition.h +0 -374
  38. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Eigenvalues/MatrixBaseEigenvalues.h +0 -158
  39. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Eigenvalues/RealQZ.h +0 -657
  40. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Eigenvalues/RealSchur.h +0 -558
  41. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Eigenvalues/RealSchur_LAPACKE.h +0 -77
  42. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Eigenvalues/SelfAdjointEigenSolver.h +0 -904
  43. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Eigenvalues/SelfAdjointEigenSolver_LAPACKE.h +0 -87
  44. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Eigenvalues/Tridiagonalization.h +0 -561
  45. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Geometry/AlignedBox.h +0 -486
  46. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Geometry/AngleAxis.h +0 -247
  47. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Geometry/EulerAngles.h +0 -114
  48. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Geometry/Homogeneous.h +0 -501
  49. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Geometry/Hyperplane.h +0 -282
  50. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Geometry/OrthoMethods.h +0 -235
  51. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Geometry/ParametrizedLine.h +0 -232
  52. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Geometry/Quaternion.h +0 -870
  53. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Geometry/Rotation2D.h +0 -199
  54. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Geometry/RotationBase.h +0 -206
  55. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Geometry/Scaling.h +0 -188
  56. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Geometry/Transform.h +0 -1563
  57. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Geometry/Translation.h +0 -202
  58. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Geometry/Umeyama.h +0 -166
  59. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Geometry/arch/Geometry_SIMD.h +0 -168
  60. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Householder/BlockHouseholder.h +0 -110
  61. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Householder/Householder.h +0 -176
  62. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Householder/HouseholderSequence.h +0 -545
  63. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/IterativeLinearSolvers/BasicPreconditioners.h +0 -226
  64. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/IterativeLinearSolvers/BiCGSTAB.h +0 -212
  65. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/IterativeLinearSolvers/ConjugateGradient.h +0 -229
  66. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/IterativeLinearSolvers/IncompleteCholesky.h +0 -394
  67. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/IterativeLinearSolvers/IncompleteLUT.h +0 -453
  68. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/IterativeLinearSolvers/IterativeSolverBase.h +0 -444
  69. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/IterativeLinearSolvers/LeastSquareConjugateGradient.h +0 -198
  70. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/IterativeLinearSolvers/SolveWithGuess.h +0 -117
  71. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Jacobi/Jacobi.h +0 -483
  72. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/KLUSupport/KLUSupport.h +0 -358
  73. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/LU/Determinant.h +0 -117
  74. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/LU/FullPivLU.h +0 -877
  75. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/LU/InverseImpl.h +0 -432
  76. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/LU/PartialPivLU.h +0 -624
  77. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/LU/PartialPivLU_LAPACKE.h +0 -83
  78. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/LU/arch/InverseSize4.h +0 -351
  79. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/MetisSupport/MetisSupport.h +0 -137
  80. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/OrderingMethods/Amd.h +0 -435
  81. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/OrderingMethods/Eigen_Colamd.h +0 -1863
  82. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/OrderingMethods/Ordering.h +0 -153
  83. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/PaStiXSupport/PaStiXSupport.h +0 -678
  84. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/PardisoSupport/PardisoSupport.h +0 -545
  85. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/QR/ColPivHouseholderQR.h +0 -674
  86. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/QR/ColPivHouseholderQR_LAPACKE.h +0 -97
  87. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/QR/CompleteOrthogonalDecomposition.h +0 -635
  88. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/QR/FullPivHouseholderQR.h +0 -713
  89. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/QR/HouseholderQR.h +0 -434
  90. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/QR/HouseholderQR_LAPACKE.h +0 -68
  91. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SPQRSupport/SuiteSparseQRSupport.h +0 -335
  92. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SVD/BDCSVD.h +0 -1366
  93. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SVD/JacobiSVD.h +0 -812
  94. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SVD/JacobiSVD_LAPACKE.h +0 -91
  95. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SVD/SVDBase.h +0 -376
  96. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SVD/UpperBidiagonalization.h +0 -414
  97. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCholesky/SimplicialCholesky.h +0 -697
  98. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCholesky/SimplicialCholesky_impl.h +0 -174
  99. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/AmbiVector.h +0 -378
  100. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/CompressedStorage.h +0 -274
  101. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/ConservativeSparseSparseProduct.h +0 -352
  102. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/MappedSparseMatrix.h +0 -67
  103. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/SparseAssign.h +0 -270
  104. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/SparseBlock.h +0 -571
  105. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/SparseColEtree.h +0 -206
  106. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/SparseCompressedBase.h +0 -370
  107. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/SparseCwiseBinaryOp.h +0 -722
  108. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/SparseCwiseUnaryOp.h +0 -150
  109. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/SparseDenseProduct.h +0 -342
  110. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/SparseDiagonalProduct.h +0 -138
  111. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/SparseDot.h +0 -98
  112. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/SparseFuzzy.h +0 -29
  113. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/SparseMap.h +0 -305
  114. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/SparseMatrix.h +0 -1518
  115. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/SparseMatrixBase.h +0 -398
  116. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/SparsePermutation.h +0 -178
  117. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/SparseProduct.h +0 -181
  118. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/SparseRedux.h +0 -49
  119. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/SparseRef.h +0 -397
  120. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/SparseSelfAdjointView.h +0 -659
  121. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/SparseSolverBase.h +0 -124
  122. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/SparseSparseProductWithPruning.h +0 -198
  123. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/SparseTranspose.h +0 -92
  124. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/SparseTriangularView.h +0 -189
  125. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/SparseUtil.h +0 -186
  126. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/SparseVector.h +0 -478
  127. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/SparseView.h +0 -254
  128. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/TriangularSolver.h +0 -315
  129. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseLU/SparseLU.h +0 -923
  130. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseLU/SparseLUImpl.h +0 -66
  131. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseLU/SparseLU_Memory.h +0 -226
  132. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseLU/SparseLU_Structs.h +0 -110
  133. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseLU/SparseLU_SupernodalMatrix.h +0 -375
  134. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseLU/SparseLU_Utils.h +0 -80
  135. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseLU/SparseLU_column_bmod.h +0 -181
  136. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseLU/SparseLU_column_dfs.h +0 -179
  137. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseLU/SparseLU_copy_to_ucol.h +0 -107
  138. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseLU/SparseLU_gemm_kernel.h +0 -280
  139. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseLU/SparseLU_heap_relax_snode.h +0 -126
  140. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseLU/SparseLU_kernel_bmod.h +0 -130
  141. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseLU/SparseLU_panel_bmod.h +0 -223
  142. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseLU/SparseLU_panel_dfs.h +0 -258
  143. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseLU/SparseLU_pivotL.h +0 -137
  144. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseLU/SparseLU_pruneL.h +0 -136
  145. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseLU/SparseLU_relax_snode.h +0 -83
  146. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseQR/SparseQR.h +0 -758
  147. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/StlSupport/StdDeque.h +0 -116
  148. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/StlSupport/StdList.h +0 -106
  149. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/StlSupport/StdVector.h +0 -131
  150. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/StlSupport/details.h +0 -84
  151. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SuperLUSupport/SuperLUSupport.h +0 -1025
  152. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/UmfPackSupport/UmfPackSupport.h +0 -642
  153. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/misc/Image.h +0 -82
  154. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/misc/Kernel.h +0 -79
  155. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/misc/RealSvd2x2.h +0 -55
  156. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/misc/blas.h +0 -440
  157. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/misc/lapack.h +0 -152
  158. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/misc/lapacke.h +0 -16292
  159. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/misc/lapacke_mangling.h +0 -17
  160. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/plugins/ArrayCwiseBinaryOps.h +0 -358
  161. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/plugins/ArrayCwiseUnaryOps.h +0 -696
  162. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/plugins/BlockMethods.h +0 -1442
  163. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/plugins/CommonCwiseBinaryOps.h +0 -115
  164. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/plugins/CommonCwiseUnaryOps.h +0 -177
  165. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/plugins/IndexedViewMethods.h +0 -262
  166. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/plugins/MatrixCwiseBinaryOps.h +0 -152
  167. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/plugins/MatrixCwiseUnaryOps.h +0 -95
  168. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/plugins/ReshapedMethods.h +0 -149
  169. sequenzo/dissimilarity_measures/src/eigen/bench/BenchSparseUtil.h +0 -149
  170. sequenzo/dissimilarity_measures/src/eigen/bench/BenchTimer.h +0 -199
  171. sequenzo/dissimilarity_measures/src/eigen/bench/BenchUtil.h +0 -92
  172. sequenzo/dissimilarity_measures/src/eigen/bench/basicbenchmark.h +0 -63
  173. sequenzo/dissimilarity_measures/src/eigen/bench/btl/generic_bench/utils/utilities.h +0 -90
  174. sequenzo/dissimilarity_measures/src/eigen/bench/btl/libs/BLAS/blas.h +0 -675
  175. sequenzo/dissimilarity_measures/src/eigen/bench/btl/libs/BLAS/c_interface_base.h +0 -73
  176. sequenzo/dissimilarity_measures/src/eigen/bench/perf_monitoring/gemm_common.h +0 -67
  177. sequenzo/dissimilarity_measures/src/eigen/bench/perf_monitoring/gemv_common.h +0 -69
  178. sequenzo/dissimilarity_measures/src/eigen/bench/spbench/spbenchsolver.h +0 -573
  179. sequenzo/dissimilarity_measures/src/eigen/bench/spbench/spbenchstyle.h +0 -95
  180. sequenzo/dissimilarity_measures/src/eigen/bench/tensors/benchmark.h +0 -49
  181. sequenzo/dissimilarity_measures/src/eigen/bench/tensors/tensor_benchmarks.h +0 -597
  182. sequenzo/dissimilarity_measures/src/eigen/blas/BandTriangularSolver.h +0 -97
  183. sequenzo/dissimilarity_measures/src/eigen/blas/GeneralRank1Update.h +0 -44
  184. sequenzo/dissimilarity_measures/src/eigen/blas/PackedSelfadjointProduct.h +0 -53
  185. sequenzo/dissimilarity_measures/src/eigen/blas/PackedTriangularMatrixVector.h +0 -79
  186. sequenzo/dissimilarity_measures/src/eigen/blas/PackedTriangularSolverVector.h +0 -88
  187. sequenzo/dissimilarity_measures/src/eigen/blas/Rank2Update.h +0 -57
  188. sequenzo/dissimilarity_measures/src/eigen/blas/common.h +0 -175
  189. sequenzo/dissimilarity_measures/src/eigen/blas/f2c/datatypes.h +0 -24
  190. sequenzo/dissimilarity_measures/src/eigen/blas/level1_cplx_impl.h +0 -155
  191. sequenzo/dissimilarity_measures/src/eigen/blas/level1_impl.h +0 -144
  192. sequenzo/dissimilarity_measures/src/eigen/blas/level1_real_impl.h +0 -122
  193. sequenzo/dissimilarity_measures/src/eigen/blas/level2_cplx_impl.h +0 -360
  194. sequenzo/dissimilarity_measures/src/eigen/blas/level2_impl.h +0 -553
  195. sequenzo/dissimilarity_measures/src/eigen/blas/level2_real_impl.h +0 -306
  196. sequenzo/dissimilarity_measures/src/eigen/blas/level3_impl.h +0 -702
  197. sequenzo/dissimilarity_measures/src/eigen/debug/gdb/__init__.py +0 -1
  198. sequenzo/dissimilarity_measures/src/eigen/debug/gdb/printers.py +0 -314
  199. sequenzo/dissimilarity_measures/src/eigen/demos/mandelbrot/mandelbrot.h +0 -71
  200. sequenzo/dissimilarity_measures/src/eigen/demos/mix_eigen_and_c/binary_library.h +0 -71
  201. sequenzo/dissimilarity_measures/src/eigen/demos/opengl/camera.h +0 -118
  202. sequenzo/dissimilarity_measures/src/eigen/demos/opengl/gpuhelper.h +0 -207
  203. sequenzo/dissimilarity_measures/src/eigen/demos/opengl/icosphere.h +0 -30
  204. sequenzo/dissimilarity_measures/src/eigen/demos/opengl/quaternion_demo.h +0 -114
  205. sequenzo/dissimilarity_measures/src/eigen/demos/opengl/trackball.h +0 -42
  206. sequenzo/dissimilarity_measures/src/eigen/lapack/lapack_common.h +0 -29
  207. sequenzo/dissimilarity_measures/src/eigen/scripts/relicense.py +0 -69
  208. sequenzo/dissimilarity_measures/src/eigen/test/AnnoyingScalar.h +0 -165
  209. sequenzo/dissimilarity_measures/src/eigen/test/MovableScalar.h +0 -35
  210. sequenzo/dissimilarity_measures/src/eigen/test/SafeScalar.h +0 -30
  211. sequenzo/dissimilarity_measures/src/eigen/test/bug1213.h +0 -8
  212. sequenzo/dissimilarity_measures/src/eigen/test/evaluator_common.h +0 -0
  213. sequenzo/dissimilarity_measures/src/eigen/test/gpu_common.h +0 -176
  214. sequenzo/dissimilarity_measures/src/eigen/test/main.h +0 -857
  215. sequenzo/dissimilarity_measures/src/eigen/test/packetmath_test_shared.h +0 -275
  216. sequenzo/dissimilarity_measures/src/eigen/test/product.h +0 -259
  217. sequenzo/dissimilarity_measures/src/eigen/test/random_without_cast_overflow.h +0 -152
  218. sequenzo/dissimilarity_measures/src/eigen/test/solverbase.h +0 -36
  219. sequenzo/dissimilarity_measures/src/eigen/test/sparse.h +0 -204
  220. sequenzo/dissimilarity_measures/src/eigen/test/sparse_solver.h +0 -699
  221. sequenzo/dissimilarity_measures/src/eigen/test/split_test_helper.h +0 -5994
  222. sequenzo/dissimilarity_measures/src/eigen/test/svd_common.h +0 -521
  223. sequenzo/dissimilarity_measures/src/eigen/test/svd_fill.h +0 -118
  224. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/Tensor.h +0 -554
  225. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorArgMax.h +0 -329
  226. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorAssign.h +0 -247
  227. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorBase.h +0 -1176
  228. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorBlock.h +0 -1559
  229. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorBroadcasting.h +0 -1093
  230. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorChipping.h +0 -518
  231. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorConcatenation.h +0 -377
  232. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorContraction.h +0 -1023
  233. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorContractionBlocking.h +0 -73
  234. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorContractionCuda.h +0 -6
  235. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorContractionGpu.h +0 -1413
  236. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorContractionMapper.h +0 -575
  237. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorContractionSycl.h +0 -1650
  238. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorContractionThreadPool.h +0 -1679
  239. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorConversion.h +0 -456
  240. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorConvolution.h +0 -1132
  241. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorConvolutionSycl.h +0 -544
  242. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorCostModel.h +0 -214
  243. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorCustomOp.h +0 -347
  244. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorDevice.h +0 -137
  245. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorDeviceCuda.h +0 -6
  246. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorDeviceDefault.h +0 -104
  247. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorDeviceGpu.h +0 -389
  248. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorDeviceSycl.h +0 -1048
  249. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorDeviceThreadPool.h +0 -409
  250. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorDimensionList.h +0 -236
  251. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorDimensions.h +0 -490
  252. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorEvalTo.h +0 -236
  253. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorEvaluator.h +0 -983
  254. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorExecutor.h +0 -703
  255. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorExpr.h +0 -388
  256. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorFFT.h +0 -669
  257. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorFixedSize.h +0 -379
  258. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorForcedEval.h +0 -237
  259. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorForwardDeclarations.h +0 -191
  260. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorFunctors.h +0 -488
  261. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorGenerator.h +0 -302
  262. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorGlobalFunctions.h +0 -33
  263. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorGpuHipCudaDefines.h +0 -99
  264. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorGpuHipCudaUndefines.h +0 -44
  265. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorIO.h +0 -79
  266. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorImagePatch.h +0 -603
  267. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorIndexList.h +0 -738
  268. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorInflation.h +0 -247
  269. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorInitializer.h +0 -82
  270. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorIntDiv.h +0 -263
  271. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorLayoutSwap.h +0 -216
  272. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorMacros.h +0 -98
  273. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorMap.h +0 -327
  274. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorMeta.h +0 -311
  275. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorMorphing.h +0 -1102
  276. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorPadding.h +0 -708
  277. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorPatch.h +0 -291
  278. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorRandom.h +0 -322
  279. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorReduction.h +0 -998
  280. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorReductionCuda.h +0 -6
  281. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorReductionGpu.h +0 -966
  282. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorReductionSycl.h +0 -582
  283. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorRef.h +0 -454
  284. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorReverse.h +0 -465
  285. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorScan.h +0 -528
  286. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorScanSycl.h +0 -513
  287. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorShuffling.h +0 -471
  288. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorStorage.h +0 -161
  289. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorStriding.h +0 -346
  290. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorTrace.h +0 -303
  291. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorTraits.h +0 -264
  292. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorUInt128.h +0 -249
  293. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorVolumePatch.h +0 -629
  294. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/TensorSymmetry/DynamicSymmetry.h +0 -293
  295. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/TensorSymmetry/StaticSymmetry.h +0 -236
  296. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/TensorSymmetry/Symmetry.h +0 -338
  297. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/TensorSymmetry/util/TemplateGroupTheory.h +0 -669
  298. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/ThreadPool/Barrier.h +0 -67
  299. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/ThreadPool/EventCount.h +0 -249
  300. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/ThreadPool/NonBlockingThreadPool.h +0 -486
  301. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/ThreadPool/RunQueue.h +0 -236
  302. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/ThreadPool/ThreadCancel.h +0 -23
  303. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/ThreadPool/ThreadEnvironment.h +0 -40
  304. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/ThreadPool/ThreadLocal.h +0 -301
  305. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/ThreadPool/ThreadPoolInterface.h +0 -48
  306. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/ThreadPool/ThreadYield.h +0 -20
  307. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/util/CXX11Meta.h +0 -537
  308. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/util/CXX11Workarounds.h +0 -88
  309. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/util/EmulateArray.h +0 -261
  310. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/util/MaxSizeVector.h +0 -158
  311. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/AutoDiff/AutoDiffJacobian.h +0 -108
  312. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/AutoDiff/AutoDiffScalar.h +0 -730
  313. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/AutoDiff/AutoDiffVector.h +0 -220
  314. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/BVH/BVAlgorithms.h +0 -293
  315. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/BVH/KdBVH.h +0 -223
  316. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/Eigenvalues/ArpackSelfAdjointEigenSolver.h +0 -790
  317. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/EulerAngles/EulerAngles.h +0 -355
  318. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/EulerAngles/EulerSystem.h +0 -305
  319. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/FFT/ei_fftw_impl.h +0 -261
  320. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/FFT/ei_kissfft_impl.h +0 -449
  321. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/IterativeSolvers/ConstrainedConjGrad.h +0 -187
  322. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/IterativeSolvers/DGMRES.h +0 -511
  323. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/IterativeSolvers/GMRES.h +0 -335
  324. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/IterativeSolvers/IDRS.h +0 -436
  325. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/IterativeSolvers/IncompleteLU.h +0 -90
  326. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/IterativeSolvers/IterationController.h +0 -154
  327. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/IterativeSolvers/MINRES.h +0 -267
  328. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/IterativeSolvers/Scaling.h +0 -193
  329. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/KroneckerProduct/KroneckerTensorProduct.h +0 -305
  330. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/LevenbergMarquardt/LMcovar.h +0 -84
  331. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/LevenbergMarquardt/LMonestep.h +0 -202
  332. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/LevenbergMarquardt/LMpar.h +0 -160
  333. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/LevenbergMarquardt/LMqrsolv.h +0 -188
  334. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/LevenbergMarquardt/LevenbergMarquardt.h +0 -396
  335. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/MatrixFunctions/MatrixExponential.h +0 -441
  336. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/MatrixFunctions/MatrixFunction.h +0 -569
  337. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/MatrixFunctions/MatrixLogarithm.h +0 -373
  338. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/MatrixFunctions/MatrixPower.h +0 -705
  339. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/MatrixFunctions/MatrixSquareRoot.h +0 -368
  340. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/MatrixFunctions/StemFunction.h +0 -117
  341. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/MoreVectorization/MathFunctions.h +0 -95
  342. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/NonLinearOptimization/HybridNonLinearSolver.h +0 -601
  343. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/NonLinearOptimization/LevenbergMarquardt.h +0 -657
  344. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/NonLinearOptimization/chkder.h +0 -66
  345. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/NonLinearOptimization/covar.h +0 -70
  346. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/NonLinearOptimization/dogleg.h +0 -107
  347. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/NonLinearOptimization/fdjac1.h +0 -79
  348. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/NonLinearOptimization/lmpar.h +0 -298
  349. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/NonLinearOptimization/qrsolv.h +0 -91
  350. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/NonLinearOptimization/r1mpyq.h +0 -30
  351. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/NonLinearOptimization/r1updt.h +0 -99
  352. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/NonLinearOptimization/rwupdt.h +0 -49
  353. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/NumericalDiff/NumericalDiff.h +0 -130
  354. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/Polynomials/Companion.h +0 -280
  355. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/Polynomials/PolynomialSolver.h +0 -428
  356. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/Polynomials/PolynomialUtils.h +0 -143
  357. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/Skyline/SkylineInplaceLU.h +0 -352
  358. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/Skyline/SkylineMatrix.h +0 -862
  359. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/Skyline/SkylineMatrixBase.h +0 -212
  360. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/Skyline/SkylineProduct.h +0 -295
  361. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/Skyline/SkylineStorage.h +0 -259
  362. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/Skyline/SkylineUtil.h +0 -89
  363. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/SparseExtra/BlockOfDynamicSparseMatrix.h +0 -122
  364. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/SparseExtra/BlockSparseMatrix.h +0 -1079
  365. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/SparseExtra/DynamicSparseMatrix.h +0 -404
  366. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/SparseExtra/MarketIO.h +0 -282
  367. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/SparseExtra/MatrixMarketIterator.h +0 -247
  368. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/SparseExtra/RandomSetter.h +0 -349
  369. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsArrayAPI.h +0 -286
  370. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsBFloat16.h +0 -68
  371. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsFunctors.h +0 -357
  372. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsHalf.h +0 -66
  373. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h +0 -1959
  374. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsPacketMath.h +0 -118
  375. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/SpecialFunctions/HipVectorCompatibility.h +0 -67
  376. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsArrayAPI.h +0 -167
  377. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsBFloat16.h +0 -58
  378. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsFunctors.h +0 -330
  379. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsHalf.h +0 -58
  380. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h +0 -2045
  381. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsPacketMath.h +0 -79
  382. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/SpecialFunctions/arch/AVX/BesselFunctions.h +0 -46
  383. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/SpecialFunctions/arch/AVX/SpecialFunctions.h +0 -16
  384. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/SpecialFunctions/arch/AVX512/BesselFunctions.h +0 -46
  385. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/SpecialFunctions/arch/AVX512/SpecialFunctions.h +0 -16
  386. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/SpecialFunctions/arch/GPU/SpecialFunctions.h +0 -369
  387. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/SpecialFunctions/arch/NEON/BesselFunctions.h +0 -54
  388. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/SpecialFunctions/arch/NEON/SpecialFunctions.h +0 -34
  389. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/Splines/Spline.h +0 -507
  390. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/Splines/SplineFitting.h +0 -431
  391. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/Splines/SplineFwd.h +0 -93
  392. sequenzo/dissimilarity_measures/src/eigen/unsupported/test/matrix_functions.h +0 -67
  393. sequenzo-0.1.18.dist-info/RECORD +0 -638
  394. {sequenzo-0.1.18.dist-info → sequenzo-0.1.19.dist-info}/WHEEL +0 -0
  395. {sequenzo-0.1.18.dist-info → sequenzo-0.1.19.dist-info}/licenses/LICENSE +0 -0
  396. {sequenzo-0.1.18.dist-info → sequenzo-0.1.19.dist-info}/top_level.txt +0 -0
@@ -1,1025 +0,0 @@
1
- // This file is part of Eigen, a lightweight C++ template library
2
- // for linear algebra.
3
- //
4
- // Copyright (C) 2008-2015 Gael Guennebaud <gael.guennebaud@inria.fr>
5
- //
6
- // This Source Code Form is subject to the terms of the Mozilla
7
- // Public License v. 2.0. If a copy of the MPL was not distributed
8
- // with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
9
-
10
- #ifndef EIGEN_SUPERLUSUPPORT_H
11
- #define EIGEN_SUPERLUSUPPORT_H
12
-
13
- namespace Eigen {
14
-
15
- #if defined(SUPERLU_MAJOR_VERSION) && (SUPERLU_MAJOR_VERSION >= 5)
16
- #define DECL_GSSVX(PREFIX,FLOATTYPE,KEYTYPE) \
17
- extern "C" { \
18
- extern void PREFIX##gssvx(superlu_options_t *, SuperMatrix *, int *, int *, int *, \
19
- char *, FLOATTYPE *, FLOATTYPE *, SuperMatrix *, SuperMatrix *, \
20
- void *, int, SuperMatrix *, SuperMatrix *, \
21
- FLOATTYPE *, FLOATTYPE *, FLOATTYPE *, FLOATTYPE *, \
22
- GlobalLU_t *, mem_usage_t *, SuperLUStat_t *, int *); \
23
- } \
24
- inline float SuperLU_gssvx(superlu_options_t *options, SuperMatrix *A, \
25
- int *perm_c, int *perm_r, int *etree, char *equed, \
26
- FLOATTYPE *R, FLOATTYPE *C, SuperMatrix *L, \
27
- SuperMatrix *U, void *work, int lwork, \
28
- SuperMatrix *B, SuperMatrix *X, \
29
- FLOATTYPE *recip_pivot_growth, \
30
- FLOATTYPE *rcond, FLOATTYPE *ferr, FLOATTYPE *berr, \
31
- SuperLUStat_t *stats, int *info, KEYTYPE) { \
32
- mem_usage_t mem_usage; \
33
- GlobalLU_t gLU; \
34
- PREFIX##gssvx(options, A, perm_c, perm_r, etree, equed, R, C, L, \
35
- U, work, lwork, B, X, recip_pivot_growth, rcond, \
36
- ferr, berr, &gLU, &mem_usage, stats, info); \
37
- return mem_usage.for_lu; /* bytes used by the factor storage */ \
38
- }
39
- #else // version < 5.0
40
- #define DECL_GSSVX(PREFIX,FLOATTYPE,KEYTYPE) \
41
- extern "C" { \
42
- extern void PREFIX##gssvx(superlu_options_t *, SuperMatrix *, int *, int *, int *, \
43
- char *, FLOATTYPE *, FLOATTYPE *, SuperMatrix *, SuperMatrix *, \
44
- void *, int, SuperMatrix *, SuperMatrix *, \
45
- FLOATTYPE *, FLOATTYPE *, FLOATTYPE *, FLOATTYPE *, \
46
- mem_usage_t *, SuperLUStat_t *, int *); \
47
- } \
48
- inline float SuperLU_gssvx(superlu_options_t *options, SuperMatrix *A, \
49
- int *perm_c, int *perm_r, int *etree, char *equed, \
50
- FLOATTYPE *R, FLOATTYPE *C, SuperMatrix *L, \
51
- SuperMatrix *U, void *work, int lwork, \
52
- SuperMatrix *B, SuperMatrix *X, \
53
- FLOATTYPE *recip_pivot_growth, \
54
- FLOATTYPE *rcond, FLOATTYPE *ferr, FLOATTYPE *berr, \
55
- SuperLUStat_t *stats, int *info, KEYTYPE) { \
56
- mem_usage_t mem_usage; \
57
- PREFIX##gssvx(options, A, perm_c, perm_r, etree, equed, R, C, L, \
58
- U, work, lwork, B, X, recip_pivot_growth, rcond, \
59
- ferr, berr, &mem_usage, stats, info); \
60
- return mem_usage.for_lu; /* bytes used by the factor storage */ \
61
- }
62
- #endif
63
-
64
- DECL_GSSVX(s,float,float)
65
- DECL_GSSVX(c,float,std::complex<float>)
66
- DECL_GSSVX(d,double,double)
67
- DECL_GSSVX(z,double,std::complex<double>)
68
-
69
- #ifdef MILU_ALPHA
70
- #define EIGEN_SUPERLU_HAS_ILU
71
- #endif
72
-
73
- #ifdef EIGEN_SUPERLU_HAS_ILU
74
-
75
- // similarly for the incomplete factorization using gsisx
76
- #define DECL_GSISX(PREFIX,FLOATTYPE,KEYTYPE) \
77
- extern "C" { \
78
- extern void PREFIX##gsisx(superlu_options_t *, SuperMatrix *, int *, int *, int *, \
79
- char *, FLOATTYPE *, FLOATTYPE *, SuperMatrix *, SuperMatrix *, \
80
- void *, int, SuperMatrix *, SuperMatrix *, FLOATTYPE *, FLOATTYPE *, \
81
- mem_usage_t *, SuperLUStat_t *, int *); \
82
- } \
83
- inline float SuperLU_gsisx(superlu_options_t *options, SuperMatrix *A, \
84
- int *perm_c, int *perm_r, int *etree, char *equed, \
85
- FLOATTYPE *R, FLOATTYPE *C, SuperMatrix *L, \
86
- SuperMatrix *U, void *work, int lwork, \
87
- SuperMatrix *B, SuperMatrix *X, \
88
- FLOATTYPE *recip_pivot_growth, \
89
- FLOATTYPE *rcond, \
90
- SuperLUStat_t *stats, int *info, KEYTYPE) { \
91
- mem_usage_t mem_usage; \
92
- PREFIX##gsisx(options, A, perm_c, perm_r, etree, equed, R, C, L, \
93
- U, work, lwork, B, X, recip_pivot_growth, rcond, \
94
- &mem_usage, stats, info); \
95
- return mem_usage.for_lu; /* bytes used by the factor storage */ \
96
- }
97
-
98
- DECL_GSISX(s,float,float)
99
- DECL_GSISX(c,float,std::complex<float>)
100
- DECL_GSISX(d,double,double)
101
- DECL_GSISX(z,double,std::complex<double>)
102
-
103
- #endif
104
-
105
- template<typename MatrixType>
106
- struct SluMatrixMapHelper;
107
-
108
- /** \internal
109
- *
110
- * A wrapper class for SuperLU matrices. It supports only compressed sparse matrices
111
- * and dense matrices. Supernodal and other fancy format are not supported by this wrapper.
112
- *
113
- * This wrapper class mainly aims to avoids the need of dynamic allocation of the storage structure.
114
- */
115
- struct SluMatrix : SuperMatrix
116
- {
117
- SluMatrix()
118
- {
119
- Store = &storage;
120
- }
121
-
122
- SluMatrix(const SluMatrix& other)
123
- : SuperMatrix(other)
124
- {
125
- Store = &storage;
126
- storage = other.storage;
127
- }
128
-
129
- SluMatrix& operator=(const SluMatrix& other)
130
- {
131
- SuperMatrix::operator=(static_cast<const SuperMatrix&>(other));
132
- Store = &storage;
133
- storage = other.storage;
134
- return *this;
135
- }
136
-
137
- struct
138
- {
139
- union {int nnz;int lda;};
140
- void *values;
141
- int *innerInd;
142
- int *outerInd;
143
- } storage;
144
-
145
- void setStorageType(Stype_t t)
146
- {
147
- Stype = t;
148
- if (t==SLU_NC || t==SLU_NR || t==SLU_DN)
149
- Store = &storage;
150
- else
151
- {
152
- eigen_assert(false && "storage type not supported");
153
- Store = 0;
154
- }
155
- }
156
-
157
- template<typename Scalar>
158
- void setScalarType()
159
- {
160
- if (internal::is_same<Scalar,float>::value)
161
- Dtype = SLU_S;
162
- else if (internal::is_same<Scalar,double>::value)
163
- Dtype = SLU_D;
164
- else if (internal::is_same<Scalar,std::complex<float> >::value)
165
- Dtype = SLU_C;
166
- else if (internal::is_same<Scalar,std::complex<double> >::value)
167
- Dtype = SLU_Z;
168
- else
169
- {
170
- eigen_assert(false && "Scalar type not supported by SuperLU");
171
- }
172
- }
173
-
174
- template<typename MatrixType>
175
- static SluMatrix Map(MatrixBase<MatrixType>& _mat)
176
- {
177
- MatrixType& mat(_mat.derived());
178
- eigen_assert( ((MatrixType::Flags&RowMajorBit)!=RowMajorBit) && "row-major dense matrices are not supported by SuperLU");
179
- SluMatrix res;
180
- res.setStorageType(SLU_DN);
181
- res.setScalarType<typename MatrixType::Scalar>();
182
- res.Mtype = SLU_GE;
183
-
184
- res.nrow = internal::convert_index<int>(mat.rows());
185
- res.ncol = internal::convert_index<int>(mat.cols());
186
-
187
- res.storage.lda = internal::convert_index<int>(MatrixType::IsVectorAtCompileTime ? mat.size() : mat.outerStride());
188
- res.storage.values = (void*)(mat.data());
189
- return res;
190
- }
191
-
192
- template<typename MatrixType>
193
- static SluMatrix Map(SparseMatrixBase<MatrixType>& a_mat)
194
- {
195
- MatrixType &mat(a_mat.derived());
196
- SluMatrix res;
197
- if ((MatrixType::Flags&RowMajorBit)==RowMajorBit)
198
- {
199
- res.setStorageType(SLU_NR);
200
- res.nrow = internal::convert_index<int>(mat.cols());
201
- res.ncol = internal::convert_index<int>(mat.rows());
202
- }
203
- else
204
- {
205
- res.setStorageType(SLU_NC);
206
- res.nrow = internal::convert_index<int>(mat.rows());
207
- res.ncol = internal::convert_index<int>(mat.cols());
208
- }
209
-
210
- res.Mtype = SLU_GE;
211
-
212
- res.storage.nnz = internal::convert_index<int>(mat.nonZeros());
213
- res.storage.values = mat.valuePtr();
214
- res.storage.innerInd = mat.innerIndexPtr();
215
- res.storage.outerInd = mat.outerIndexPtr();
216
-
217
- res.setScalarType<typename MatrixType::Scalar>();
218
-
219
- // FIXME the following is not very accurate
220
- if (int(MatrixType::Flags) & int(Upper))
221
- res.Mtype = SLU_TRU;
222
- if (int(MatrixType::Flags) & int(Lower))
223
- res.Mtype = SLU_TRL;
224
-
225
- eigen_assert(((int(MatrixType::Flags) & int(SelfAdjoint))==0) && "SelfAdjoint matrix shape not supported by SuperLU");
226
-
227
- return res;
228
- }
229
- };
230
-
231
- template<typename Scalar, int Rows, int Cols, int Options, int MRows, int MCols>
232
- struct SluMatrixMapHelper<Matrix<Scalar,Rows,Cols,Options,MRows,MCols> >
233
- {
234
- typedef Matrix<Scalar,Rows,Cols,Options,MRows,MCols> MatrixType;
235
- static void run(MatrixType& mat, SluMatrix& res)
236
- {
237
- eigen_assert( ((Options&RowMajor)!=RowMajor) && "row-major dense matrices is not supported by SuperLU");
238
- res.setStorageType(SLU_DN);
239
- res.setScalarType<Scalar>();
240
- res.Mtype = SLU_GE;
241
-
242
- res.nrow = mat.rows();
243
- res.ncol = mat.cols();
244
-
245
- res.storage.lda = mat.outerStride();
246
- res.storage.values = mat.data();
247
- }
248
- };
249
-
250
- template<typename Derived>
251
- struct SluMatrixMapHelper<SparseMatrixBase<Derived> >
252
- {
253
- typedef Derived MatrixType;
254
- static void run(MatrixType& mat, SluMatrix& res)
255
- {
256
- if ((MatrixType::Flags&RowMajorBit)==RowMajorBit)
257
- {
258
- res.setStorageType(SLU_NR);
259
- res.nrow = mat.cols();
260
- res.ncol = mat.rows();
261
- }
262
- else
263
- {
264
- res.setStorageType(SLU_NC);
265
- res.nrow = mat.rows();
266
- res.ncol = mat.cols();
267
- }
268
-
269
- res.Mtype = SLU_GE;
270
-
271
- res.storage.nnz = mat.nonZeros();
272
- res.storage.values = mat.valuePtr();
273
- res.storage.innerInd = mat.innerIndexPtr();
274
- res.storage.outerInd = mat.outerIndexPtr();
275
-
276
- res.setScalarType<typename MatrixType::Scalar>();
277
-
278
- // FIXME the following is not very accurate
279
- if (MatrixType::Flags & Upper)
280
- res.Mtype = SLU_TRU;
281
- if (MatrixType::Flags & Lower)
282
- res.Mtype = SLU_TRL;
283
-
284
- eigen_assert(((MatrixType::Flags & SelfAdjoint)==0) && "SelfAdjoint matrix shape not supported by SuperLU");
285
- }
286
- };
287
-
288
- namespace internal {
289
-
290
- template<typename MatrixType>
291
- SluMatrix asSluMatrix(MatrixType& mat)
292
- {
293
- return SluMatrix::Map(mat);
294
- }
295
-
296
- /** View a Super LU matrix as an Eigen expression */
297
- template<typename Scalar, int Flags, typename Index>
298
- MappedSparseMatrix<Scalar,Flags,Index> map_superlu(SluMatrix& sluMat)
299
- {
300
- eigen_assert(((Flags&RowMajor)==RowMajor && sluMat.Stype == SLU_NR)
301
- || ((Flags&ColMajor)==ColMajor && sluMat.Stype == SLU_NC));
302
-
303
- Index outerSize = (Flags&RowMajor)==RowMajor ? sluMat.ncol : sluMat.nrow;
304
-
305
- return MappedSparseMatrix<Scalar,Flags,Index>(
306
- sluMat.nrow, sluMat.ncol, sluMat.storage.outerInd[outerSize],
307
- sluMat.storage.outerInd, sluMat.storage.innerInd, reinterpret_cast<Scalar*>(sluMat.storage.values) );
308
- }
309
-
310
- } // end namespace internal
311
-
312
- /** \ingroup SuperLUSupport_Module
313
- * \class SuperLUBase
314
- * \brief The base class for the direct and incomplete LU factorization of SuperLU
315
- */
316
- template<typename _MatrixType, typename Derived>
317
- class SuperLUBase : public SparseSolverBase<Derived>
318
- {
319
- protected:
320
- typedef SparseSolverBase<Derived> Base;
321
- using Base::derived;
322
- using Base::m_isInitialized;
323
- public:
324
- typedef _MatrixType MatrixType;
325
- typedef typename MatrixType::Scalar Scalar;
326
- typedef typename MatrixType::RealScalar RealScalar;
327
- typedef typename MatrixType::StorageIndex StorageIndex;
328
- typedef Matrix<Scalar,Dynamic,1> Vector;
329
- typedef Matrix<int, 1, MatrixType::ColsAtCompileTime> IntRowVectorType;
330
- typedef Matrix<int, MatrixType::RowsAtCompileTime, 1> IntColVectorType;
331
- typedef Map<PermutationMatrix<Dynamic,Dynamic,int> > PermutationMap;
332
- typedef SparseMatrix<Scalar> LUMatrixType;
333
- enum {
334
- ColsAtCompileTime = MatrixType::ColsAtCompileTime,
335
- MaxColsAtCompileTime = MatrixType::MaxColsAtCompileTime
336
- };
337
-
338
- public:
339
-
340
- SuperLUBase() {}
341
-
342
- ~SuperLUBase()
343
- {
344
- clearFactors();
345
- }
346
-
347
- inline Index rows() const { return m_matrix.rows(); }
348
- inline Index cols() const { return m_matrix.cols(); }
349
-
350
- /** \returns a reference to the Super LU option object to configure the Super LU algorithms. */
351
- inline superlu_options_t& options() { return m_sluOptions; }
352
-
353
- /** \brief Reports whether previous computation was successful.
354
- *
355
- * \returns \c Success if computation was successful,
356
- * \c NumericalIssue if the matrix.appears to be negative.
357
- */
358
- ComputationInfo info() const
359
- {
360
- eigen_assert(m_isInitialized && "Decomposition is not initialized.");
361
- return m_info;
362
- }
363
-
364
- /** Computes the sparse Cholesky decomposition of \a matrix */
365
- void compute(const MatrixType& matrix)
366
- {
367
- derived().analyzePattern(matrix);
368
- derived().factorize(matrix);
369
- }
370
-
371
- /** Performs a symbolic decomposition on the sparcity of \a matrix.
372
- *
373
- * This function is particularly useful when solving for several problems having the same structure.
374
- *
375
- * \sa factorize()
376
- */
377
- void analyzePattern(const MatrixType& /*matrix*/)
378
- {
379
- m_isInitialized = true;
380
- m_info = Success;
381
- m_analysisIsOk = true;
382
- m_factorizationIsOk = false;
383
- }
384
-
385
- template<typename Stream>
386
- void dumpMemory(Stream& /*s*/)
387
- {}
388
-
389
- protected:
390
-
391
- void initFactorization(const MatrixType& a)
392
- {
393
- set_default_options(&this->m_sluOptions);
394
-
395
- const Index size = a.rows();
396
- m_matrix = a;
397
-
398
- m_sluA = internal::asSluMatrix(m_matrix);
399
- clearFactors();
400
-
401
- m_p.resize(size);
402
- m_q.resize(size);
403
- m_sluRscale.resize(size);
404
- m_sluCscale.resize(size);
405
- m_sluEtree.resize(size);
406
-
407
- // set empty B and X
408
- m_sluB.setStorageType(SLU_DN);
409
- m_sluB.setScalarType<Scalar>();
410
- m_sluB.Mtype = SLU_GE;
411
- m_sluB.storage.values = 0;
412
- m_sluB.nrow = 0;
413
- m_sluB.ncol = 0;
414
- m_sluB.storage.lda = internal::convert_index<int>(size);
415
- m_sluX = m_sluB;
416
-
417
- m_extractedDataAreDirty = true;
418
- }
419
-
420
- void init()
421
- {
422
- m_info = InvalidInput;
423
- m_isInitialized = false;
424
- m_sluL.Store = 0;
425
- m_sluU.Store = 0;
426
- }
427
-
428
- void extractData() const;
429
-
430
- void clearFactors()
431
- {
432
- if(m_sluL.Store)
433
- Destroy_SuperNode_Matrix(&m_sluL);
434
- if(m_sluU.Store)
435
- Destroy_CompCol_Matrix(&m_sluU);
436
-
437
- m_sluL.Store = 0;
438
- m_sluU.Store = 0;
439
-
440
- memset(&m_sluL,0,sizeof m_sluL);
441
- memset(&m_sluU,0,sizeof m_sluU);
442
- }
443
-
444
- // cached data to reduce reallocation, etc.
445
- mutable LUMatrixType m_l;
446
- mutable LUMatrixType m_u;
447
- mutable IntColVectorType m_p;
448
- mutable IntRowVectorType m_q;
449
-
450
- mutable LUMatrixType m_matrix; // copy of the factorized matrix
451
- mutable SluMatrix m_sluA;
452
- mutable SuperMatrix m_sluL, m_sluU;
453
- mutable SluMatrix m_sluB, m_sluX;
454
- mutable SuperLUStat_t m_sluStat;
455
- mutable superlu_options_t m_sluOptions;
456
- mutable std::vector<int> m_sluEtree;
457
- mutable Matrix<RealScalar,Dynamic,1> m_sluRscale, m_sluCscale;
458
- mutable Matrix<RealScalar,Dynamic,1> m_sluFerr, m_sluBerr;
459
- mutable char m_sluEqued;
460
-
461
- mutable ComputationInfo m_info;
462
- int m_factorizationIsOk;
463
- int m_analysisIsOk;
464
- mutable bool m_extractedDataAreDirty;
465
-
466
- private:
467
- SuperLUBase(SuperLUBase& ) { }
468
- };
469
-
470
-
471
- /** \ingroup SuperLUSupport_Module
472
- * \class SuperLU
473
- * \brief A sparse direct LU factorization and solver based on the SuperLU library
474
- *
475
- * This class allows to solve for A.X = B sparse linear problems via a direct LU factorization
476
- * using the SuperLU library. The sparse matrix A must be squared and invertible. The vectors or matrices
477
- * X and B can be either dense or sparse.
478
- *
479
- * \tparam _MatrixType the type of the sparse matrix A, it must be a SparseMatrix<>
480
- *
481
- * \warning This class is only for the 4.x versions of SuperLU. The 3.x and 5.x versions are not supported.
482
- *
483
- * \implsparsesolverconcept
484
- *
485
- * \sa \ref TutorialSparseSolverConcept, class SparseLU
486
- */
487
- template<typename _MatrixType>
488
- class SuperLU : public SuperLUBase<_MatrixType,SuperLU<_MatrixType> >
489
- {
490
- public:
491
- typedef SuperLUBase<_MatrixType,SuperLU> Base;
492
- typedef _MatrixType MatrixType;
493
- typedef typename Base::Scalar Scalar;
494
- typedef typename Base::RealScalar RealScalar;
495
- typedef typename Base::StorageIndex StorageIndex;
496
- typedef typename Base::IntRowVectorType IntRowVectorType;
497
- typedef typename Base::IntColVectorType IntColVectorType;
498
- typedef typename Base::PermutationMap PermutationMap;
499
- typedef typename Base::LUMatrixType LUMatrixType;
500
- typedef TriangularView<LUMatrixType, Lower|UnitDiag> LMatrixType;
501
- typedef TriangularView<LUMatrixType, Upper> UMatrixType;
502
-
503
- public:
504
- using Base::_solve_impl;
505
-
506
- SuperLU() : Base() { init(); }
507
-
508
- explicit SuperLU(const MatrixType& matrix) : Base()
509
- {
510
- init();
511
- Base::compute(matrix);
512
- }
513
-
514
- ~SuperLU()
515
- {
516
- }
517
-
518
- /** Performs a symbolic decomposition on the sparcity of \a matrix.
519
- *
520
- * This function is particularly useful when solving for several problems having the same structure.
521
- *
522
- * \sa factorize()
523
- */
524
- void analyzePattern(const MatrixType& matrix)
525
- {
526
- m_info = InvalidInput;
527
- m_isInitialized = false;
528
- Base::analyzePattern(matrix);
529
- }
530
-
531
- /** Performs a numeric decomposition of \a matrix
532
- *
533
- * The given matrix must has the same sparcity than the matrix on which the symbolic decomposition has been performed.
534
- *
535
- * \sa analyzePattern()
536
- */
537
- void factorize(const MatrixType& matrix);
538
-
539
- /** \internal */
540
- template<typename Rhs,typename Dest>
541
- void _solve_impl(const MatrixBase<Rhs> &b, MatrixBase<Dest> &dest) const;
542
-
543
- inline const LMatrixType& matrixL() const
544
- {
545
- if (m_extractedDataAreDirty) this->extractData();
546
- return m_l;
547
- }
548
-
549
- inline const UMatrixType& matrixU() const
550
- {
551
- if (m_extractedDataAreDirty) this->extractData();
552
- return m_u;
553
- }
554
-
555
- inline const IntColVectorType& permutationP() const
556
- {
557
- if (m_extractedDataAreDirty) this->extractData();
558
- return m_p;
559
- }
560
-
561
- inline const IntRowVectorType& permutationQ() const
562
- {
563
- if (m_extractedDataAreDirty) this->extractData();
564
- return m_q;
565
- }
566
-
567
- Scalar determinant() const;
568
-
569
- protected:
570
-
571
- using Base::m_matrix;
572
- using Base::m_sluOptions;
573
- using Base::m_sluA;
574
- using Base::m_sluB;
575
- using Base::m_sluX;
576
- using Base::m_p;
577
- using Base::m_q;
578
- using Base::m_sluEtree;
579
- using Base::m_sluEqued;
580
- using Base::m_sluRscale;
581
- using Base::m_sluCscale;
582
- using Base::m_sluL;
583
- using Base::m_sluU;
584
- using Base::m_sluStat;
585
- using Base::m_sluFerr;
586
- using Base::m_sluBerr;
587
- using Base::m_l;
588
- using Base::m_u;
589
-
590
- using Base::m_analysisIsOk;
591
- using Base::m_factorizationIsOk;
592
- using Base::m_extractedDataAreDirty;
593
- using Base::m_isInitialized;
594
- using Base::m_info;
595
-
596
- void init()
597
- {
598
- Base::init();
599
-
600
- set_default_options(&this->m_sluOptions);
601
- m_sluOptions.PrintStat = NO;
602
- m_sluOptions.ConditionNumber = NO;
603
- m_sluOptions.Trans = NOTRANS;
604
- m_sluOptions.ColPerm = COLAMD;
605
- }
606
-
607
-
608
- private:
609
- SuperLU(SuperLU& ) { }
610
- };
611
-
612
- template<typename MatrixType>
613
- void SuperLU<MatrixType>::factorize(const MatrixType& a)
614
- {
615
- eigen_assert(m_analysisIsOk && "You must first call analyzePattern()");
616
- if(!m_analysisIsOk)
617
- {
618
- m_info = InvalidInput;
619
- return;
620
- }
621
-
622
- this->initFactorization(a);
623
-
624
- m_sluOptions.ColPerm = COLAMD;
625
- int info = 0;
626
- RealScalar recip_pivot_growth, rcond;
627
- RealScalar ferr, berr;
628
-
629
- StatInit(&m_sluStat);
630
- SuperLU_gssvx(&m_sluOptions, &m_sluA, m_q.data(), m_p.data(), &m_sluEtree[0],
631
- &m_sluEqued, &m_sluRscale[0], &m_sluCscale[0],
632
- &m_sluL, &m_sluU,
633
- NULL, 0,
634
- &m_sluB, &m_sluX,
635
- &recip_pivot_growth, &rcond,
636
- &ferr, &berr,
637
- &m_sluStat, &info, Scalar());
638
- StatFree(&m_sluStat);
639
-
640
- m_extractedDataAreDirty = true;
641
-
642
- // FIXME how to better check for errors ???
643
- m_info = info == 0 ? Success : NumericalIssue;
644
- m_factorizationIsOk = true;
645
- }
646
-
647
- template<typename MatrixType>
648
- template<typename Rhs,typename Dest>
649
- void SuperLU<MatrixType>::_solve_impl(const MatrixBase<Rhs> &b, MatrixBase<Dest>& x) const
650
- {
651
- eigen_assert(m_factorizationIsOk && "The decomposition is not in a valid state for solving, you must first call either compute() or analyzePattern()/factorize()");
652
-
653
- const Index rhsCols = b.cols();
654
- eigen_assert(m_matrix.rows()==b.rows());
655
-
656
- m_sluOptions.Trans = NOTRANS;
657
- m_sluOptions.Fact = FACTORED;
658
- m_sluOptions.IterRefine = NOREFINE;
659
-
660
-
661
- m_sluFerr.resize(rhsCols);
662
- m_sluBerr.resize(rhsCols);
663
-
664
- Ref<const Matrix<typename Rhs::Scalar,Dynamic,Dynamic,ColMajor> > b_ref(b);
665
- Ref<const Matrix<typename Dest::Scalar,Dynamic,Dynamic,ColMajor> > x_ref(x);
666
-
667
- m_sluB = SluMatrix::Map(b_ref.const_cast_derived());
668
- m_sluX = SluMatrix::Map(x_ref.const_cast_derived());
669
-
670
- typename Rhs::PlainObject b_cpy;
671
- if(m_sluEqued!='N')
672
- {
673
- b_cpy = b;
674
- m_sluB = SluMatrix::Map(b_cpy.const_cast_derived());
675
- }
676
-
677
- StatInit(&m_sluStat);
678
- int info = 0;
679
- RealScalar recip_pivot_growth, rcond;
680
- SuperLU_gssvx(&m_sluOptions, &m_sluA,
681
- m_q.data(), m_p.data(),
682
- &m_sluEtree[0], &m_sluEqued,
683
- &m_sluRscale[0], &m_sluCscale[0],
684
- &m_sluL, &m_sluU,
685
- NULL, 0,
686
- &m_sluB, &m_sluX,
687
- &recip_pivot_growth, &rcond,
688
- &m_sluFerr[0], &m_sluBerr[0],
689
- &m_sluStat, &info, Scalar());
690
- StatFree(&m_sluStat);
691
-
692
- if(x.derived().data() != x_ref.data())
693
- x = x_ref;
694
-
695
- m_info = info==0 ? Success : NumericalIssue;
696
- }
697
-
698
- // the code of this extractData() function has been adapted from the SuperLU's Matlab support code,
699
- //
700
- // Copyright (c) 1994 by Xerox Corporation. All rights reserved.
701
- //
702
- // THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY
703
- // EXPRESSED OR IMPLIED. ANY USE IS AT YOUR OWN RISK.
704
- //
705
- template<typename MatrixType, typename Derived>
706
- void SuperLUBase<MatrixType,Derived>::extractData() const
707
- {
708
- eigen_assert(m_factorizationIsOk && "The decomposition is not in a valid state for extracting factors, you must first call either compute() or analyzePattern()/factorize()");
709
- if (m_extractedDataAreDirty)
710
- {
711
- int upper;
712
- int fsupc, istart, nsupr;
713
- int lastl = 0, lastu = 0;
714
- SCformat *Lstore = static_cast<SCformat*>(m_sluL.Store);
715
- NCformat *Ustore = static_cast<NCformat*>(m_sluU.Store);
716
- Scalar *SNptr;
717
-
718
- const Index size = m_matrix.rows();
719
- m_l.resize(size,size);
720
- m_l.resizeNonZeros(Lstore->nnz);
721
- m_u.resize(size,size);
722
- m_u.resizeNonZeros(Ustore->nnz);
723
-
724
- int* Lcol = m_l.outerIndexPtr();
725
- int* Lrow = m_l.innerIndexPtr();
726
- Scalar* Lval = m_l.valuePtr();
727
-
728
- int* Ucol = m_u.outerIndexPtr();
729
- int* Urow = m_u.innerIndexPtr();
730
- Scalar* Uval = m_u.valuePtr();
731
-
732
- Ucol[0] = 0;
733
- Ucol[0] = 0;
734
-
735
- /* for each supernode */
736
- for (int k = 0; k <= Lstore->nsuper; ++k)
737
- {
738
- fsupc = L_FST_SUPC(k);
739
- istart = L_SUB_START(fsupc);
740
- nsupr = L_SUB_START(fsupc+1) - istart;
741
- upper = 1;
742
-
743
- /* for each column in the supernode */
744
- for (int j = fsupc; j < L_FST_SUPC(k+1); ++j)
745
- {
746
- SNptr = &((Scalar*)Lstore->nzval)[L_NZ_START(j)];
747
-
748
- /* Extract U */
749
- for (int i = U_NZ_START(j); i < U_NZ_START(j+1); ++i)
750
- {
751
- Uval[lastu] = ((Scalar*)Ustore->nzval)[i];
752
- /* Matlab doesn't like explicit zero. */
753
- if (Uval[lastu] != 0.0)
754
- Urow[lastu++] = U_SUB(i);
755
- }
756
- for (int i = 0; i < upper; ++i)
757
- {
758
- /* upper triangle in the supernode */
759
- Uval[lastu] = SNptr[i];
760
- /* Matlab doesn't like explicit zero. */
761
- if (Uval[lastu] != 0.0)
762
- Urow[lastu++] = L_SUB(istart+i);
763
- }
764
- Ucol[j+1] = lastu;
765
-
766
- /* Extract L */
767
- Lval[lastl] = 1.0; /* unit diagonal */
768
- Lrow[lastl++] = L_SUB(istart + upper - 1);
769
- for (int i = upper; i < nsupr; ++i)
770
- {
771
- Lval[lastl] = SNptr[i];
772
- /* Matlab doesn't like explicit zero. */
773
- if (Lval[lastl] != 0.0)
774
- Lrow[lastl++] = L_SUB(istart+i);
775
- }
776
- Lcol[j+1] = lastl;
777
-
778
- ++upper;
779
- } /* for j ... */
780
-
781
- } /* for k ... */
782
-
783
- // squeeze the matrices :
784
- m_l.resizeNonZeros(lastl);
785
- m_u.resizeNonZeros(lastu);
786
-
787
- m_extractedDataAreDirty = false;
788
- }
789
- }
790
-
791
- template<typename MatrixType>
792
- typename SuperLU<MatrixType>::Scalar SuperLU<MatrixType>::determinant() const
793
- {
794
- eigen_assert(m_factorizationIsOk && "The decomposition is not in a valid state for computing the determinant, you must first call either compute() or analyzePattern()/factorize()");
795
-
796
- if (m_extractedDataAreDirty)
797
- this->extractData();
798
-
799
- Scalar det = Scalar(1);
800
- for (int j=0; j<m_u.cols(); ++j)
801
- {
802
- if (m_u.outerIndexPtr()[j+1]-m_u.outerIndexPtr()[j] > 0)
803
- {
804
- int lastId = m_u.outerIndexPtr()[j+1]-1;
805
- eigen_assert(m_u.innerIndexPtr()[lastId]<=j);
806
- if (m_u.innerIndexPtr()[lastId]==j)
807
- det *= m_u.valuePtr()[lastId];
808
- }
809
- }
810
- if(PermutationMap(m_p.data(),m_p.size()).determinant()*PermutationMap(m_q.data(),m_q.size()).determinant()<0)
811
- det = -det;
812
- if(m_sluEqued!='N')
813
- return det/m_sluRscale.prod()/m_sluCscale.prod();
814
- else
815
- return det;
816
- }
817
-
818
- #ifdef EIGEN_PARSED_BY_DOXYGEN
819
- #define EIGEN_SUPERLU_HAS_ILU
820
- #endif
821
-
822
- #ifdef EIGEN_SUPERLU_HAS_ILU
823
-
824
- /** \ingroup SuperLUSupport_Module
825
- * \class SuperILU
826
- * \brief A sparse direct \b incomplete LU factorization and solver based on the SuperLU library
827
- *
828
- * This class allows to solve for an approximate solution of A.X = B sparse linear problems via an incomplete LU factorization
829
- * using the SuperLU library. This class is aimed to be used as a preconditioner of the iterative linear solvers.
830
- *
831
- * \warning This class is only for the 4.x versions of SuperLU. The 3.x and 5.x versions are not supported.
832
- *
833
- * \tparam _MatrixType the type of the sparse matrix A, it must be a SparseMatrix<>
834
- *
835
- * \implsparsesolverconcept
836
- *
837
- * \sa \ref TutorialSparseSolverConcept, class IncompleteLUT, class ConjugateGradient, class BiCGSTAB
838
- */
839
-
840
- template<typename _MatrixType>
841
- class SuperILU : public SuperLUBase<_MatrixType,SuperILU<_MatrixType> >
842
- {
843
- public:
844
- typedef SuperLUBase<_MatrixType,SuperILU> Base;
845
- typedef _MatrixType MatrixType;
846
- typedef typename Base::Scalar Scalar;
847
- typedef typename Base::RealScalar RealScalar;
848
-
849
- public:
850
- using Base::_solve_impl;
851
-
852
- SuperILU() : Base() { init(); }
853
-
854
- SuperILU(const MatrixType& matrix) : Base()
855
- {
856
- init();
857
- Base::compute(matrix);
858
- }
859
-
860
- ~SuperILU()
861
- {
862
- }
863
-
864
- /** Performs a symbolic decomposition on the sparcity of \a matrix.
865
- *
866
- * This function is particularly useful when solving for several problems having the same structure.
867
- *
868
- * \sa factorize()
869
- */
870
- void analyzePattern(const MatrixType& matrix)
871
- {
872
- Base::analyzePattern(matrix);
873
- }
874
-
875
- /** Performs a numeric decomposition of \a matrix
876
- *
877
- * The given matrix must has the same sparcity than the matrix on which the symbolic decomposition has been performed.
878
- *
879
- * \sa analyzePattern()
880
- */
881
- void factorize(const MatrixType& matrix);
882
-
883
- #ifndef EIGEN_PARSED_BY_DOXYGEN
884
- /** \internal */
885
- template<typename Rhs,typename Dest>
886
- void _solve_impl(const MatrixBase<Rhs> &b, MatrixBase<Dest> &dest) const;
887
- #endif // EIGEN_PARSED_BY_DOXYGEN
888
-
889
- protected:
890
-
891
- using Base::m_matrix;
892
- using Base::m_sluOptions;
893
- using Base::m_sluA;
894
- using Base::m_sluB;
895
- using Base::m_sluX;
896
- using Base::m_p;
897
- using Base::m_q;
898
- using Base::m_sluEtree;
899
- using Base::m_sluEqued;
900
- using Base::m_sluRscale;
901
- using Base::m_sluCscale;
902
- using Base::m_sluL;
903
- using Base::m_sluU;
904
- using Base::m_sluStat;
905
- using Base::m_sluFerr;
906
- using Base::m_sluBerr;
907
- using Base::m_l;
908
- using Base::m_u;
909
-
910
- using Base::m_analysisIsOk;
911
- using Base::m_factorizationIsOk;
912
- using Base::m_extractedDataAreDirty;
913
- using Base::m_isInitialized;
914
- using Base::m_info;
915
-
916
- void init()
917
- {
918
- Base::init();
919
-
920
- ilu_set_default_options(&m_sluOptions);
921
- m_sluOptions.PrintStat = NO;
922
- m_sluOptions.ConditionNumber = NO;
923
- m_sluOptions.Trans = NOTRANS;
924
- m_sluOptions.ColPerm = MMD_AT_PLUS_A;
925
-
926
- // no attempt to preserve column sum
927
- m_sluOptions.ILU_MILU = SILU;
928
- // only basic ILU(k) support -- no direct control over memory consumption
929
- // better to use ILU_DropRule = DROP_BASIC | DROP_AREA
930
- // and set ILU_FillFactor to max memory growth
931
- m_sluOptions.ILU_DropRule = DROP_BASIC;
932
- m_sluOptions.ILU_DropTol = NumTraits<Scalar>::dummy_precision()*10;
933
- }
934
-
935
- private:
936
- SuperILU(SuperILU& ) { }
937
- };
938
-
939
- template<typename MatrixType>
940
- void SuperILU<MatrixType>::factorize(const MatrixType& a)
941
- {
942
- eigen_assert(m_analysisIsOk && "You must first call analyzePattern()");
943
- if(!m_analysisIsOk)
944
- {
945
- m_info = InvalidInput;
946
- return;
947
- }
948
-
949
- this->initFactorization(a);
950
-
951
- int info = 0;
952
- RealScalar recip_pivot_growth, rcond;
953
-
954
- StatInit(&m_sluStat);
955
- SuperLU_gsisx(&m_sluOptions, &m_sluA, m_q.data(), m_p.data(), &m_sluEtree[0],
956
- &m_sluEqued, &m_sluRscale[0], &m_sluCscale[0],
957
- &m_sluL, &m_sluU,
958
- NULL, 0,
959
- &m_sluB, &m_sluX,
960
- &recip_pivot_growth, &rcond,
961
- &m_sluStat, &info, Scalar());
962
- StatFree(&m_sluStat);
963
-
964
- // FIXME how to better check for errors ???
965
- m_info = info == 0 ? Success : NumericalIssue;
966
- m_factorizationIsOk = true;
967
- }
968
-
969
- #ifndef EIGEN_PARSED_BY_DOXYGEN
970
- template<typename MatrixType>
971
- template<typename Rhs,typename Dest>
972
- void SuperILU<MatrixType>::_solve_impl(const MatrixBase<Rhs> &b, MatrixBase<Dest>& x) const
973
- {
974
- eigen_assert(m_factorizationIsOk && "The decomposition is not in a valid state for solving, you must first call either compute() or analyzePattern()/factorize()");
975
-
976
- const int rhsCols = b.cols();
977
- eigen_assert(m_matrix.rows()==b.rows());
978
-
979
- m_sluOptions.Trans = NOTRANS;
980
- m_sluOptions.Fact = FACTORED;
981
- m_sluOptions.IterRefine = NOREFINE;
982
-
983
- m_sluFerr.resize(rhsCols);
984
- m_sluBerr.resize(rhsCols);
985
-
986
- Ref<const Matrix<typename Rhs::Scalar,Dynamic,Dynamic,ColMajor> > b_ref(b);
987
- Ref<const Matrix<typename Dest::Scalar,Dynamic,Dynamic,ColMajor> > x_ref(x);
988
-
989
- m_sluB = SluMatrix::Map(b_ref.const_cast_derived());
990
- m_sluX = SluMatrix::Map(x_ref.const_cast_derived());
991
-
992
- typename Rhs::PlainObject b_cpy;
993
- if(m_sluEqued!='N')
994
- {
995
- b_cpy = b;
996
- m_sluB = SluMatrix::Map(b_cpy.const_cast_derived());
997
- }
998
-
999
- int info = 0;
1000
- RealScalar recip_pivot_growth, rcond;
1001
-
1002
- StatInit(&m_sluStat);
1003
- SuperLU_gsisx(&m_sluOptions, &m_sluA,
1004
- m_q.data(), m_p.data(),
1005
- &m_sluEtree[0], &m_sluEqued,
1006
- &m_sluRscale[0], &m_sluCscale[0],
1007
- &m_sluL, &m_sluU,
1008
- NULL, 0,
1009
- &m_sluB, &m_sluX,
1010
- &recip_pivot_growth, &rcond,
1011
- &m_sluStat, &info, Scalar());
1012
- StatFree(&m_sluStat);
1013
-
1014
- if(x.derived().data() != x_ref.data())
1015
- x = x_ref;
1016
-
1017
- m_info = info==0 ? Success : NumericalIssue;
1018
- }
1019
- #endif
1020
-
1021
- #endif
1022
-
1023
- } // end namespace Eigen
1024
-
1025
- #endif // EIGEN_SUPERLUSUPPORT_H