sequenzo 0.1.17__cp310-cp310-macosx_10_9_universal2.whl → 0.1.19__cp310-cp310-macosx_10_9_universal2.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 (423) hide show
  1. sequenzo/__init__.py +64 -8
  2. sequenzo/big_data/clara/clara.py +1 -1
  3. sequenzo/big_data/clara/utils/get_weighted_diss.c +155 -155
  4. sequenzo/big_data/clara/utils/get_weighted_diss.cpython-310-darwin.so +0 -0
  5. sequenzo/clustering/KMedoids.py +39 -0
  6. sequenzo/clustering/hierarchical_clustering.py +304 -8
  7. sequenzo/define_sequence_data.py +44 -3
  8. sequenzo/dissimilarity_measures/c_code.cpython-310-darwin.so +0 -0
  9. sequenzo/dissimilarity_measures/get_distance_matrix.py +1 -2
  10. sequenzo/dissimilarity_measures/get_substitution_cost_matrix.py +1 -1
  11. sequenzo/dissimilarity_measures/src/DHDdistance.cpp +13 -37
  12. sequenzo/dissimilarity_measures/src/LCPdistance.cpp +13 -37
  13. sequenzo/dissimilarity_measures/src/OMdistance.cpp +12 -47
  14. sequenzo/dissimilarity_measures/src/OMspellDistance.cpp +103 -67
  15. sequenzo/dissimilarity_measures/src/dp_utils.h +160 -0
  16. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/arch/common/xsimd_common_arithmetic.hpp +41 -16
  17. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/arch/common/xsimd_common_complex.hpp +4 -0
  18. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/arch/common/xsimd_common_details.hpp +7 -0
  19. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/arch/common/xsimd_common_logical.hpp +10 -0
  20. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/arch/common/xsimd_common_math.hpp +127 -43
  21. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/arch/common/xsimd_common_memory.hpp +30 -2
  22. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/arch/common/xsimd_common_swizzle.hpp +174 -0
  23. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/arch/common/xsimd_common_trigo.hpp +14 -5
  24. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/arch/xsimd_avx.hpp +111 -54
  25. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/arch/xsimd_avx2.hpp +131 -9
  26. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/arch/xsimd_avx512bw.hpp +11 -113
  27. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/arch/xsimd_avx512dq.hpp +39 -7
  28. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/arch/xsimd_avx512f.hpp +336 -30
  29. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/arch/xsimd_avx512vbmi.hpp +9 -37
  30. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/arch/xsimd_avx512vbmi2.hpp +58 -0
  31. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/arch/xsimd_common.hpp +1 -0
  32. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/arch/xsimd_common_fwd.hpp +35 -2
  33. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/arch/xsimd_constants.hpp +3 -1
  34. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/arch/xsimd_emulated.hpp +17 -0
  35. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/arch/xsimd_fma3_avx.hpp +13 -0
  36. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/arch/xsimd_fma3_sse.hpp +18 -0
  37. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/arch/xsimd_fma4.hpp +13 -0
  38. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/arch/xsimd_isa.hpp +8 -0
  39. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/arch/xsimd_neon.hpp +363 -34
  40. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/arch/xsimd_neon64.hpp +7 -0
  41. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/arch/xsimd_rvv.hpp +13 -0
  42. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/arch/xsimd_scalar.hpp +41 -4
  43. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/arch/xsimd_sse2.hpp +252 -16
  44. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/arch/xsimd_sse3.hpp +9 -0
  45. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/arch/xsimd_ssse3.hpp +12 -1
  46. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/arch/xsimd_sve.hpp +7 -0
  47. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/arch/xsimd_vsx.hpp +892 -0
  48. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/arch/xsimd_wasm.hpp +78 -1
  49. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/config/xsimd_arch.hpp +3 -1
  50. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/config/xsimd_config.hpp +13 -2
  51. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/config/xsimd_cpuid.hpp +5 -0
  52. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/config/xsimd_inline.hpp +5 -1
  53. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/types/xsimd_all_registers.hpp +2 -0
  54. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/types/xsimd_api.hpp +64 -1
  55. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/types/xsimd_batch.hpp +36 -0
  56. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/types/xsimd_rvv_register.hpp +40 -31
  57. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/types/xsimd_traits.hpp +8 -0
  58. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/types/xsimd_vsx_register.hpp +77 -0
  59. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/xsimd.hpp +6 -0
  60. sequenzo/dissimilarity_measures/utils/get_sm_trate_substitution_cost_matrix.c +155 -155
  61. sequenzo/dissimilarity_measures/utils/get_sm_trate_substitution_cost_matrix.cpython-310-darwin.so +0 -0
  62. sequenzo/dissimilarity_measures/utils/seqconc.c +155 -155
  63. sequenzo/dissimilarity_measures/utils/seqconc.cpython-310-darwin.so +0 -0
  64. sequenzo/dissimilarity_measures/utils/seqdss.c +155 -155
  65. sequenzo/dissimilarity_measures/utils/seqdss.cpython-310-darwin.so +0 -0
  66. sequenzo/dissimilarity_measures/utils/seqdur.c +155 -155
  67. sequenzo/dissimilarity_measures/utils/seqdur.cpython-310-darwin.so +0 -0
  68. sequenzo/dissimilarity_measures/utils/seqlength.c +155 -155
  69. sequenzo/dissimilarity_measures/utils/seqlength.cpython-310-darwin.so +0 -0
  70. sequenzo/multidomain/cat.py +0 -53
  71. sequenzo/multidomain/idcd.py +0 -1
  72. sequenzo/openmp_setup.py +233 -0
  73. sequenzo/sequence_characteristics/__init__.py +4 -0
  74. sequenzo/sequence_characteristics/complexity_index.py +17 -57
  75. sequenzo/sequence_characteristics/overall_cross_sectional_entropy.py +177 -111
  76. sequenzo/sequence_characteristics/plot_characteristics.py +30 -11
  77. sequenzo/sequence_characteristics/simple_characteristics.py +1 -0
  78. sequenzo/sequence_characteristics/state_frequencies_and_entropy_per_sequence.py +9 -3
  79. sequenzo/sequence_characteristics/turbulence.py +47 -67
  80. sequenzo/sequence_characteristics/variance_of_spell_durations.py +19 -9
  81. sequenzo/sequence_characteristics/within_sequence_entropy.py +5 -58
  82. sequenzo/visualization/plot_sequence_index.py +58 -35
  83. sequenzo/visualization/plot_state_distribution.py +57 -36
  84. sequenzo/visualization/plot_transition_matrix.py +21 -22
  85. sequenzo/with_event_history_analysis/__init__.py +35 -0
  86. sequenzo/with_event_history_analysis/sequence_analysis_multi_state_model.py +850 -0
  87. sequenzo/with_event_history_analysis/sequence_history_analysis.py +283 -0
  88. {sequenzo-0.1.17.dist-info → sequenzo-0.1.19.dist-info}/METADATA +48 -14
  89. sequenzo-0.1.19.dist-info/RECORD +215 -0
  90. sequenzo/dissimilarity_measures/setup.py +0 -35
  91. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Cholesky/LDLT.h +0 -688
  92. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Cholesky/LLT.h +0 -558
  93. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Cholesky/LLT_LAPACKE.h +0 -99
  94. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/CholmodSupport/CholmodSupport.h +0 -682
  95. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Eigenvalues/ComplexEigenSolver.h +0 -346
  96. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Eigenvalues/ComplexSchur.h +0 -462
  97. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Eigenvalues/ComplexSchur_LAPACKE.h +0 -91
  98. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Eigenvalues/EigenSolver.h +0 -622
  99. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Eigenvalues/GeneralizedEigenSolver.h +0 -418
  100. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Eigenvalues/GeneralizedSelfAdjointEigenSolver.h +0 -226
  101. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Eigenvalues/HessenbergDecomposition.h +0 -374
  102. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Eigenvalues/MatrixBaseEigenvalues.h +0 -158
  103. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Eigenvalues/RealQZ.h +0 -657
  104. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Eigenvalues/RealSchur.h +0 -558
  105. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Eigenvalues/RealSchur_LAPACKE.h +0 -77
  106. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Eigenvalues/SelfAdjointEigenSolver.h +0 -904
  107. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Eigenvalues/SelfAdjointEigenSolver_LAPACKE.h +0 -87
  108. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Eigenvalues/Tridiagonalization.h +0 -561
  109. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Geometry/AlignedBox.h +0 -486
  110. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Geometry/AngleAxis.h +0 -247
  111. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Geometry/EulerAngles.h +0 -114
  112. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Geometry/Homogeneous.h +0 -501
  113. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Geometry/Hyperplane.h +0 -282
  114. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Geometry/OrthoMethods.h +0 -235
  115. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Geometry/ParametrizedLine.h +0 -232
  116. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Geometry/Quaternion.h +0 -870
  117. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Geometry/Rotation2D.h +0 -199
  118. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Geometry/RotationBase.h +0 -206
  119. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Geometry/Scaling.h +0 -188
  120. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Geometry/Transform.h +0 -1563
  121. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Geometry/Translation.h +0 -202
  122. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Geometry/Umeyama.h +0 -166
  123. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Geometry/arch/Geometry_SIMD.h +0 -168
  124. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Householder/BlockHouseholder.h +0 -110
  125. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Householder/Householder.h +0 -176
  126. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Householder/HouseholderSequence.h +0 -545
  127. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/IterativeLinearSolvers/BasicPreconditioners.h +0 -226
  128. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/IterativeLinearSolvers/BiCGSTAB.h +0 -212
  129. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/IterativeLinearSolvers/ConjugateGradient.h +0 -229
  130. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/IterativeLinearSolvers/IncompleteCholesky.h +0 -394
  131. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/IterativeLinearSolvers/IncompleteLUT.h +0 -453
  132. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/IterativeLinearSolvers/IterativeSolverBase.h +0 -444
  133. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/IterativeLinearSolvers/LeastSquareConjugateGradient.h +0 -198
  134. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/IterativeLinearSolvers/SolveWithGuess.h +0 -117
  135. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Jacobi/Jacobi.h +0 -483
  136. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/KLUSupport/KLUSupport.h +0 -358
  137. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/LU/Determinant.h +0 -117
  138. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/LU/FullPivLU.h +0 -877
  139. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/LU/InverseImpl.h +0 -432
  140. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/LU/PartialPivLU.h +0 -624
  141. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/LU/PartialPivLU_LAPACKE.h +0 -83
  142. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/LU/arch/InverseSize4.h +0 -351
  143. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/MetisSupport/MetisSupport.h +0 -137
  144. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/OrderingMethods/Amd.h +0 -435
  145. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/OrderingMethods/Eigen_Colamd.h +0 -1863
  146. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/OrderingMethods/Ordering.h +0 -153
  147. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/PaStiXSupport/PaStiXSupport.h +0 -678
  148. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/PardisoSupport/PardisoSupport.h +0 -545
  149. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/QR/ColPivHouseholderQR.h +0 -674
  150. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/QR/ColPivHouseholderQR_LAPACKE.h +0 -97
  151. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/QR/CompleteOrthogonalDecomposition.h +0 -635
  152. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/QR/FullPivHouseholderQR.h +0 -713
  153. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/QR/HouseholderQR.h +0 -434
  154. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/QR/HouseholderQR_LAPACKE.h +0 -68
  155. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SPQRSupport/SuiteSparseQRSupport.h +0 -335
  156. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SVD/BDCSVD.h +0 -1366
  157. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SVD/JacobiSVD.h +0 -812
  158. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SVD/JacobiSVD_LAPACKE.h +0 -91
  159. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SVD/SVDBase.h +0 -376
  160. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SVD/UpperBidiagonalization.h +0 -414
  161. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCholesky/SimplicialCholesky.h +0 -697
  162. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCholesky/SimplicialCholesky_impl.h +0 -174
  163. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/AmbiVector.h +0 -378
  164. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/CompressedStorage.h +0 -274
  165. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/ConservativeSparseSparseProduct.h +0 -352
  166. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/MappedSparseMatrix.h +0 -67
  167. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/SparseAssign.h +0 -270
  168. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/SparseBlock.h +0 -571
  169. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/SparseColEtree.h +0 -206
  170. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/SparseCompressedBase.h +0 -370
  171. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/SparseCwiseBinaryOp.h +0 -722
  172. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/SparseCwiseUnaryOp.h +0 -150
  173. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/SparseDenseProduct.h +0 -342
  174. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/SparseDiagonalProduct.h +0 -138
  175. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/SparseDot.h +0 -98
  176. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/SparseFuzzy.h +0 -29
  177. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/SparseMap.h +0 -305
  178. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/SparseMatrix.h +0 -1518
  179. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/SparseMatrixBase.h +0 -398
  180. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/SparsePermutation.h +0 -178
  181. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/SparseProduct.h +0 -181
  182. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/SparseRedux.h +0 -49
  183. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/SparseRef.h +0 -397
  184. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/SparseSelfAdjointView.h +0 -659
  185. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/SparseSolverBase.h +0 -124
  186. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/SparseSparseProductWithPruning.h +0 -198
  187. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/SparseTranspose.h +0 -92
  188. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/SparseTriangularView.h +0 -189
  189. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/SparseUtil.h +0 -186
  190. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/SparseVector.h +0 -478
  191. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/SparseView.h +0 -254
  192. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/TriangularSolver.h +0 -315
  193. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseLU/SparseLU.h +0 -923
  194. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseLU/SparseLUImpl.h +0 -66
  195. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseLU/SparseLU_Memory.h +0 -226
  196. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseLU/SparseLU_Structs.h +0 -110
  197. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseLU/SparseLU_SupernodalMatrix.h +0 -375
  198. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseLU/SparseLU_Utils.h +0 -80
  199. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseLU/SparseLU_column_bmod.h +0 -181
  200. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseLU/SparseLU_column_dfs.h +0 -179
  201. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseLU/SparseLU_copy_to_ucol.h +0 -107
  202. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseLU/SparseLU_gemm_kernel.h +0 -280
  203. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseLU/SparseLU_heap_relax_snode.h +0 -126
  204. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseLU/SparseLU_kernel_bmod.h +0 -130
  205. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseLU/SparseLU_panel_bmod.h +0 -223
  206. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseLU/SparseLU_panel_dfs.h +0 -258
  207. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseLU/SparseLU_pivotL.h +0 -137
  208. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseLU/SparseLU_pruneL.h +0 -136
  209. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseLU/SparseLU_relax_snode.h +0 -83
  210. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseQR/SparseQR.h +0 -758
  211. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/StlSupport/StdDeque.h +0 -116
  212. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/StlSupport/StdList.h +0 -106
  213. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/StlSupport/StdVector.h +0 -131
  214. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/StlSupport/details.h +0 -84
  215. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SuperLUSupport/SuperLUSupport.h +0 -1025
  216. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/UmfPackSupport/UmfPackSupport.h +0 -642
  217. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/misc/Image.h +0 -82
  218. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/misc/Kernel.h +0 -79
  219. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/misc/RealSvd2x2.h +0 -55
  220. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/misc/blas.h +0 -440
  221. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/misc/lapack.h +0 -152
  222. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/misc/lapacke.h +0 -16292
  223. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/misc/lapacke_mangling.h +0 -17
  224. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/plugins/ArrayCwiseBinaryOps.h +0 -358
  225. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/plugins/ArrayCwiseUnaryOps.h +0 -696
  226. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/plugins/BlockMethods.h +0 -1442
  227. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/plugins/CommonCwiseBinaryOps.h +0 -115
  228. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/plugins/CommonCwiseUnaryOps.h +0 -177
  229. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/plugins/IndexedViewMethods.h +0 -262
  230. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/plugins/MatrixCwiseBinaryOps.h +0 -152
  231. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/plugins/MatrixCwiseUnaryOps.h +0 -95
  232. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/plugins/ReshapedMethods.h +0 -149
  233. sequenzo/dissimilarity_measures/src/eigen/blas/BandTriangularSolver.h +0 -97
  234. sequenzo/dissimilarity_measures/src/eigen/blas/GeneralRank1Update.h +0 -44
  235. sequenzo/dissimilarity_measures/src/eigen/blas/PackedSelfadjointProduct.h +0 -53
  236. sequenzo/dissimilarity_measures/src/eigen/blas/PackedTriangularMatrixVector.h +0 -79
  237. sequenzo/dissimilarity_measures/src/eigen/blas/PackedTriangularSolverVector.h +0 -88
  238. sequenzo/dissimilarity_measures/src/eigen/blas/Rank2Update.h +0 -57
  239. sequenzo/dissimilarity_measures/src/eigen/blas/common.h +0 -175
  240. sequenzo/dissimilarity_measures/src/eigen/blas/f2c/datatypes.h +0 -24
  241. sequenzo/dissimilarity_measures/src/eigen/blas/level1_cplx_impl.h +0 -155
  242. sequenzo/dissimilarity_measures/src/eigen/blas/level1_impl.h +0 -144
  243. sequenzo/dissimilarity_measures/src/eigen/blas/level1_real_impl.h +0 -122
  244. sequenzo/dissimilarity_measures/src/eigen/blas/level2_cplx_impl.h +0 -360
  245. sequenzo/dissimilarity_measures/src/eigen/blas/level2_impl.h +0 -553
  246. sequenzo/dissimilarity_measures/src/eigen/blas/level2_real_impl.h +0 -306
  247. sequenzo/dissimilarity_measures/src/eigen/blas/level3_impl.h +0 -702
  248. sequenzo/dissimilarity_measures/src/eigen/debug/gdb/__init__.py +0 -1
  249. sequenzo/dissimilarity_measures/src/eigen/debug/gdb/printers.py +0 -314
  250. sequenzo/dissimilarity_measures/src/eigen/lapack/lapack_common.h +0 -29
  251. sequenzo/dissimilarity_measures/src/eigen/scripts/relicense.py +0 -69
  252. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/Tensor.h +0 -554
  253. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorArgMax.h +0 -329
  254. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorAssign.h +0 -247
  255. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorBase.h +0 -1176
  256. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorBlock.h +0 -1559
  257. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorBroadcasting.h +0 -1093
  258. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorChipping.h +0 -518
  259. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorConcatenation.h +0 -377
  260. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorContraction.h +0 -1023
  261. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorContractionBlocking.h +0 -73
  262. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorContractionCuda.h +0 -6
  263. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorContractionGpu.h +0 -1413
  264. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorContractionMapper.h +0 -575
  265. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorContractionSycl.h +0 -1650
  266. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorContractionThreadPool.h +0 -1679
  267. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorConversion.h +0 -456
  268. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorConvolution.h +0 -1132
  269. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorConvolutionSycl.h +0 -544
  270. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorCostModel.h +0 -214
  271. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorCustomOp.h +0 -347
  272. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorDevice.h +0 -137
  273. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorDeviceCuda.h +0 -6
  274. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorDeviceDefault.h +0 -104
  275. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorDeviceGpu.h +0 -389
  276. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorDeviceSycl.h +0 -1048
  277. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorDeviceThreadPool.h +0 -409
  278. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorDimensionList.h +0 -236
  279. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorDimensions.h +0 -490
  280. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorEvalTo.h +0 -236
  281. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorEvaluator.h +0 -983
  282. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorExecutor.h +0 -703
  283. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorExpr.h +0 -388
  284. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorFFT.h +0 -669
  285. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorFixedSize.h +0 -379
  286. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorForcedEval.h +0 -237
  287. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorForwardDeclarations.h +0 -191
  288. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorFunctors.h +0 -488
  289. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorGenerator.h +0 -302
  290. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorGlobalFunctions.h +0 -33
  291. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorGpuHipCudaDefines.h +0 -99
  292. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorGpuHipCudaUndefines.h +0 -44
  293. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorIO.h +0 -79
  294. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorImagePatch.h +0 -603
  295. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorIndexList.h +0 -738
  296. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorInflation.h +0 -247
  297. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorInitializer.h +0 -82
  298. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorIntDiv.h +0 -263
  299. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorLayoutSwap.h +0 -216
  300. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorMacros.h +0 -98
  301. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorMap.h +0 -327
  302. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorMeta.h +0 -311
  303. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorMorphing.h +0 -1102
  304. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorPadding.h +0 -708
  305. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorPatch.h +0 -291
  306. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorRandom.h +0 -322
  307. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorReduction.h +0 -998
  308. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorReductionCuda.h +0 -6
  309. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorReductionGpu.h +0 -966
  310. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorReductionSycl.h +0 -582
  311. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorRef.h +0 -454
  312. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorReverse.h +0 -465
  313. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorScan.h +0 -528
  314. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorScanSycl.h +0 -513
  315. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorShuffling.h +0 -471
  316. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorStorage.h +0 -161
  317. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorStriding.h +0 -346
  318. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorTrace.h +0 -303
  319. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorTraits.h +0 -264
  320. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorUInt128.h +0 -249
  321. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorVolumePatch.h +0 -629
  322. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/TensorSymmetry/DynamicSymmetry.h +0 -293
  323. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/TensorSymmetry/StaticSymmetry.h +0 -236
  324. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/TensorSymmetry/Symmetry.h +0 -338
  325. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/TensorSymmetry/util/TemplateGroupTheory.h +0 -669
  326. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/ThreadPool/Barrier.h +0 -67
  327. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/ThreadPool/EventCount.h +0 -249
  328. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/ThreadPool/NonBlockingThreadPool.h +0 -486
  329. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/ThreadPool/RunQueue.h +0 -236
  330. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/ThreadPool/ThreadCancel.h +0 -23
  331. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/ThreadPool/ThreadEnvironment.h +0 -40
  332. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/ThreadPool/ThreadLocal.h +0 -301
  333. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/ThreadPool/ThreadPoolInterface.h +0 -48
  334. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/ThreadPool/ThreadYield.h +0 -20
  335. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/util/CXX11Meta.h +0 -537
  336. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/util/CXX11Workarounds.h +0 -88
  337. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/util/EmulateArray.h +0 -261
  338. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/util/MaxSizeVector.h +0 -158
  339. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/AutoDiff/AutoDiffJacobian.h +0 -108
  340. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/AutoDiff/AutoDiffScalar.h +0 -730
  341. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/AutoDiff/AutoDiffVector.h +0 -220
  342. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/BVH/BVAlgorithms.h +0 -293
  343. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/BVH/KdBVH.h +0 -223
  344. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/Eigenvalues/ArpackSelfAdjointEigenSolver.h +0 -790
  345. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/EulerAngles/EulerAngles.h +0 -355
  346. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/EulerAngles/EulerSystem.h +0 -305
  347. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/FFT/ei_fftw_impl.h +0 -261
  348. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/FFT/ei_kissfft_impl.h +0 -449
  349. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/IterativeSolvers/ConstrainedConjGrad.h +0 -187
  350. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/IterativeSolvers/DGMRES.h +0 -511
  351. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/IterativeSolvers/GMRES.h +0 -335
  352. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/IterativeSolvers/IDRS.h +0 -436
  353. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/IterativeSolvers/IncompleteLU.h +0 -90
  354. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/IterativeSolvers/IterationController.h +0 -154
  355. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/IterativeSolvers/MINRES.h +0 -267
  356. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/IterativeSolvers/Scaling.h +0 -193
  357. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/KroneckerProduct/KroneckerTensorProduct.h +0 -305
  358. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/LevenbergMarquardt/LMcovar.h +0 -84
  359. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/LevenbergMarquardt/LMonestep.h +0 -202
  360. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/LevenbergMarquardt/LMpar.h +0 -160
  361. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/LevenbergMarquardt/LMqrsolv.h +0 -188
  362. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/LevenbergMarquardt/LevenbergMarquardt.h +0 -396
  363. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/MatrixFunctions/MatrixExponential.h +0 -441
  364. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/MatrixFunctions/MatrixFunction.h +0 -569
  365. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/MatrixFunctions/MatrixLogarithm.h +0 -373
  366. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/MatrixFunctions/MatrixPower.h +0 -705
  367. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/MatrixFunctions/MatrixSquareRoot.h +0 -368
  368. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/MatrixFunctions/StemFunction.h +0 -117
  369. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/MoreVectorization/MathFunctions.h +0 -95
  370. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/NonLinearOptimization/HybridNonLinearSolver.h +0 -601
  371. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/NonLinearOptimization/LevenbergMarquardt.h +0 -657
  372. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/NonLinearOptimization/chkder.h +0 -66
  373. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/NonLinearOptimization/covar.h +0 -70
  374. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/NonLinearOptimization/dogleg.h +0 -107
  375. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/NonLinearOptimization/fdjac1.h +0 -79
  376. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/NonLinearOptimization/lmpar.h +0 -298
  377. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/NonLinearOptimization/qrsolv.h +0 -91
  378. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/NonLinearOptimization/r1mpyq.h +0 -30
  379. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/NonLinearOptimization/r1updt.h +0 -99
  380. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/NonLinearOptimization/rwupdt.h +0 -49
  381. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/NumericalDiff/NumericalDiff.h +0 -130
  382. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/Polynomials/Companion.h +0 -280
  383. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/Polynomials/PolynomialSolver.h +0 -428
  384. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/Polynomials/PolynomialUtils.h +0 -143
  385. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/Skyline/SkylineInplaceLU.h +0 -352
  386. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/Skyline/SkylineMatrix.h +0 -862
  387. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/Skyline/SkylineMatrixBase.h +0 -212
  388. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/Skyline/SkylineProduct.h +0 -295
  389. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/Skyline/SkylineStorage.h +0 -259
  390. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/Skyline/SkylineUtil.h +0 -89
  391. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/SparseExtra/BlockOfDynamicSparseMatrix.h +0 -122
  392. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/SparseExtra/BlockSparseMatrix.h +0 -1079
  393. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/SparseExtra/DynamicSparseMatrix.h +0 -404
  394. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/SparseExtra/MarketIO.h +0 -282
  395. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/SparseExtra/MatrixMarketIterator.h +0 -247
  396. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/SparseExtra/RandomSetter.h +0 -349
  397. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsArrayAPI.h +0 -286
  398. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsBFloat16.h +0 -68
  399. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsFunctors.h +0 -357
  400. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsHalf.h +0 -66
  401. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h +0 -1959
  402. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsPacketMath.h +0 -118
  403. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/SpecialFunctions/HipVectorCompatibility.h +0 -67
  404. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsArrayAPI.h +0 -167
  405. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsBFloat16.h +0 -58
  406. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsFunctors.h +0 -330
  407. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsHalf.h +0 -58
  408. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h +0 -2045
  409. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsPacketMath.h +0 -79
  410. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/SpecialFunctions/arch/AVX/BesselFunctions.h +0 -46
  411. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/SpecialFunctions/arch/AVX/SpecialFunctions.h +0 -16
  412. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/SpecialFunctions/arch/AVX512/BesselFunctions.h +0 -46
  413. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/SpecialFunctions/arch/AVX512/SpecialFunctions.h +0 -16
  414. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/SpecialFunctions/arch/GPU/SpecialFunctions.h +0 -369
  415. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/SpecialFunctions/arch/NEON/BesselFunctions.h +0 -54
  416. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/SpecialFunctions/arch/NEON/SpecialFunctions.h +0 -34
  417. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/Splines/Spline.h +0 -507
  418. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/Splines/SplineFitting.h +0 -431
  419. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/Splines/SplineFwd.h +0 -93
  420. sequenzo-0.1.17.dist-info/RECORD +0 -537
  421. {sequenzo-0.1.17.dist-info → sequenzo-0.1.19.dist-info}/WHEEL +0 -0
  422. {sequenzo-0.1.17.dist-info → sequenzo-0.1.19.dist-info}/licenses/LICENSE +0 -0
  423. {sequenzo-0.1.17.dist-info → sequenzo-0.1.19.dist-info}/top_level.txt +0 -0
