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,790 +0,0 @@
1
- // This file is part of Eigen, a lightweight C++ template library
2
- // for linear algebra.
3
- //
4
- // Copyright (C) 2012 David Harmon <dharmon@gmail.com>
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_ARPACKGENERALIZEDSELFADJOINTEIGENSOLVER_H
11
- #define EIGEN_ARPACKGENERALIZEDSELFADJOINTEIGENSOLVER_H
12
-
13
- #include "../../../../Eigen/Dense"
14
-
15
- namespace Eigen {
16
-
17
- namespace internal {
18
- template<typename Scalar, typename RealScalar> struct arpack_wrapper;
19
- template<typename MatrixSolver, typename MatrixType, typename Scalar, bool BisSPD> struct OP;
20
- }
21
-
22
-
23
-
24
- template<typename MatrixType, typename MatrixSolver=SimplicialLLT<MatrixType>, bool BisSPD=false>
25
- class ArpackGeneralizedSelfAdjointEigenSolver
26
- {
27
- public:
28
- //typedef typename MatrixSolver::MatrixType MatrixType;
29
-
30
- /** \brief Scalar type for matrices of type \p MatrixType. */
31
- typedef typename MatrixType::Scalar Scalar;
32
- typedef typename MatrixType::Index Index;
33
-
34
- /** \brief Real scalar type for \p MatrixType.
35
- *
36
- * This is just \c Scalar if #Scalar is real (e.g., \c float or
37
- * \c Scalar), and the type of the real part of \c Scalar if #Scalar is
38
- * complex.
39
- */
40
- typedef typename NumTraits<Scalar>::Real RealScalar;
41
-
42
- /** \brief Type for vector of eigenvalues as returned by eigenvalues().
43
- *
44
- * This is a column vector with entries of type #RealScalar.
45
- * The length of the vector is the size of \p nbrEigenvalues.
46
- */
47
- typedef typename internal::plain_col_type<MatrixType, RealScalar>::type RealVectorType;
48
-
49
- /** \brief Default constructor.
50
- *
51
- * The default constructor is for cases in which the user intends to
52
- * perform decompositions via compute().
53
- *
54
- */
55
- ArpackGeneralizedSelfAdjointEigenSolver()
56
- : m_eivec(),
57
- m_eivalues(),
58
- m_isInitialized(false),
59
- m_eigenvectorsOk(false),
60
- m_nbrConverged(0),
61
- m_nbrIterations(0)
62
- { }
63
-
64
- /** \brief Constructor; computes generalized eigenvalues of given matrix with respect to another matrix.
65
- *
66
- * \param[in] A Self-adjoint matrix whose eigenvalues / eigenvectors will
67
- * computed. By default, the upper triangular part is used, but can be changed
68
- * through the template parameter.
69
- * \param[in] B Self-adjoint matrix for the generalized eigenvalue problem.
70
- * \param[in] nbrEigenvalues The number of eigenvalues / eigenvectors to compute.
71
- * Must be less than the size of the input matrix, or an error is returned.
72
- * \param[in] eigs_sigma String containing either "LM", "SM", "LA", or "SA", with
73
- * respective meanings to find the largest magnitude , smallest magnitude,
74
- * largest algebraic, or smallest algebraic eigenvalues. Alternatively, this
75
- * value can contain floating point value in string form, in which case the
76
- * eigenvalues closest to this value will be found.
77
- * \param[in] options Can be #ComputeEigenvectors (default) or #EigenvaluesOnly.
78
- * \param[in] tol What tolerance to find the eigenvalues to. Default is 0, which
79
- * means machine precision.
80
- *
81
- * This constructor calls compute(const MatrixType&, const MatrixType&, Index, string, int, RealScalar)
82
- * to compute the eigenvalues of the matrix \p A with respect to \p B. The eigenvectors are computed if
83
- * \p options equals #ComputeEigenvectors.
84
- *
85
- */
86
- ArpackGeneralizedSelfAdjointEigenSolver(const MatrixType& A, const MatrixType& B,
87
- Index nbrEigenvalues, std::string eigs_sigma="LM",
88
- int options=ComputeEigenvectors, RealScalar tol=0.0)
89
- : m_eivec(),
90
- m_eivalues(),
91
- m_isInitialized(false),
92
- m_eigenvectorsOk(false),
93
- m_nbrConverged(0),
94
- m_nbrIterations(0)
95
- {
96
- compute(A, B, nbrEigenvalues, eigs_sigma, options, tol);
97
- }
98
-
99
- /** \brief Constructor; computes eigenvalues of given matrix.
100
- *
101
- * \param[in] A Self-adjoint matrix whose eigenvalues / eigenvectors will
102
- * computed. By default, the upper triangular part is used, but can be changed
103
- * through the template parameter.
104
- * \param[in] nbrEigenvalues The number of eigenvalues / eigenvectors to compute.
105
- * Must be less than the size of the input matrix, or an error is returned.
106
- * \param[in] eigs_sigma String containing either "LM", "SM", "LA", or "SA", with
107
- * respective meanings to find the largest magnitude , smallest magnitude,
108
- * largest algebraic, or smallest algebraic eigenvalues. Alternatively, this
109
- * value can contain floating point value in string form, in which case the
110
- * eigenvalues closest to this value will be found.
111
- * \param[in] options Can be #ComputeEigenvectors (default) or #EigenvaluesOnly.
112
- * \param[in] tol What tolerance to find the eigenvalues to. Default is 0, which
113
- * means machine precision.
114
- *
115
- * This constructor calls compute(const MatrixType&, Index, string, int, RealScalar)
116
- * to compute the eigenvalues of the matrix \p A. The eigenvectors are computed if
117
- * \p options equals #ComputeEigenvectors.
118
- *
119
- */
120
-
121
- ArpackGeneralizedSelfAdjointEigenSolver(const MatrixType& A,
122
- Index nbrEigenvalues, std::string eigs_sigma="LM",
123
- int options=ComputeEigenvectors, RealScalar tol=0.0)
124
- : m_eivec(),
125
- m_eivalues(),
126
- m_isInitialized(false),
127
- m_eigenvectorsOk(false),
128
- m_nbrConverged(0),
129
- m_nbrIterations(0)
130
- {
131
- compute(A, nbrEigenvalues, eigs_sigma, options, tol);
132
- }
133
-
134
-
135
- /** \brief Computes generalized eigenvalues / eigenvectors of given matrix using the external ARPACK library.
136
- *
137
- * \param[in] A Selfadjoint matrix whose eigendecomposition is to be computed.
138
- * \param[in] B Selfadjoint matrix for generalized eigenvalues.
139
- * \param[in] nbrEigenvalues The number of eigenvalues / eigenvectors to compute.
140
- * Must be less than the size of the input matrix, or an error is returned.
141
- * \param[in] eigs_sigma String containing either "LM", "SM", "LA", or "SA", with
142
- * respective meanings to find the largest magnitude , smallest magnitude,
143
- * largest algebraic, or smallest algebraic eigenvalues. Alternatively, this
144
- * value can contain floating point value in string form, in which case the
145
- * eigenvalues closest to this value will be found.
146
- * \param[in] options Can be #ComputeEigenvectors (default) or #EigenvaluesOnly.
147
- * \param[in] tol What tolerance to find the eigenvalues to. Default is 0, which
148
- * means machine precision.
149
- *
150
- * \returns Reference to \c *this
151
- *
152
- * This function computes the generalized eigenvalues of \p A with respect to \p B using ARPACK. The eigenvalues()
153
- * function can be used to retrieve them. If \p options equals #ComputeEigenvectors,
154
- * then the eigenvectors are also computed and can be retrieved by
155
- * calling eigenvectors().
156
- *
157
- */
158
- ArpackGeneralizedSelfAdjointEigenSolver& compute(const MatrixType& A, const MatrixType& B,
159
- Index nbrEigenvalues, std::string eigs_sigma="LM",
160
- int options=ComputeEigenvectors, RealScalar tol=0.0);
161
-
162
- /** \brief Computes eigenvalues / eigenvectors of given matrix using the external ARPACK library.
163
- *
164
- * \param[in] A Selfadjoint matrix whose eigendecomposition is to be computed.
165
- * \param[in] nbrEigenvalues The number of eigenvalues / eigenvectors to compute.
166
- * Must be less than the size of the input matrix, or an error is returned.
167
- * \param[in] eigs_sigma String containing either "LM", "SM", "LA", or "SA", with
168
- * respective meanings to find the largest magnitude , smallest magnitude,
169
- * largest algebraic, or smallest algebraic eigenvalues. Alternatively, this
170
- * value can contain floating point value in string form, in which case the
171
- * eigenvalues closest to this value will be found.
172
- * \param[in] options Can be #ComputeEigenvectors (default) or #EigenvaluesOnly.
173
- * \param[in] tol What tolerance to find the eigenvalues to. Default is 0, which
174
- * means machine precision.
175
- *
176
- * \returns Reference to \c *this
177
- *
178
- * This function computes the eigenvalues of \p A using ARPACK. The eigenvalues()
179
- * function can be used to retrieve them. If \p options equals #ComputeEigenvectors,
180
- * then the eigenvectors are also computed and can be retrieved by
181
- * calling eigenvectors().
182
- *
183
- */
184
- ArpackGeneralizedSelfAdjointEigenSolver& compute(const MatrixType& A,
185
- Index nbrEigenvalues, std::string eigs_sigma="LM",
186
- int options=ComputeEigenvectors, RealScalar tol=0.0);
187
-
188
-
189
- /** \brief Returns the eigenvectors of given matrix.
190
- *
191
- * \returns A const reference to the matrix whose columns are the eigenvectors.
192
- *
193
- * \pre The eigenvectors have been computed before.
194
- *
195
- * Column \f$ k \f$ of the returned matrix is an eigenvector corresponding
196
- * to eigenvalue number \f$ k \f$ as returned by eigenvalues(). The
197
- * eigenvectors are normalized to have (Euclidean) norm equal to one. If
198
- * this object was used to solve the eigenproblem for the selfadjoint
199
- * matrix \f$ A \f$, then the matrix returned by this function is the
200
- * matrix \f$ V \f$ in the eigendecomposition \f$ A V = D V \f$.
201
- * For the generalized eigenproblem, the matrix returned is the solution \f$ A V = D B V \f$
202
- *
203
- * Example: \include SelfAdjointEigenSolver_eigenvectors.cpp
204
- * Output: \verbinclude SelfAdjointEigenSolver_eigenvectors.out
205
- *
206
- * \sa eigenvalues()
207
- */
208
- const Matrix<Scalar, Dynamic, Dynamic>& eigenvectors() const
209
- {
210
- eigen_assert(m_isInitialized && "ArpackGeneralizedSelfAdjointEigenSolver is not initialized.");
211
- eigen_assert(m_eigenvectorsOk && "The eigenvectors have not been computed together with the eigenvalues.");
212
- return m_eivec;
213
- }
214
-
215
- /** \brief Returns the eigenvalues of given matrix.
216
- *
217
- * \returns A const reference to the column vector containing the eigenvalues.
218
- *
219
- * \pre The eigenvalues have been computed before.
220
- *
221
- * The eigenvalues are repeated according to their algebraic multiplicity,
222
- * so there are as many eigenvalues as rows in the matrix. The eigenvalues
223
- * are sorted in increasing order.
224
- *
225
- * Example: \include SelfAdjointEigenSolver_eigenvalues.cpp
226
- * Output: \verbinclude SelfAdjointEigenSolver_eigenvalues.out
227
- *
228
- * \sa eigenvectors(), MatrixBase::eigenvalues()
229
- */
230
- const Matrix<Scalar, Dynamic, 1>& eigenvalues() const
231
- {
232
- eigen_assert(m_isInitialized && "ArpackGeneralizedSelfAdjointEigenSolver is not initialized.");
233
- return m_eivalues;
234
- }
235
-
236
- /** \brief Computes the positive-definite square root of the matrix.
237
- *
238
- * \returns the positive-definite square root of the matrix
239
- *
240
- * \pre The eigenvalues and eigenvectors of a positive-definite matrix
241
- * have been computed before.
242
- *
243
- * The square root of a positive-definite matrix \f$ A \f$ is the
244
- * positive-definite matrix whose square equals \f$ A \f$. This function
245
- * uses the eigendecomposition \f$ A = V D V^{-1} \f$ to compute the
246
- * square root as \f$ A^{1/2} = V D^{1/2} V^{-1} \f$.
247
- *
248
- * Example: \include SelfAdjointEigenSolver_operatorSqrt.cpp
249
- * Output: \verbinclude SelfAdjointEigenSolver_operatorSqrt.out
250
- *
251
- * \sa operatorInverseSqrt(),
252
- * \ref MatrixFunctions_Module "MatrixFunctions Module"
253
- */
254
- Matrix<Scalar, Dynamic, Dynamic> operatorSqrt() const
255
- {
256
- eigen_assert(m_isInitialized && "SelfAdjointEigenSolver is not initialized.");
257
- eigen_assert(m_eigenvectorsOk && "The eigenvectors have not been computed together with the eigenvalues.");
258
- return m_eivec * m_eivalues.cwiseSqrt().asDiagonal() * m_eivec.adjoint();
259
- }
260
-
261
- /** \brief Computes the inverse square root of the matrix.
262
- *
263
- * \returns the inverse positive-definite square root of the matrix
264
- *
265
- * \pre The eigenvalues and eigenvectors of a positive-definite matrix
266
- * have been computed before.
267
- *
268
- * This function uses the eigendecomposition \f$ A = V D V^{-1} \f$ to
269
- * compute the inverse square root as \f$ V D^{-1/2} V^{-1} \f$. This is
270
- * cheaper than first computing the square root with operatorSqrt() and
271
- * then its inverse with MatrixBase::inverse().
272
- *
273
- * Example: \include SelfAdjointEigenSolver_operatorInverseSqrt.cpp
274
- * Output: \verbinclude SelfAdjointEigenSolver_operatorInverseSqrt.out
275
- *
276
- * \sa operatorSqrt(), MatrixBase::inverse(),
277
- * \ref MatrixFunctions_Module "MatrixFunctions Module"
278
- */
279
- Matrix<Scalar, Dynamic, Dynamic> operatorInverseSqrt() const
280
- {
281
- eigen_assert(m_isInitialized && "SelfAdjointEigenSolver is not initialized.");
282
- eigen_assert(m_eigenvectorsOk && "The eigenvectors have not been computed together with the eigenvalues.");
283
- return m_eivec * m_eivalues.cwiseInverse().cwiseSqrt().asDiagonal() * m_eivec.adjoint();
284
- }
285
-
286
- /** \brief Reports whether previous computation was successful.
287
- *
288
- * \returns \c Success if computation was successful, \c NoConvergence otherwise.
289
- */
290
- ComputationInfo info() const
291
- {
292
- eigen_assert(m_isInitialized && "ArpackGeneralizedSelfAdjointEigenSolver is not initialized.");
293
- return m_info;
294
- }
295
-
296
- size_t getNbrConvergedEigenValues() const
297
- { return m_nbrConverged; }
298
-
299
- size_t getNbrIterations() const
300
- { return m_nbrIterations; }
301
-
302
- protected:
303
- Matrix<Scalar, Dynamic, Dynamic> m_eivec;
304
- Matrix<Scalar, Dynamic, 1> m_eivalues;
305
- ComputationInfo m_info;
306
- bool m_isInitialized;
307
- bool m_eigenvectorsOk;
308
-
309
- size_t m_nbrConverged;
310
- size_t m_nbrIterations;
311
- };
312
-
313
-
314
-
315
-
316
-
317
- template<typename MatrixType, typename MatrixSolver, bool BisSPD>
318
- ArpackGeneralizedSelfAdjointEigenSolver<MatrixType, MatrixSolver, BisSPD>&
319
- ArpackGeneralizedSelfAdjointEigenSolver<MatrixType, MatrixSolver, BisSPD>
320
- ::compute(const MatrixType& A, Index nbrEigenvalues,
321
- std::string eigs_sigma, int options, RealScalar tol)
322
- {
323
- MatrixType B(0,0);
324
- compute(A, B, nbrEigenvalues, eigs_sigma, options, tol);
325
-
326
- return *this;
327
- }
328
-
329
-
330
- template<typename MatrixType, typename MatrixSolver, bool BisSPD>
331
- ArpackGeneralizedSelfAdjointEigenSolver<MatrixType, MatrixSolver, BisSPD>&
332
- ArpackGeneralizedSelfAdjointEigenSolver<MatrixType, MatrixSolver, BisSPD>
333
- ::compute(const MatrixType& A, const MatrixType& B, Index nbrEigenvalues,
334
- std::string eigs_sigma, int options, RealScalar tol)
335
- {
336
- eigen_assert(A.cols() == A.rows());
337
- eigen_assert(B.cols() == B.rows());
338
- eigen_assert(B.rows() == 0 || A.cols() == B.rows());
339
- eigen_assert((options &~ (EigVecMask | GenEigMask)) == 0
340
- && (options & EigVecMask) != EigVecMask
341
- && "invalid option parameter");
342
-
343
- bool isBempty = (B.rows() == 0) || (B.cols() == 0);
344
-
345
- // For clarity, all parameters match their ARPACK name
346
- //
347
- // Always 0 on the first call
348
- //
349
- int ido = 0;
350
-
351
- int n = (int)A.cols();
352
-
353
- // User options: "LA", "SA", "SM", "LM", "BE"
354
- //
355
- char whch[3] = "LM";
356
-
357
- // Specifies the shift if iparam[6] = { 3, 4, 5 }, not used if iparam[6] = { 1, 2 }
358
- //
359
- RealScalar sigma = 0.0;
360
-
361
- if (eigs_sigma.length() >= 2 && isalpha(eigs_sigma[0]) && isalpha(eigs_sigma[1]))
362
- {
363
- eigs_sigma[0] = toupper(eigs_sigma[0]);
364
- eigs_sigma[1] = toupper(eigs_sigma[1]);
365
-
366
- // In the following special case we're going to invert the problem, since solving
367
- // for larger magnitude is much much faster
368
- // i.e., if 'SM' is specified, we're going to really use 'LM', the default
369
- //
370
- if (eigs_sigma.substr(0,2) != "SM")
371
- {
372
- whch[0] = eigs_sigma[0];
373
- whch[1] = eigs_sigma[1];
374
- }
375
- }
376
- else
377
- {
378
- eigen_assert(false && "Specifying clustered eigenvalues is not yet supported!");
379
-
380
- // If it's not scalar values, then the user may be explicitly
381
- // specifying the sigma value to cluster the evs around
382
- //
383
- sigma = atof(eigs_sigma.c_str());
384
-
385
- // If atof fails, it returns 0.0, which is a fine default
386
- //
387
- }
388
-
389
- // "I" means normal eigenvalue problem, "G" means generalized
390
- //
391
- char bmat[2] = "I";
392
- if (eigs_sigma.substr(0,2) == "SM" || !(isalpha(eigs_sigma[0]) && isalpha(eigs_sigma[1])) || (!isBempty && !BisSPD))
393
- bmat[0] = 'G';
394
-
395
- // Now we determine the mode to use
396
- //
397
- int mode = (bmat[0] == 'G') + 1;
398
- if (eigs_sigma.substr(0,2) == "SM" || !(isalpha(eigs_sigma[0]) && isalpha(eigs_sigma[1])))
399
- {
400
- // We're going to use shift-and-invert mode, and basically find
401
- // the largest eigenvalues of the inverse operator
402
- //
403
- mode = 3;
404
- }
405
-
406
- // The user-specified number of eigenvalues/vectors to compute
407
- //
408
- int nev = (int)nbrEigenvalues;
409
-
410
- // Allocate space for ARPACK to store the residual
411
- //
412
- Scalar *resid = new Scalar[n];
413
-
414
- // Number of Lanczos vectors, must satisfy nev < ncv <= n
415
- // Note that this indicates that nev != n, and we cannot compute
416
- // all eigenvalues of a mtrix
417
- //
418
- int ncv = std::min(std::max(2*nev, 20), n);
419
-
420
- // The working n x ncv matrix, also store the final eigenvectors (if computed)
421
- //
422
- Scalar *v = new Scalar[n*ncv];
423
- int ldv = n;
424
-
425
- // Working space
426
- //
427
- Scalar *workd = new Scalar[3*n];
428
- int lworkl = ncv*ncv+8*ncv; // Must be at least this length
429
- Scalar *workl = new Scalar[lworkl];
430
-
431
- int *iparam= new int[11];
432
- iparam[0] = 1; // 1 means we let ARPACK perform the shifts, 0 means we'd have to do it
433
- iparam[2] = std::max(300, (int)std::ceil(2*n/std::max(ncv,1)));
434
- iparam[6] = mode; // The mode, 1 is standard ev problem, 2 for generalized ev, 3 for shift-and-invert
435
-
436
- // Used during reverse communicate to notify where arrays start
437
- //
438
- int *ipntr = new int[11];
439
-
440
- // Error codes are returned in here, initial value of 0 indicates a random initial
441
- // residual vector is used, any other values means resid contains the initial residual
442
- // vector, possibly from a previous run
443
- //
444
- int info = 0;
445
-
446
- Scalar scale = 1.0;
447
- //if (!isBempty)
448
- //{
449
- //Scalar scale = B.norm() / std::sqrt(n);
450
- //scale = std::pow(2, std::floor(std::log(scale+1)));
451
- ////M /= scale;
452
- //for (size_t i=0; i<(size_t)B.outerSize(); i++)
453
- // for (typename MatrixType::InnerIterator it(B, i); it; ++it)
454
- // it.valueRef() /= scale;
455
- //}
456
-
457
- MatrixSolver OP;
458
- if (mode == 1 || mode == 2)
459
- {
460
- if (!isBempty)
461
- OP.compute(B);
462
- }
463
- else if (mode == 3)
464
- {
465
- if (sigma == 0.0)
466
- {
467
- OP.compute(A);
468
- }
469
- else
470
- {
471
- // Note: We will never enter here because sigma must be 0.0
472
- //
473
- if (isBempty)
474
- {
475
- MatrixType AminusSigmaB(A);
476
- for (Index i=0; i<A.rows(); ++i)
477
- AminusSigmaB.coeffRef(i,i) -= sigma;
478
-
479
- OP.compute(AminusSigmaB);
480
- }
481
- else
482
- {
483
- MatrixType AminusSigmaB = A - sigma * B;
484
- OP.compute(AminusSigmaB);
485
- }
486
- }
487
- }
488
-
489
- if (!(mode == 1 && isBempty) && !(mode == 2 && isBempty) && OP.info() != Success)
490
- std::cout << "Error factoring matrix" << std::endl;
491
-
492
- do
493
- {
494
- internal::arpack_wrapper<Scalar, RealScalar>::saupd(&ido, bmat, &n, whch, &nev, &tol, resid,
495
- &ncv, v, &ldv, iparam, ipntr, workd, workl,
496
- &lworkl, &info);
497
-
498
- if (ido == -1 || ido == 1)
499
- {
500
- Scalar *in = workd + ipntr[0] - 1;
501
- Scalar *out = workd + ipntr[1] - 1;
502
-
503
- if (ido == 1 && mode != 2)
504
- {
505
- Scalar *out2 = workd + ipntr[2] - 1;
506
- if (isBempty || mode == 1)
507
- Matrix<Scalar, Dynamic, 1>::Map(out2, n) = Matrix<Scalar, Dynamic, 1>::Map(in, n);
508
- else
509
- Matrix<Scalar, Dynamic, 1>::Map(out2, n) = B * Matrix<Scalar, Dynamic, 1>::Map(in, n);
510
-
511
- in = workd + ipntr[2] - 1;
512
- }
513
-
514
- if (mode == 1)
515
- {
516
- if (isBempty)
517
- {
518
- // OP = A
519
- //
520
- Matrix<Scalar, Dynamic, 1>::Map(out, n) = A * Matrix<Scalar, Dynamic, 1>::Map(in, n);
521
- }
522
- else
523
- {
524
- // OP = L^{-1}AL^{-T}
525
- //
526
- internal::OP<MatrixSolver, MatrixType, Scalar, BisSPD>::applyOP(OP, A, n, in, out);
527
- }
528
- }
529
- else if (mode == 2)
530
- {
531
- if (ido == 1)
532
- Matrix<Scalar, Dynamic, 1>::Map(in, n) = A * Matrix<Scalar, Dynamic, 1>::Map(in, n);
533
-
534
- // OP = B^{-1} A
535
- //
536
- Matrix<Scalar, Dynamic, 1>::Map(out, n) = OP.solve(Matrix<Scalar, Dynamic, 1>::Map(in, n));
537
- }
538
- else if (mode == 3)
539
- {
540
- // OP = (A-\sigmaB)B (\sigma could be 0, and B could be I)
541
- // The B * in is already computed and stored at in if ido == 1
542
- //
543
- if (ido == 1 || isBempty)
544
- Matrix<Scalar, Dynamic, 1>::Map(out, n) = OP.solve(Matrix<Scalar, Dynamic, 1>::Map(in, n));
545
- else
546
- Matrix<Scalar, Dynamic, 1>::Map(out, n) = OP.solve(B * Matrix<Scalar, Dynamic, 1>::Map(in, n));
547
- }
548
- }
549
- else if (ido == 2)
550
- {
551
- Scalar *in = workd + ipntr[0] - 1;
552
- Scalar *out = workd + ipntr[1] - 1;
553
-
554
- if (isBempty || mode == 1)
555
- Matrix<Scalar, Dynamic, 1>::Map(out, n) = Matrix<Scalar, Dynamic, 1>::Map(in, n);
556
- else
557
- Matrix<Scalar, Dynamic, 1>::Map(out, n) = B * Matrix<Scalar, Dynamic, 1>::Map(in, n);
558
- }
559
- } while (ido != 99);
560
-
561
- if (info == 1)
562
- m_info = NoConvergence;
563
- else if (info == 3)
564
- m_info = NumericalIssue;
565
- else if (info < 0)
566
- m_info = InvalidInput;
567
- else if (info != 0)
568
- eigen_assert(false && "Unknown ARPACK return value!");
569
- else
570
- {
571
- // Do we compute eigenvectors or not?
572
- //
573
- int rvec = (options & ComputeEigenvectors) == ComputeEigenvectors;
574
-
575
- // "A" means "All", use "S" to choose specific eigenvalues (not yet supported in ARPACK))
576
- //
577
- char howmny[2] = "A";
578
-
579
- // if howmny == "S", specifies the eigenvalues to compute (not implemented in ARPACK)
580
- //
581
- int *select = new int[ncv];
582
-
583
- // Final eigenvalues
584
- //
585
- m_eivalues.resize(nev, 1);
586
-
587
- internal::arpack_wrapper<Scalar, RealScalar>::seupd(&rvec, howmny, select, m_eivalues.data(), v, &ldv,
588
- &sigma, bmat, &n, whch, &nev, &tol, resid, &ncv,
589
- v, &ldv, iparam, ipntr, workd, workl, &lworkl, &info);
590
-
591
- if (info == -14)
592
- m_info = NoConvergence;
593
- else if (info != 0)
594
- m_info = InvalidInput;
595
- else
596
- {
597
- if (rvec)
598
- {
599
- m_eivec.resize(A.rows(), nev);
600
- for (int i=0; i<nev; i++)
601
- for (int j=0; j<n; j++)
602
- m_eivec(j,i) = v[i*n+j] / scale;
603
-
604
- if (mode == 1 && !isBempty && BisSPD)
605
- internal::OP<MatrixSolver, MatrixType, Scalar, BisSPD>::project(OP, n, nev, m_eivec.data());
606
-
607
- m_eigenvectorsOk = true;
608
- }
609
-
610
- m_nbrIterations = iparam[2];
611
- m_nbrConverged = iparam[4];
612
-
613
- m_info = Success;
614
- }
615
-
616
- delete[] select;
617
- }
618
-
619
- delete[] v;
620
- delete[] iparam;
621
- delete[] ipntr;
622
- delete[] workd;
623
- delete[] workl;
624
- delete[] resid;
625
-
626
- m_isInitialized = true;
627
-
628
- return *this;
629
- }
630
-
631
-
632
- // Single precision
633
- //
634
- extern "C" void ssaupd_(int *ido, char *bmat, int *n, char *which,
635
- int *nev, float *tol, float *resid, int *ncv,
636
- float *v, int *ldv, int *iparam, int *ipntr,
637
- float *workd, float *workl, int *lworkl,
638
- int *info);
639
-
640
- extern "C" void sseupd_(int *rvec, char *All, int *select, float *d,
641
- float *z, int *ldz, float *sigma,
642
- char *bmat, int *n, char *which, int *nev,
643
- float *tol, float *resid, int *ncv, float *v,
644
- int *ldv, int *iparam, int *ipntr, float *workd,
645
- float *workl, int *lworkl, int *ierr);
646
-
647
- // Double precision
648
- //
649
- extern "C" void dsaupd_(int *ido, char *bmat, int *n, char *which,
650
- int *nev, double *tol, double *resid, int *ncv,
651
- double *v, int *ldv, int *iparam, int *ipntr,
652
- double *workd, double *workl, int *lworkl,
653
- int *info);
654
-
655
- extern "C" void dseupd_(int *rvec, char *All, int *select, double *d,
656
- double *z, int *ldz, double *sigma,
657
- char *bmat, int *n, char *which, int *nev,
658
- double *tol, double *resid, int *ncv, double *v,
659
- int *ldv, int *iparam, int *ipntr, double *workd,
660
- double *workl, int *lworkl, int *ierr);
661
-
662
-
663
- namespace internal {
664
-
665
- template<typename Scalar, typename RealScalar> struct arpack_wrapper
666
- {
667
- static inline void saupd(int *ido, char *bmat, int *n, char *which,
668
- int *nev, RealScalar *tol, Scalar *resid, int *ncv,
669
- Scalar *v, int *ldv, int *iparam, int *ipntr,
670
- Scalar *workd, Scalar *workl, int *lworkl, int *info)
671
- {
672
- EIGEN_STATIC_ASSERT(!NumTraits<Scalar>::IsComplex, NUMERIC_TYPE_MUST_BE_REAL)
673
- }
674
-
675
- static inline void seupd(int *rvec, char *All, int *select, Scalar *d,
676
- Scalar *z, int *ldz, RealScalar *sigma,
677
- char *bmat, int *n, char *which, int *nev,
678
- RealScalar *tol, Scalar *resid, int *ncv, Scalar *v,
679
- int *ldv, int *iparam, int *ipntr, Scalar *workd,
680
- Scalar *workl, int *lworkl, int *ierr)
681
- {
682
- EIGEN_STATIC_ASSERT(!NumTraits<Scalar>::IsComplex, NUMERIC_TYPE_MUST_BE_REAL)
683
- }
684
- };
685
-
686
- template <> struct arpack_wrapper<float, float>
687
- {
688
- static inline void saupd(int *ido, char *bmat, int *n, char *which,
689
- int *nev, float *tol, float *resid, int *ncv,
690
- float *v, int *ldv, int *iparam, int *ipntr,
691
- float *workd, float *workl, int *lworkl, int *info)
692
- {
693
- ssaupd_(ido, bmat, n, which, nev, tol, resid, ncv, v, ldv, iparam, ipntr, workd, workl, lworkl, info);
694
- }
695
-
696
- static inline void seupd(int *rvec, char *All, int *select, float *d,
697
- float *z, int *ldz, float *sigma,
698
- char *bmat, int *n, char *which, int *nev,
699
- float *tol, float *resid, int *ncv, float *v,
700
- int *ldv, int *iparam, int *ipntr, float *workd,
701
- float *workl, int *lworkl, int *ierr)
702
- {
703
- sseupd_(rvec, All, select, d, z, ldz, sigma, bmat, n, which, nev, tol, resid, ncv, v, ldv, iparam, ipntr,
704
- workd, workl, lworkl, ierr);
705
- }
706
- };
707
-
708
- template <> struct arpack_wrapper<double, double>
709
- {
710
- static inline void saupd(int *ido, char *bmat, int *n, char *which,
711
- int *nev, double *tol, double *resid, int *ncv,
712
- double *v, int *ldv, int *iparam, int *ipntr,
713
- double *workd, double *workl, int *lworkl, int *info)
714
- {
715
- dsaupd_(ido, bmat, n, which, nev, tol, resid, ncv, v, ldv, iparam, ipntr, workd, workl, lworkl, info);
716
- }
717
-
718
- static inline void seupd(int *rvec, char *All, int *select, double *d,
719
- double *z, int *ldz, double *sigma,
720
- char *bmat, int *n, char *which, int *nev,
721
- double *tol, double *resid, int *ncv, double *v,
722
- int *ldv, int *iparam, int *ipntr, double *workd,
723
- double *workl, int *lworkl, int *ierr)
724
- {
725
- dseupd_(rvec, All, select, d, v, ldv, sigma, bmat, n, which, nev, tol, resid, ncv, v, ldv, iparam, ipntr,
726
- workd, workl, lworkl, ierr);
727
- }
728
- };
729
-
730
-
731
- template<typename MatrixSolver, typename MatrixType, typename Scalar, bool BisSPD>
732
- struct OP
733
- {
734
- static inline void applyOP(MatrixSolver &OP, const MatrixType &A, int n, Scalar *in, Scalar *out);
735
- static inline void project(MatrixSolver &OP, int n, int k, Scalar *vecs);
736
- };
737
-
738
- template<typename MatrixSolver, typename MatrixType, typename Scalar>
739
- struct OP<MatrixSolver, MatrixType, Scalar, true>
740
- {
741
- static inline void applyOP(MatrixSolver &OP, const MatrixType &A, int n, Scalar *in, Scalar *out)
742
- {
743
- // OP = L^{-1} A L^{-T} (B = LL^T)
744
- //
745
- // First solve L^T out = in
746
- //
747
- Matrix<Scalar, Dynamic, 1>::Map(out, n) = OP.matrixU().solve(Matrix<Scalar, Dynamic, 1>::Map(in, n));
748
- Matrix<Scalar, Dynamic, 1>::Map(out, n) = OP.permutationPinv() * Matrix<Scalar, Dynamic, 1>::Map(out, n);
749
-
750
- // Then compute out = A out
751
- //
752
- Matrix<Scalar, Dynamic, 1>::Map(out, n) = A * Matrix<Scalar, Dynamic, 1>::Map(out, n);
753
-
754
- // Then solve L out = out
755
- //
756
- Matrix<Scalar, Dynamic, 1>::Map(out, n) = OP.permutationP() * Matrix<Scalar, Dynamic, 1>::Map(out, n);
757
- Matrix<Scalar, Dynamic, 1>::Map(out, n) = OP.matrixL().solve(Matrix<Scalar, Dynamic, 1>::Map(out, n));
758
- }
759
-
760
- static inline void project(MatrixSolver &OP, int n, int k, Scalar *vecs)
761
- {
762
- // Solve L^T out = in
763
- //
764
- Matrix<Scalar, Dynamic, Dynamic>::Map(vecs, n, k) = OP.matrixU().solve(Matrix<Scalar, Dynamic, Dynamic>::Map(vecs, n, k));
765
- Matrix<Scalar, Dynamic, Dynamic>::Map(vecs, n, k) = OP.permutationPinv() * Matrix<Scalar, Dynamic, Dynamic>::Map(vecs, n, k);
766
- }
767
-
768
- };
769
-
770
- template<typename MatrixSolver, typename MatrixType, typename Scalar>
771
- struct OP<MatrixSolver, MatrixType, Scalar, false>
772
- {
773
- static inline void applyOP(MatrixSolver &OP, const MatrixType &A, int n, Scalar *in, Scalar *out)
774
- {
775
- eigen_assert(false && "Should never be in here...");
776
- }
777
-
778
- static inline void project(MatrixSolver &OP, int n, int k, Scalar *vecs)
779
- {
780
- eigen_assert(false && "Should never be in here...");
781
- }
782
-
783
- };
784
-
785
- } // end namespace internal
786
-
787
- } // end namespace Eigen
788
-
789
- #endif // EIGEN_ARPACKSELFADJOINTEIGENSOLVER_H
790
-