sequenzo 0.1.18__cp312-cp312-win_amd64.whl → 0.1.20__cp312-cp312-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 (399) 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.cp312-win_amd64.pyd +0 -0
  4. sequenzo/clustering/KMedoids.py +39 -0
  5. sequenzo/clustering/clustering_c_code.cp312-win_amd64.pyd +0 -0
  6. sequenzo/clustering/hierarchical_clustering.py +108 -6
  7. sequenzo/define_sequence_data.py +10 -1
  8. sequenzo/dissimilarity_measures/c_code.cp312-win_amd64.pyd +0 -0
  9. sequenzo/dissimilarity_measures/get_distance_matrix.py +2 -3
  10. sequenzo/dissimilarity_measures/get_substitution_cost_matrix.py +1 -1
  11. sequenzo/dissimilarity_measures/utils/get_sm_trate_substitution_cost_matrix.c +154 -154
  12. sequenzo/dissimilarity_measures/utils/get_sm_trate_substitution_cost_matrix.cp312-win_amd64.pyd +0 -0
  13. sequenzo/dissimilarity_measures/utils/seqconc.c +154 -154
  14. sequenzo/dissimilarity_measures/utils/seqconc.cp312-win_amd64.pyd +0 -0
  15. sequenzo/dissimilarity_measures/utils/seqdss.c +154 -154
  16. sequenzo/dissimilarity_measures/utils/seqdss.cp312-win_amd64.pyd +0 -0
  17. sequenzo/dissimilarity_measures/utils/seqdur.c +154 -154
  18. sequenzo/dissimilarity_measures/utils/seqdur.cp312-win_amd64.pyd +0 -0
  19. sequenzo/dissimilarity_measures/utils/seqlength.c +154 -154
  20. sequenzo/dissimilarity_measures/utils/seqlength.cp312-win_amd64.pyd +0 -0
  21. sequenzo/multidomain/cat.py +0 -53
  22. sequenzo/multidomain/dat.py +11 -3
  23. sequenzo/multidomain/idcd.py +0 -3
  24. sequenzo/multidomain/linked_polyad.py +0 -1
  25. sequenzo/openmp_setup.py +233 -0
  26. sequenzo/visualization/plot_transition_matrix.py +21 -22
  27. {sequenzo-0.1.18.dist-info → sequenzo-0.1.20.dist-info}/METADATA +71 -10
  28. sequenzo-0.1.20.dist-info/RECORD +272 -0
  29. sequenzo/dissimilarity_measures/setup.py +0 -35
  30. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Cholesky/LDLT.h +0 -688
  31. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Cholesky/LLT.h +0 -558
  32. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Cholesky/LLT_LAPACKE.h +0 -99
  33. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/CholmodSupport/CholmodSupport.h +0 -682
  34. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Eigenvalues/ComplexEigenSolver.h +0 -346
  35. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Eigenvalues/ComplexSchur.h +0 -462
  36. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Eigenvalues/ComplexSchur_LAPACKE.h +0 -91
  37. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Eigenvalues/EigenSolver.h +0 -622
  38. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Eigenvalues/GeneralizedEigenSolver.h +0 -418
  39. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Eigenvalues/GeneralizedSelfAdjointEigenSolver.h +0 -226
  40. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Eigenvalues/HessenbergDecomposition.h +0 -374
  41. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Eigenvalues/MatrixBaseEigenvalues.h +0 -158
  42. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Eigenvalues/RealQZ.h +0 -657
  43. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Eigenvalues/RealSchur.h +0 -558
  44. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Eigenvalues/RealSchur_LAPACKE.h +0 -77
  45. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Eigenvalues/SelfAdjointEigenSolver.h +0 -904
  46. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Eigenvalues/SelfAdjointEigenSolver_LAPACKE.h +0 -87
  47. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Eigenvalues/Tridiagonalization.h +0 -561
  48. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Geometry/AlignedBox.h +0 -486
  49. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Geometry/AngleAxis.h +0 -247
  50. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Geometry/EulerAngles.h +0 -114
  51. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Geometry/Homogeneous.h +0 -501
  52. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Geometry/Hyperplane.h +0 -282
  53. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Geometry/OrthoMethods.h +0 -235
  54. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Geometry/ParametrizedLine.h +0 -232
  55. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Geometry/Quaternion.h +0 -870
  56. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Geometry/Rotation2D.h +0 -199
  57. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Geometry/RotationBase.h +0 -206
  58. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Geometry/Scaling.h +0 -188
  59. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Geometry/Transform.h +0 -1563
  60. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Geometry/Translation.h +0 -202
  61. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Geometry/Umeyama.h +0 -166
  62. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Geometry/arch/Geometry_SIMD.h +0 -168
  63. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Householder/BlockHouseholder.h +0 -110
  64. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Householder/Householder.h +0 -176
  65. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Householder/HouseholderSequence.h +0 -545
  66. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/IterativeLinearSolvers/BasicPreconditioners.h +0 -226
  67. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/IterativeLinearSolvers/BiCGSTAB.h +0 -212
  68. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/IterativeLinearSolvers/ConjugateGradient.h +0 -229
  69. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/IterativeLinearSolvers/IncompleteCholesky.h +0 -394
  70. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/IterativeLinearSolvers/IncompleteLUT.h +0 -453
  71. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/IterativeLinearSolvers/IterativeSolverBase.h +0 -444
  72. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/IterativeLinearSolvers/LeastSquareConjugateGradient.h +0 -198
  73. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/IterativeLinearSolvers/SolveWithGuess.h +0 -117
  74. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Jacobi/Jacobi.h +0 -483
  75. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/KLUSupport/KLUSupport.h +0 -358
  76. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/LU/Determinant.h +0 -117
  77. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/LU/FullPivLU.h +0 -877
  78. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/LU/InverseImpl.h +0 -432
  79. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/LU/PartialPivLU.h +0 -624
  80. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/LU/PartialPivLU_LAPACKE.h +0 -83
  81. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/LU/arch/InverseSize4.h +0 -351
  82. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/MetisSupport/MetisSupport.h +0 -137
  83. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/OrderingMethods/Amd.h +0 -435
  84. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/OrderingMethods/Eigen_Colamd.h +0 -1863
  85. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/OrderingMethods/Ordering.h +0 -153
  86. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/PaStiXSupport/PaStiXSupport.h +0 -678
  87. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/PardisoSupport/PardisoSupport.h +0 -545
  88. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/QR/ColPivHouseholderQR.h +0 -674
  89. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/QR/ColPivHouseholderQR_LAPACKE.h +0 -97
  90. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/QR/CompleteOrthogonalDecomposition.h +0 -635
  91. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/QR/FullPivHouseholderQR.h +0 -713
  92. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/QR/HouseholderQR.h +0 -434
  93. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/QR/HouseholderQR_LAPACKE.h +0 -68
  94. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SPQRSupport/SuiteSparseQRSupport.h +0 -335
  95. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SVD/BDCSVD.h +0 -1366
  96. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SVD/JacobiSVD.h +0 -812
  97. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SVD/JacobiSVD_LAPACKE.h +0 -91
  98. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SVD/SVDBase.h +0 -376
  99. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SVD/UpperBidiagonalization.h +0 -414
  100. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCholesky/SimplicialCholesky.h +0 -697
  101. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCholesky/SimplicialCholesky_impl.h +0 -174
  102. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/AmbiVector.h +0 -378
  103. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/CompressedStorage.h +0 -274
  104. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/ConservativeSparseSparseProduct.h +0 -352
  105. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/MappedSparseMatrix.h +0 -67
  106. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/SparseAssign.h +0 -270
  107. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/SparseBlock.h +0 -571
  108. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/SparseColEtree.h +0 -206
  109. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/SparseCompressedBase.h +0 -370
  110. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/SparseCwiseBinaryOp.h +0 -722
  111. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/SparseCwiseUnaryOp.h +0 -150
  112. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/SparseDenseProduct.h +0 -342
  113. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/SparseDiagonalProduct.h +0 -138
  114. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/SparseDot.h +0 -98
  115. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/SparseFuzzy.h +0 -29
  116. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/SparseMap.h +0 -305
  117. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/SparseMatrix.h +0 -1518
  118. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/SparseMatrixBase.h +0 -398
  119. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/SparsePermutation.h +0 -178
  120. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/SparseProduct.h +0 -181
  121. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/SparseRedux.h +0 -49
  122. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/SparseRef.h +0 -397
  123. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/SparseSelfAdjointView.h +0 -659
  124. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/SparseSolverBase.h +0 -124
  125. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/SparseSparseProductWithPruning.h +0 -198
  126. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/SparseTranspose.h +0 -92
  127. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/SparseTriangularView.h +0 -189
  128. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/SparseUtil.h +0 -186
  129. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/SparseVector.h +0 -478
  130. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/SparseView.h +0 -254
  131. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/TriangularSolver.h +0 -315
  132. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseLU/SparseLU.h +0 -923
  133. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseLU/SparseLUImpl.h +0 -66
  134. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseLU/SparseLU_Memory.h +0 -226
  135. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseLU/SparseLU_Structs.h +0 -110
  136. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseLU/SparseLU_SupernodalMatrix.h +0 -375
  137. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseLU/SparseLU_Utils.h +0 -80
  138. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseLU/SparseLU_column_bmod.h +0 -181
  139. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseLU/SparseLU_column_dfs.h +0 -179
  140. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseLU/SparseLU_copy_to_ucol.h +0 -107
  141. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseLU/SparseLU_gemm_kernel.h +0 -280
  142. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseLU/SparseLU_heap_relax_snode.h +0 -126
  143. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseLU/SparseLU_kernel_bmod.h +0 -130
  144. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseLU/SparseLU_panel_bmod.h +0 -223
  145. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseLU/SparseLU_panel_dfs.h +0 -258
  146. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseLU/SparseLU_pivotL.h +0 -137
  147. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseLU/SparseLU_pruneL.h +0 -136
  148. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseLU/SparseLU_relax_snode.h +0 -83
  149. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseQR/SparseQR.h +0 -758
  150. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/StlSupport/StdDeque.h +0 -116
  151. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/StlSupport/StdList.h +0 -106
  152. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/StlSupport/StdVector.h +0 -131
  153. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/StlSupport/details.h +0 -84
  154. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SuperLUSupport/SuperLUSupport.h +0 -1025
  155. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/UmfPackSupport/UmfPackSupport.h +0 -642
  156. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/misc/Image.h +0 -82
  157. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/misc/Kernel.h +0 -79
  158. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/misc/RealSvd2x2.h +0 -55
  159. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/misc/blas.h +0 -440
  160. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/misc/lapack.h +0 -152
  161. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/misc/lapacke.h +0 -16292
  162. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/misc/lapacke_mangling.h +0 -17
  163. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/plugins/ArrayCwiseBinaryOps.h +0 -358
  164. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/plugins/ArrayCwiseUnaryOps.h +0 -696
  165. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/plugins/BlockMethods.h +0 -1442
  166. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/plugins/CommonCwiseBinaryOps.h +0 -115
  167. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/plugins/CommonCwiseUnaryOps.h +0 -177
  168. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/plugins/IndexedViewMethods.h +0 -262
  169. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/plugins/MatrixCwiseBinaryOps.h +0 -152
  170. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/plugins/MatrixCwiseUnaryOps.h +0 -95
  171. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/plugins/ReshapedMethods.h +0 -149
  172. sequenzo/dissimilarity_measures/src/eigen/bench/BenchSparseUtil.h +0 -149
  173. sequenzo/dissimilarity_measures/src/eigen/bench/BenchTimer.h +0 -199
  174. sequenzo/dissimilarity_measures/src/eigen/bench/BenchUtil.h +0 -92
  175. sequenzo/dissimilarity_measures/src/eigen/bench/basicbenchmark.h +0 -63
  176. sequenzo/dissimilarity_measures/src/eigen/bench/btl/generic_bench/utils/utilities.h +0 -90
  177. sequenzo/dissimilarity_measures/src/eigen/bench/btl/libs/BLAS/blas.h +0 -675
  178. sequenzo/dissimilarity_measures/src/eigen/bench/btl/libs/BLAS/c_interface_base.h +0 -73
  179. sequenzo/dissimilarity_measures/src/eigen/bench/perf_monitoring/gemm_common.h +0 -67
  180. sequenzo/dissimilarity_measures/src/eigen/bench/perf_monitoring/gemv_common.h +0 -69
  181. sequenzo/dissimilarity_measures/src/eigen/bench/spbench/spbenchsolver.h +0 -573
  182. sequenzo/dissimilarity_measures/src/eigen/bench/spbench/spbenchstyle.h +0 -95
  183. sequenzo/dissimilarity_measures/src/eigen/bench/tensors/benchmark.h +0 -49
  184. sequenzo/dissimilarity_measures/src/eigen/bench/tensors/tensor_benchmarks.h +0 -597
  185. sequenzo/dissimilarity_measures/src/eigen/blas/BandTriangularSolver.h +0 -97
  186. sequenzo/dissimilarity_measures/src/eigen/blas/GeneralRank1Update.h +0 -44
  187. sequenzo/dissimilarity_measures/src/eigen/blas/PackedSelfadjointProduct.h +0 -53
  188. sequenzo/dissimilarity_measures/src/eigen/blas/PackedTriangularMatrixVector.h +0 -79
  189. sequenzo/dissimilarity_measures/src/eigen/blas/PackedTriangularSolverVector.h +0 -88
  190. sequenzo/dissimilarity_measures/src/eigen/blas/Rank2Update.h +0 -57
  191. sequenzo/dissimilarity_measures/src/eigen/blas/common.h +0 -175
  192. sequenzo/dissimilarity_measures/src/eigen/blas/f2c/datatypes.h +0 -24
  193. sequenzo/dissimilarity_measures/src/eigen/blas/level1_cplx_impl.h +0 -155
  194. sequenzo/dissimilarity_measures/src/eigen/blas/level1_impl.h +0 -144
  195. sequenzo/dissimilarity_measures/src/eigen/blas/level1_real_impl.h +0 -122
  196. sequenzo/dissimilarity_measures/src/eigen/blas/level2_cplx_impl.h +0 -360
  197. sequenzo/dissimilarity_measures/src/eigen/blas/level2_impl.h +0 -553
  198. sequenzo/dissimilarity_measures/src/eigen/blas/level2_real_impl.h +0 -306
  199. sequenzo/dissimilarity_measures/src/eigen/blas/level3_impl.h +0 -702
  200. sequenzo/dissimilarity_measures/src/eigen/debug/gdb/__init__.py +0 -1
  201. sequenzo/dissimilarity_measures/src/eigen/debug/gdb/printers.py +0 -314
  202. sequenzo/dissimilarity_measures/src/eigen/demos/mandelbrot/mandelbrot.h +0 -71
  203. sequenzo/dissimilarity_measures/src/eigen/demos/mix_eigen_and_c/binary_library.h +0 -71
  204. sequenzo/dissimilarity_measures/src/eigen/demos/opengl/camera.h +0 -118
  205. sequenzo/dissimilarity_measures/src/eigen/demos/opengl/gpuhelper.h +0 -207
  206. sequenzo/dissimilarity_measures/src/eigen/demos/opengl/icosphere.h +0 -30
  207. sequenzo/dissimilarity_measures/src/eigen/demos/opengl/quaternion_demo.h +0 -114
  208. sequenzo/dissimilarity_measures/src/eigen/demos/opengl/trackball.h +0 -42
  209. sequenzo/dissimilarity_measures/src/eigen/lapack/lapack_common.h +0 -29
  210. sequenzo/dissimilarity_measures/src/eigen/scripts/relicense.py +0 -69
  211. sequenzo/dissimilarity_measures/src/eigen/test/AnnoyingScalar.h +0 -165
  212. sequenzo/dissimilarity_measures/src/eigen/test/MovableScalar.h +0 -35
  213. sequenzo/dissimilarity_measures/src/eigen/test/SafeScalar.h +0 -30
  214. sequenzo/dissimilarity_measures/src/eigen/test/bug1213.h +0 -8
  215. sequenzo/dissimilarity_measures/src/eigen/test/evaluator_common.h +0 -0
  216. sequenzo/dissimilarity_measures/src/eigen/test/gpu_common.h +0 -176
  217. sequenzo/dissimilarity_measures/src/eigen/test/main.h +0 -857
  218. sequenzo/dissimilarity_measures/src/eigen/test/packetmath_test_shared.h +0 -275
  219. sequenzo/dissimilarity_measures/src/eigen/test/product.h +0 -259
  220. sequenzo/dissimilarity_measures/src/eigen/test/random_without_cast_overflow.h +0 -152
  221. sequenzo/dissimilarity_measures/src/eigen/test/solverbase.h +0 -36
  222. sequenzo/dissimilarity_measures/src/eigen/test/sparse.h +0 -204
  223. sequenzo/dissimilarity_measures/src/eigen/test/sparse_solver.h +0 -699
  224. sequenzo/dissimilarity_measures/src/eigen/test/split_test_helper.h +0 -5994
  225. sequenzo/dissimilarity_measures/src/eigen/test/svd_common.h +0 -521
  226. sequenzo/dissimilarity_measures/src/eigen/test/svd_fill.h +0 -118
  227. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/Tensor.h +0 -554
  228. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorArgMax.h +0 -329
  229. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorAssign.h +0 -247
  230. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorBase.h +0 -1176
  231. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorBlock.h +0 -1559
  232. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorBroadcasting.h +0 -1093
  233. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorChipping.h +0 -518
  234. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorConcatenation.h +0 -377
  235. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorContraction.h +0 -1023
  236. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorContractionBlocking.h +0 -73
  237. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorContractionCuda.h +0 -6
  238. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorContractionGpu.h +0 -1413
  239. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorContractionMapper.h +0 -575
  240. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorContractionSycl.h +0 -1650
  241. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorContractionThreadPool.h +0 -1679
  242. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorConversion.h +0 -456
  243. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorConvolution.h +0 -1132
  244. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorConvolutionSycl.h +0 -544
  245. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorCostModel.h +0 -214
  246. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorCustomOp.h +0 -347
  247. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorDevice.h +0 -137
  248. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorDeviceCuda.h +0 -6
  249. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorDeviceDefault.h +0 -104
  250. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorDeviceGpu.h +0 -389
  251. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorDeviceSycl.h +0 -1048
  252. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorDeviceThreadPool.h +0 -409
  253. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorDimensionList.h +0 -236
  254. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorDimensions.h +0 -490
  255. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorEvalTo.h +0 -236
  256. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorEvaluator.h +0 -983
  257. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorExecutor.h +0 -703
  258. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorExpr.h +0 -388
  259. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorFFT.h +0 -669
  260. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorFixedSize.h +0 -379
  261. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorForcedEval.h +0 -237
  262. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorForwardDeclarations.h +0 -191
  263. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorFunctors.h +0 -488
  264. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorGenerator.h +0 -302
  265. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorGlobalFunctions.h +0 -33
  266. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorGpuHipCudaDefines.h +0 -99
  267. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorGpuHipCudaUndefines.h +0 -44
  268. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorIO.h +0 -79
  269. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorImagePatch.h +0 -603
  270. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorIndexList.h +0 -738
  271. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorInflation.h +0 -247
  272. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorInitializer.h +0 -82
  273. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorIntDiv.h +0 -263
  274. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorLayoutSwap.h +0 -216
  275. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorMacros.h +0 -98
  276. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorMap.h +0 -327
  277. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorMeta.h +0 -311
  278. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorMorphing.h +0 -1102
  279. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorPadding.h +0 -708
  280. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorPatch.h +0 -291
  281. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorRandom.h +0 -322
  282. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorReduction.h +0 -998
  283. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorReductionCuda.h +0 -6
  284. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorReductionGpu.h +0 -966
  285. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorReductionSycl.h +0 -582
  286. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorRef.h +0 -454
  287. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorReverse.h +0 -465
  288. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorScan.h +0 -528
  289. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorScanSycl.h +0 -513
  290. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorShuffling.h +0 -471
  291. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorStorage.h +0 -161
  292. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorStriding.h +0 -346
  293. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorTrace.h +0 -303
  294. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorTraits.h +0 -264
  295. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorUInt128.h +0 -249
  296. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorVolumePatch.h +0 -629
  297. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/TensorSymmetry/DynamicSymmetry.h +0 -293
  298. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/TensorSymmetry/StaticSymmetry.h +0 -236
  299. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/TensorSymmetry/Symmetry.h +0 -338
  300. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/TensorSymmetry/util/TemplateGroupTheory.h +0 -669
  301. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/ThreadPool/Barrier.h +0 -67
  302. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/ThreadPool/EventCount.h +0 -249
  303. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/ThreadPool/NonBlockingThreadPool.h +0 -486
  304. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/ThreadPool/RunQueue.h +0 -236
  305. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/ThreadPool/ThreadCancel.h +0 -23
  306. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/ThreadPool/ThreadEnvironment.h +0 -40
  307. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/ThreadPool/ThreadLocal.h +0 -301
  308. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/ThreadPool/ThreadPoolInterface.h +0 -48
  309. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/ThreadPool/ThreadYield.h +0 -20
  310. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/util/CXX11Meta.h +0 -537
  311. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/util/CXX11Workarounds.h +0 -88
  312. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/util/EmulateArray.h +0 -261
  313. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/util/MaxSizeVector.h +0 -158
  314. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/AutoDiff/AutoDiffJacobian.h +0 -108
  315. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/AutoDiff/AutoDiffScalar.h +0 -730
  316. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/AutoDiff/AutoDiffVector.h +0 -220
  317. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/BVH/BVAlgorithms.h +0 -293
  318. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/BVH/KdBVH.h +0 -223
  319. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/Eigenvalues/ArpackSelfAdjointEigenSolver.h +0 -790
  320. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/EulerAngles/EulerAngles.h +0 -355
  321. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/EulerAngles/EulerSystem.h +0 -305
  322. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/FFT/ei_fftw_impl.h +0 -261
  323. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/FFT/ei_kissfft_impl.h +0 -449
  324. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/IterativeSolvers/ConstrainedConjGrad.h +0 -187
  325. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/IterativeSolvers/DGMRES.h +0 -511
  326. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/IterativeSolvers/GMRES.h +0 -335
  327. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/IterativeSolvers/IDRS.h +0 -436
  328. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/IterativeSolvers/IncompleteLU.h +0 -90
  329. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/IterativeSolvers/IterationController.h +0 -154
  330. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/IterativeSolvers/MINRES.h +0 -267
  331. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/IterativeSolvers/Scaling.h +0 -193
  332. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/KroneckerProduct/KroneckerTensorProduct.h +0 -305
  333. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/LevenbergMarquardt/LMcovar.h +0 -84
  334. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/LevenbergMarquardt/LMonestep.h +0 -202
  335. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/LevenbergMarquardt/LMpar.h +0 -160
  336. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/LevenbergMarquardt/LMqrsolv.h +0 -188
  337. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/LevenbergMarquardt/LevenbergMarquardt.h +0 -396
  338. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/MatrixFunctions/MatrixExponential.h +0 -441
  339. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/MatrixFunctions/MatrixFunction.h +0 -569
  340. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/MatrixFunctions/MatrixLogarithm.h +0 -373
  341. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/MatrixFunctions/MatrixPower.h +0 -705
  342. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/MatrixFunctions/MatrixSquareRoot.h +0 -368
  343. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/MatrixFunctions/StemFunction.h +0 -117
  344. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/MoreVectorization/MathFunctions.h +0 -95
  345. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/NonLinearOptimization/HybridNonLinearSolver.h +0 -601
  346. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/NonLinearOptimization/LevenbergMarquardt.h +0 -657
  347. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/NonLinearOptimization/chkder.h +0 -66
  348. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/NonLinearOptimization/covar.h +0 -70
  349. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/NonLinearOptimization/dogleg.h +0 -107
  350. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/NonLinearOptimization/fdjac1.h +0 -79
  351. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/NonLinearOptimization/lmpar.h +0 -298
  352. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/NonLinearOptimization/qrsolv.h +0 -91
  353. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/NonLinearOptimization/r1mpyq.h +0 -30
  354. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/NonLinearOptimization/r1updt.h +0 -99
  355. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/NonLinearOptimization/rwupdt.h +0 -49
  356. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/NumericalDiff/NumericalDiff.h +0 -130
  357. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/Polynomials/Companion.h +0 -280
  358. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/Polynomials/PolynomialSolver.h +0 -428
  359. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/Polynomials/PolynomialUtils.h +0 -143
  360. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/Skyline/SkylineInplaceLU.h +0 -352
  361. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/Skyline/SkylineMatrix.h +0 -862
  362. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/Skyline/SkylineMatrixBase.h +0 -212
  363. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/Skyline/SkylineProduct.h +0 -295
  364. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/Skyline/SkylineStorage.h +0 -259
  365. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/Skyline/SkylineUtil.h +0 -89
  366. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/SparseExtra/BlockOfDynamicSparseMatrix.h +0 -122
  367. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/SparseExtra/BlockSparseMatrix.h +0 -1079
  368. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/SparseExtra/DynamicSparseMatrix.h +0 -404
  369. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/SparseExtra/MarketIO.h +0 -282
  370. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/SparseExtra/MatrixMarketIterator.h +0 -247
  371. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/SparseExtra/RandomSetter.h +0 -349
  372. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsArrayAPI.h +0 -286
  373. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsBFloat16.h +0 -68
  374. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsFunctors.h +0 -357
  375. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsHalf.h +0 -66
  376. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h +0 -1959
  377. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsPacketMath.h +0 -118
  378. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/SpecialFunctions/HipVectorCompatibility.h +0 -67
  379. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsArrayAPI.h +0 -167
  380. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsBFloat16.h +0 -58
  381. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsFunctors.h +0 -330
  382. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsHalf.h +0 -58
  383. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h +0 -2045
  384. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsPacketMath.h +0 -79
  385. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/SpecialFunctions/arch/AVX/BesselFunctions.h +0 -46
  386. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/SpecialFunctions/arch/AVX/SpecialFunctions.h +0 -16
  387. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/SpecialFunctions/arch/AVX512/BesselFunctions.h +0 -46
  388. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/SpecialFunctions/arch/AVX512/SpecialFunctions.h +0 -16
  389. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/SpecialFunctions/arch/GPU/SpecialFunctions.h +0 -369
  390. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/SpecialFunctions/arch/NEON/BesselFunctions.h +0 -54
  391. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/SpecialFunctions/arch/NEON/SpecialFunctions.h +0 -34
  392. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/Splines/Spline.h +0 -507
  393. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/Splines/SplineFitting.h +0 -431
  394. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/Splines/SplineFwd.h +0 -93
  395. sequenzo/dissimilarity_measures/src/eigen/unsupported/test/matrix_functions.h +0 -67
  396. sequenzo-0.1.18.dist-info/RECORD +0 -638
  397. {sequenzo-0.1.18.dist-info → sequenzo-0.1.20.dist-info}/WHEEL +0 -0
  398. {sequenzo-0.1.18.dist-info → sequenzo-0.1.20.dist-info}/licenses/LICENSE +0 -0
  399. {sequenzo-0.1.18.dist-info → sequenzo-0.1.20.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