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