@@ -1,247 +0,0 @@
1
-
2
- // This file is part of Eigen, a lightweight C++ template library
3
- // for linear algebra.
4
- //
5
- // Copyright (C) 2012 Desire NUENTSA WAKAM <desire.nuentsa_wakam@inria.fr>
6
- //
7
- // This Source Code Form is subject to the terms of the Mozilla
8
- // Public License v. 2.0. If a copy of the MPL was not distributed
9
- // with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
10
-
11
- #ifndef EIGEN_BROWSE_MATRICES_H
12
- #define EIGEN_BROWSE_MATRICES_H
13
-
14
- namespace Eigen {
15
-
16
- enum {
17
- SPD = 0x100,
18
- NonSymmetric = 0x0
19
- };
20
-
21
- /**
22
- * @brief Iterator to browse matrices from a specified folder
23
- *
24
- * This is used to load all the matrices from a folder.
25
- * The matrices should be in Matrix Market format
26
- * It is assumed that the matrices are named as matname.mtx
27
- * and matname_SPD.mtx if the matrix is Symmetric and positive definite (or Hermitian)
28
- * The right hand side vectors are loaded as well, if they exist.
29
- * They should be named as matname_b.mtx.
30
- * Note that the right hand side for a SPD matrix is named as matname_SPD_b.mtx
31
- *
32
- * Sometimes a reference solution is available. In this case, it should be named as matname_x.mtx
33
- *
34
- * Sample code
35
- * \code
36
- *
37
- * \endcode
38
- *
39
- * \tparam Scalar The scalar type
40
- */
41
- template <typename Scalar>
42
- class MatrixMarketIterator
43
- {
44
- typedef typename NumTraits<Scalar>::Real RealScalar;
45
- public:
46
- typedef Matrix<Scalar,Dynamic,1> VectorType;
47
- typedef SparseMatrix<Scalar,ColMajor> MatrixType;
48
-
49
- public:
50
- MatrixMarketIterator(const std::string &folder)
51
- : m_sym(0), m_isvalid(false), m_matIsLoaded(false), m_hasRhs(false), m_hasrefX(false), m_folder(folder)
52
- {
53
- m_folder_id = opendir(folder.c_str());
54
- if(m_folder_id)
55
- Getnextvalidmatrix();
56
- }
57
-
58
- ~MatrixMarketIterator()
59
- {
60
- if (m_folder_id) closedir(m_folder_id);
61
- }
62
-
63
- inline MatrixMarketIterator& operator++()
64
- {
65
- m_matIsLoaded = false;
66
- m_hasrefX = false;
67
- m_hasRhs = false;
68
- Getnextvalidmatrix();
69
- return *this;
70
- }
71
- inline operator bool() const { return m_isvalid;}
72
-
73
- /** Return the sparse matrix corresponding to the current file */
74
- inline MatrixType& matrix()
75
- {
76
- // Read the matrix
77
- if (m_matIsLoaded) return m_mat;
78
-
79
- std::string matrix_file = m_folder + "/" + m_matname + ".mtx";
80
- if ( !loadMarket(m_mat, matrix_file))
81
- {
82
- std::cerr << "Warning loadMarket failed when loading \"" << matrix_file << "\"" << std::endl;
83
- m_matIsLoaded = false;
84
- return m_mat;
85
- }
86
- m_matIsLoaded = true;
87
-
88
- if (m_sym != NonSymmetric)
89
- {
90
- // Check whether we need to restore a full matrix:
91
- RealScalar diag_norm = m_mat.diagonal().norm();
92
- RealScalar lower_norm = m_mat.template triangularView<Lower>().norm();
93
- RealScalar upper_norm = m_mat.template triangularView<Upper>().norm();
94
- if(lower_norm>diag_norm && upper_norm==diag_norm)
95
- {
96
- // only the lower part is stored
97
- MatrixType tmp(m_mat);
98
- m_mat = tmp.template selfadjointView<Lower>();
99
- }
100
- else if(upper_norm>diag_norm && lower_norm==diag_norm)
101
- {
102
- // only the upper part is stored
103
- MatrixType tmp(m_mat);
104
- m_mat = tmp.template selfadjointView<Upper>();
105
- }
106
- }
107
- return m_mat;
108
- }
109
-
110
- /** Return the right hand side corresponding to the current matrix.
111
- * If the rhs file is not provided, a random rhs is generated
112
- */
113
- inline VectorType& rhs()
114
- {
115
- // Get the right hand side
116
- if (m_hasRhs) return m_rhs;
117
-
118
- std::string rhs_file;
119
- rhs_file = m_folder + "/" + m_matname + "_b.mtx"; // The pattern is matname_b.mtx
120
- m_hasRhs = Fileexists(rhs_file);
121
- if (m_hasRhs)
122
- {
123
- m_rhs.resize(m_mat.cols());
124
- m_hasRhs = loadMarketVector(m_rhs, rhs_file);
125
- }
126
- if (!m_hasRhs)
127
- {
128
- // Generate a random right hand side
129
- if (!m_matIsLoaded) this->matrix();
130
- m_refX.resize(m_mat.cols());
131
- m_refX.setRandom();
132
- m_rhs = m_mat * m_refX;
133
- m_hasrefX = true;
134
- m_hasRhs = true;
135
- }
136
- return m_rhs;
137
- }
138
-
139
- /** Return a reference solution
140
- * If it is not provided and if the right hand side is not available
141
- * then refX is randomly generated such that A*refX = b
142
- * where A and b are the matrix and the rhs.
143
- * Note that when a rhs is provided, refX is not available
144
- */
145
- inline VectorType& refX()
146
- {
147
- // Check if a reference solution is provided
148
- if (m_hasrefX) return m_refX;
149
-
150
- std::string lhs_file;
151
- lhs_file = m_folder + "/" + m_matname + "_x.mtx";
152
- m_hasrefX = Fileexists(lhs_file);
153
- if (m_hasrefX)
154
- {
155
- m_refX.resize(m_mat.cols());
156
- m_hasrefX = loadMarketVector(m_refX, lhs_file);
157
- }
158
- else
159
- m_refX.resize(0);
160
- return m_refX;
161
- }
162
-
163
- inline std::string& matname() { return m_matname; }
164
-
165
- inline int sym() { return m_sym; }
166
-
167
- bool hasRhs() {return m_hasRhs; }
168
- bool hasrefX() {return m_hasrefX; }
169
- bool isFolderValid() { return bool(m_folder_id); }
170
-
171
- protected:
172
-
173
- inline bool Fileexists(std::string file)
174
- {
175
- std::ifstream file_id(file.c_str());
176
- if (!file_id.good() )
177
- {
178
- return false;
179
- }
180
- else
181
- {
182
- file_id.close();
183
- return true;
184
- }
185
- }
186
-
187
- void Getnextvalidmatrix( )
188
- {
189
- m_isvalid = false;
190
- // Here, we return with the next valid matrix in the folder
191
- while ( (m_curs_id = readdir(m_folder_id)) != NULL) {
192
- m_isvalid = false;
193
- std::string curfile;
194
- curfile = m_folder + "/" + m_curs_id->d_name;
195
- // Discard if it is a folder
196
- if (m_curs_id->d_type == DT_DIR) continue; //FIXME This may not be available on non BSD systems
197
- // struct stat st_buf;
198
- // stat (curfile.c_str(), &st_buf);
199
- // if (S_ISDIR(st_buf.st_mode)) continue;
200
-
201
- // Determine from the header if it is a matrix or a right hand side
202
- bool isvector,iscomplex=false;
203
- if(!getMarketHeader(curfile,m_sym,iscomplex,isvector)) continue;
204
- if(isvector) continue;
205
- if (!iscomplex)
206
- {
207
- if(internal::is_same<Scalar, std::complex<float> >::value || internal::is_same<Scalar, std::complex<double> >::value)
208
- continue;
209
- }
210
- if (iscomplex)
211
- {
212
- if(internal::is_same<Scalar, float>::value || internal::is_same<Scalar, double>::value)
213
- continue;
214
- }
215
-
216
-
217
- // Get the matrix name
218
- std::string filename = m_curs_id->d_name;
219
- m_matname = filename.substr(0, filename.length()-4);
220
-
221
- // Find if the matrix is SPD
222
- size_t found = m_matname.find("SPD");
223
- if( (found!=std::string::npos) && (m_sym != NonSymmetric) )
224
- m_sym = SPD;
225
-
226
- m_isvalid = true;
227
- break;
228
- }
229
- }
230
- int m_sym; // Symmetry of the matrix
231
- MatrixType m_mat; // Current matrix
232
- VectorType m_rhs; // Current vector
233
- VectorType m_refX; // The reference solution, if exists
234
- std::string m_matname; // Matrix Name
235
- bool m_isvalid;
236
- bool m_matIsLoaded; // Determine if the matrix has already been loaded from the file
237
- bool m_hasRhs; // The right hand side exists
238
- bool m_hasrefX; // A reference solution is provided
239
- std::string m_folder;
240
- DIR * m_folder_id;
241
- struct dirent *m_curs_id;
242
-
243
- };
244
-
245
- } // end namespace Eigen
246
-
247
- #endif
@@ -1,349 +0,0 @@
1
- // This file is part of Eigen, a lightweight C++ template library
2
- // for linear algebra.
3
- //
4
- // Copyright (C) 2008 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_RANDOMSETTER_H
11
- #define EIGEN_RANDOMSETTER_H
12
-
13
- #if defined(EIGEN_GOOGLEHASH_SUPPORT)
14
- // Ensure the ::google namespace exists, required for checking existence of
15
- // ::google::dense_hash_map and ::google::sparse_hash_map.
16
- namespace google {}
17
- #endif
18
-
19
- namespace Eigen {
20
-
21
- /** Represents a std::map
22
- *
23
- * \see RandomSetter
24
- */
25
- template<typename Scalar> struct StdMapTraits
26
- {
27
- typedef int KeyType;
28
- typedef std::map<KeyType,Scalar> Type;
29
- enum {
30
- IsSorted = 1
31
- };
32
-
33
- static void setInvalidKey(Type&, const KeyType&) {}
34
- };
35
-
36
- #ifdef EIGEN_UNORDERED_MAP_SUPPORT
37
- /** Represents a std::unordered_map
38
- *
39
- * To use it you need to both define EIGEN_UNORDERED_MAP_SUPPORT and include the unordered_map header file
40
- * yourself making sure that unordered_map is defined in the std namespace.
41
- *
42
- * For instance, with current version of gcc you can either enable C++0x standard (-std=c++0x) or do:
43
- * \code
44
- * #include <tr1/unordered_map>
45
- * #define EIGEN_UNORDERED_MAP_SUPPORT
46
- * namespace std {
47
- * using std::tr1::unordered_map;
48
- * }
49
- * \endcode
50
- *
51
- * \see RandomSetter
52
- */
53
- template<typename Scalar> struct StdUnorderedMapTraits
54
- {
55
- typedef int KeyType;
56
- typedef std::unordered_map<KeyType,Scalar> Type;
57
- enum {
58
- IsSorted = 0
59
- };
60
-
61
- static void setInvalidKey(Type&, const KeyType&) {}
62
- };
63
- #endif // EIGEN_UNORDERED_MAP_SUPPORT
64
-
65
- #if defined(EIGEN_GOOGLEHASH_SUPPORT)
66
-
67
- namespace google {
68
-
69
- // Namespace work-around, since sometimes dense_hash_map and sparse_hash_map
70
- // are in the global namespace, and other times they are under ::google.
71
- using namespace ::google;
72
-
73
- template<typename KeyType, typename Scalar>
74
- struct DenseHashMap {
75
- typedef dense_hash_map<KeyType, Scalar> type;
76
- };
77
-
78
- template<typename KeyType, typename Scalar>
79
- struct SparseHashMap {
80
- typedef sparse_hash_map<KeyType, Scalar> type;
81
- };
82
-
83
- } // namespace google
84
-
85
- /** Represents a google::dense_hash_map
86
- *
87
- * \see RandomSetter
88
- */
89
- template<typename Scalar> struct GoogleDenseHashMapTraits
90
- {
91
- typedef int KeyType;
92
- typedef typename google::DenseHashMap<KeyType,Scalar>::type Type;
93
- enum {
94
- IsSorted = 0
95
- };
96
-
97
- static void setInvalidKey(Type& map, const KeyType& k)
98
- { map.set_empty_key(k); }
99
- };
100
-
101
- /** Represents a google::sparse_hash_map
102
- *
103
- * \see RandomSetter
104
- */
105
- template<typename Scalar> struct GoogleSparseHashMapTraits
106
- {
107
- typedef int KeyType;
108
- typedef typename google::SparseHashMap<KeyType,Scalar>::type Type;
109
- enum {
110
- IsSorted = 0
111
- };
112
-
113
- static void setInvalidKey(Type&, const KeyType&) {}
114
- };
115
- #endif
116
-
117
- /** \class RandomSetter
118
- *
119
- * \brief The RandomSetter is a wrapper object allowing to set/update a sparse matrix with random access
120
- *
121
- * \tparam SparseMatrixType the type of the sparse matrix we are updating
122
- * \tparam MapTraits a traits class representing the map implementation used for the temporary sparse storage.
123
- * Its default value depends on the system.
124
- * \tparam OuterPacketBits defines the number of rows (or columns) manage by a single map object
125
- * as a power of two exponent.
126
- *
127
- * This class temporarily represents a sparse matrix object using a generic map implementation allowing for
128
- * efficient random access. The conversion from the compressed representation to a hash_map object is performed
129
- * in the RandomSetter constructor, while the sparse matrix is updated back at destruction time. This strategy
130
- * suggest the use of nested blocks as in this example:
131
- *
132
- * \code
133
- * SparseMatrix<double> m(rows,cols);
134
- * {
135
- * RandomSetter<SparseMatrix<double> > w(m);
136
- * // don't use m but w instead with read/write random access to the coefficients:
137
- * for(;;)
138
- * w(rand(),rand()) = rand;
139
- * }
140
- * // when w is deleted, the data are copied back to m
141
- * // and m is ready to use.
142
- * \endcode
143
- *
144
- * Since hash_map objects are not fully sorted, representing a full matrix as a single hash_map would
145
- * involve a big and costly sort to update the compressed matrix back. To overcome this issue, a RandomSetter
146
- * use multiple hash_map, each representing 2^OuterPacketBits columns or rows according to the storage order.
147
- * To reach optimal performance, this value should be adjusted according to the average number of nonzeros
148
- * per rows/columns.
149
- *
150
- * The possible values for the template parameter MapTraits are:
151
- * - \b StdMapTraits: corresponds to std::map. (does not perform very well)
152
- * - \b GnuHashMapTraits: corresponds to __gnu_cxx::hash_map (available only with GCC)
153
- * - \b GoogleDenseHashMapTraits: corresponds to google::dense_hash_map (best efficiency, reasonable memory consumption)
154
- * - \b GoogleSparseHashMapTraits: corresponds to google::sparse_hash_map (best memory consumption, relatively good performance)
155
- *
156
- * The default map implementation depends on the availability, and the preferred order is:
157
- * GoogleSparseHashMapTraits, GnuHashMapTraits, and finally StdMapTraits.
158
- *
159
- * For performance and memory consumption reasons it is highly recommended to use one of
160
- * Google's hash_map implementations. To enable the support for them, you must define
161
- * EIGEN_GOOGLEHASH_SUPPORT. This will include both <google/dense_hash_map> and
162
- * <google/sparse_hash_map> for you.
163
- *
164
- * \see https://github.com/sparsehash/sparsehash
165
- */
166
- template<typename SparseMatrixType,
167
- template <typename T> class MapTraits =
168
- #if defined(EIGEN_GOOGLEHASH_SUPPORT)
169
- GoogleDenseHashMapTraits
170
- #elif defined(_HASH_MAP)
171
- GnuHashMapTraits
172
- #else
173
- StdMapTraits
174
- #endif
175
- ,int OuterPacketBits = 6>
176
- class RandomSetter
177
- {
178
- typedef typename SparseMatrixType::Scalar Scalar;
179
- typedef typename SparseMatrixType::StorageIndex StorageIndex;
180
-
181
- struct ScalarWrapper
182
- {
183
- ScalarWrapper() : value(0) {}
184
- Scalar value;
185
- };
186
- typedef typename MapTraits<ScalarWrapper>::KeyType KeyType;
187
- typedef typename MapTraits<ScalarWrapper>::Type HashMapType;
188
- static const int OuterPacketMask = (1 << OuterPacketBits) - 1;
189
- enum {
190
- SwapStorage = 1 - MapTraits<ScalarWrapper>::IsSorted,
191
- TargetRowMajor = (SparseMatrixType::Flags & RowMajorBit) ? 1 : 0,
192
- SetterRowMajor = SwapStorage ? 1-TargetRowMajor : TargetRowMajor
193
- };
194
-
195
- public:
196
-
197
- /** Constructs a random setter object from the sparse matrix \a target
198
- *
199
- * Note that the initial value of \a target are imported. If you want to re-set
200
- * a sparse matrix from scratch, then you must set it to zero first using the
201
- * setZero() function.
202
- */
203
- inline RandomSetter(SparseMatrixType& target)
204
- : mp_target(&target)
205
- {
206
- const Index outerSize = SwapStorage ? target.innerSize() : target.outerSize();
207
- const Index innerSize = SwapStorage ? target.outerSize() : target.innerSize();
208
- m_outerPackets = outerSize >> OuterPacketBits;
209
- if (outerSize&OuterPacketMask)
210
- m_outerPackets += 1;
211
- m_hashmaps = new HashMapType[m_outerPackets];
212
- // compute number of bits needed to store inner indices
213
- Index aux = innerSize - 1;
214
- m_keyBitsOffset = 0;
215
- while (aux)
216
- {
217
- ++m_keyBitsOffset;
218
- aux = aux >> 1;
219
- }
220
- KeyType ik = (1<<(OuterPacketBits+m_keyBitsOffset));
221
- for (Index k=0; k<m_outerPackets; ++k)
222
- MapTraits<ScalarWrapper>::setInvalidKey(m_hashmaps[k],ik);
223
-
224
- // insert current coeffs
225
- for (Index j=0; j<mp_target->outerSize(); ++j)
226
- for (typename SparseMatrixType::InnerIterator it(*mp_target,j); it; ++it)
227
- (*this)(TargetRowMajor?j:it.index(), TargetRowMajor?it.index():j) = it.value();
228
- }
229
-
230
- /** Destructor updating back the sparse matrix target */
231
- ~RandomSetter()
232
- {
233
- KeyType keyBitsMask = (1<<m_keyBitsOffset)-1;
234
- if (!SwapStorage) // also means the map is sorted
235
- {
236
- mp_target->setZero();
237
- mp_target->makeCompressed();
238
- mp_target->reserve(nonZeros());
239
- Index prevOuter = -1;
240
- for (Index k=0; k<m_outerPackets; ++k)
241
- {
242
- const Index outerOffset = (1<<OuterPacketBits) * k;
243
- typename HashMapType::iterator end = m_hashmaps[k].end();
244
- for (typename HashMapType::iterator it = m_hashmaps[k].begin(); it!=end; ++it)
245
- {
246
- const Index outer = (it->first >> m_keyBitsOffset) + outerOffset;
247
- const Index inner = it->first & keyBitsMask;
248
- if (prevOuter!=outer)
249
- {
250
- for (Index j=prevOuter+1;j<=outer;++j)
251
- mp_target->startVec(j);
252
- prevOuter = outer;
253
- }
254
- mp_target->insertBackByOuterInner(outer, inner) = it->second.value;
255
- }
256
- }
257
- mp_target->finalize();
258
- }
259
- else
260
- {
261
- VectorXi positions(mp_target->outerSize());
262
- positions.setZero();
263
- // pass 1
264
- for (Index k=0; k<m_outerPackets; ++k)
265
- {
266
- typename HashMapType::iterator end = m_hashmaps[k].end();
267
- for (typename HashMapType::iterator it = m_hashmaps[k].begin(); it!=end; ++it)
268
- {
269
- const Index outer = it->first & keyBitsMask;
270
- ++positions[outer];
271
- }
272
- }
273
- // prefix sum
274
- StorageIndex count = 0;
275
- for (Index j=0; j<mp_target->outerSize(); ++j)
276
- {
277
- StorageIndex tmp = positions[j];
278
- mp_target->outerIndexPtr()[j] = count;
279
- positions[j] = count;
280
- count += tmp;
281
- }
282
- mp_target->makeCompressed();
283
- mp_target->outerIndexPtr()[mp_target->outerSize()] = count;
284
- mp_target->resizeNonZeros(count);
285
- // pass 2
286
- for (Index k=0; k<m_outerPackets; ++k)
287
- {
288
- const Index outerOffset = (1<<OuterPacketBits) * k;
289
- typename HashMapType::iterator end = m_hashmaps[k].end();
290
- for (typename HashMapType::iterator it = m_hashmaps[k].begin(); it!=end; ++it)
291
- {
292
- const Index inner = (it->first >> m_keyBitsOffset) + outerOffset;
293
- const Index outer = it->first & keyBitsMask;
294
- // sorted insertion
295
- // Note that we have to deal with at most 2^OuterPacketBits unsorted coefficients,
296
- // moreover those 2^OuterPacketBits coeffs are likely to be sparse, an so only a
297
- // small fraction of them have to be sorted, whence the following simple procedure:
298
- Index posStart = mp_target->outerIndexPtr()[outer];
299
- Index i = (positions[outer]++) - 1;
300
- while ( (i >= posStart) && (mp_target->innerIndexPtr()[i] > inner) )
301
- {
302
- mp_target->valuePtr()[i+1] = mp_target->valuePtr()[i];
303
- mp_target->innerIndexPtr()[i+1] = mp_target->innerIndexPtr()[i];
304
- --i;
305
- }
306
- mp_target->innerIndexPtr()[i+1] = internal::convert_index<StorageIndex>(inner);
307
- mp_target->valuePtr()[i+1] = it->second.value;
308
- }
309
- }
310
- }
311
- delete[] m_hashmaps;
312
- }
313
-
314
- /** \returns a reference to the coefficient at given coordinates \a row, \a col */
315
- Scalar& operator() (Index row, Index col)
316
- {
317
- const Index outer = SetterRowMajor ? row : col;
318
- const Index inner = SetterRowMajor ? col : row;
319
- const Index outerMajor = outer >> OuterPacketBits; // index of the packet/map
320
- const Index outerMinor = outer & OuterPacketMask; // index of the inner vector in the packet
321
- const KeyType key = internal::convert_index<KeyType>((outerMinor<<m_keyBitsOffset) | inner);
322
- return m_hashmaps[outerMajor][key].value;
323
- }
324
-
325
- /** \returns the number of non zero coefficients
326
- *
327
- * \note According to the underlying map/hash_map implementation,
328
- * this function might be quite expensive.
329
- */
330
- Index nonZeros() const
331
- {
332
- Index nz = 0;
333
- for (Index k=0; k<m_outerPackets; ++k)
334
- nz += static_cast<Index>(m_hashmaps[k].size());
335
- return nz;
336
- }
337
-
338
-
339
- protected:
340
-
341
- HashMapType* m_hashmaps;
342
- SparseMatrixType* mp_target;
343
- Index m_outerPackets;
344
- unsigned char m_keyBitsOffset;
345
- };
346
-
347
- } // end namespace Eigen
348
-
349
- #endif // EIGEN_RANDOMSETTER_H