pyvale 2026.1.1__cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.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.
Files changed (860) hide show
  1. include/eigen3/Eigen/Cholesky +45 -0
  2. include/eigen3/Eigen/CholmodSupport +48 -0
  3. include/eigen3/Eigen/Core +384 -0
  4. include/eigen3/Eigen/Dense +7 -0
  5. include/eigen3/Eigen/Eigen +2 -0
  6. include/eigen3/Eigen/Eigenvalues +60 -0
  7. include/eigen3/Eigen/Geometry +59 -0
  8. include/eigen3/Eigen/Householder +29 -0
  9. include/eigen3/Eigen/IterativeLinearSolvers +48 -0
  10. include/eigen3/Eigen/Jacobi +32 -0
  11. include/eigen3/Eigen/KLUSupport +41 -0
  12. include/eigen3/Eigen/LU +47 -0
  13. include/eigen3/Eigen/MetisSupport +35 -0
  14. include/eigen3/Eigen/OrderingMethods +70 -0
  15. include/eigen3/Eigen/PaStiXSupport +49 -0
  16. include/eigen3/Eigen/PardisoSupport +35 -0
  17. include/eigen3/Eigen/QR +50 -0
  18. include/eigen3/Eigen/QtAlignedMalloc +39 -0
  19. include/eigen3/Eigen/SPQRSupport +34 -0
  20. include/eigen3/Eigen/SVD +50 -0
  21. include/eigen3/Eigen/Sparse +34 -0
  22. include/eigen3/Eigen/SparseCholesky +37 -0
  23. include/eigen3/Eigen/SparseCore +69 -0
  24. include/eigen3/Eigen/SparseLU +50 -0
  25. include/eigen3/Eigen/SparseQR +36 -0
  26. include/eigen3/Eigen/StdDeque +27 -0
  27. include/eigen3/Eigen/StdList +26 -0
  28. include/eigen3/Eigen/StdVector +27 -0
  29. include/eigen3/Eigen/SuperLUSupport +64 -0
  30. include/eigen3/Eigen/UmfPackSupport +40 -0
  31. include/eigen3/Eigen/src/Cholesky/LDLT.h +688 -0
  32. include/eigen3/Eigen/src/Cholesky/LLT.h +558 -0
  33. include/eigen3/Eigen/src/Cholesky/LLT_LAPACKE.h +99 -0
  34. include/eigen3/Eigen/src/CholmodSupport/CholmodSupport.h +682 -0
  35. include/eigen3/Eigen/src/Core/ArithmeticSequence.h +413 -0
  36. include/eigen3/Eigen/src/Core/Array.h +417 -0
  37. include/eigen3/Eigen/src/Core/ArrayBase.h +226 -0
  38. include/eigen3/Eigen/src/Core/ArrayWrapper.h +209 -0
  39. include/eigen3/Eigen/src/Core/Assign.h +90 -0
  40. include/eigen3/Eigen/src/Core/AssignEvaluator.h +1010 -0
  41. include/eigen3/Eigen/src/Core/Assign_MKL.h +178 -0
  42. include/eigen3/Eigen/src/Core/BandMatrix.h +353 -0
  43. include/eigen3/Eigen/src/Core/Block.h +448 -0
  44. include/eigen3/Eigen/src/Core/BooleanRedux.h +162 -0
  45. include/eigen3/Eigen/src/Core/CommaInitializer.h +164 -0
  46. include/eigen3/Eigen/src/Core/ConditionEstimator.h +175 -0
  47. include/eigen3/Eigen/src/Core/CoreEvaluators.h +1741 -0
  48. include/eigen3/Eigen/src/Core/CoreIterators.h +132 -0
  49. include/eigen3/Eigen/src/Core/CwiseBinaryOp.h +183 -0
  50. include/eigen3/Eigen/src/Core/CwiseNullaryOp.h +1001 -0
  51. include/eigen3/Eigen/src/Core/CwiseTernaryOp.h +197 -0
  52. include/eigen3/Eigen/src/Core/CwiseUnaryOp.h +103 -0
  53. include/eigen3/Eigen/src/Core/CwiseUnaryView.h +132 -0
  54. include/eigen3/Eigen/src/Core/DenseBase.h +701 -0
  55. include/eigen3/Eigen/src/Core/DenseCoeffsBase.h +685 -0
  56. include/eigen3/Eigen/src/Core/DenseStorage.h +652 -0
  57. include/eigen3/Eigen/src/Core/Diagonal.h +258 -0
  58. include/eigen3/Eigen/src/Core/DiagonalMatrix.h +391 -0
  59. include/eigen3/Eigen/src/Core/DiagonalProduct.h +28 -0
  60. include/eigen3/Eigen/src/Core/Dot.h +318 -0
  61. include/eigen3/Eigen/src/Core/EigenBase.h +160 -0
  62. include/eigen3/Eigen/src/Core/ForceAlignedAccess.h +150 -0
  63. include/eigen3/Eigen/src/Core/Fuzzy.h +155 -0
  64. include/eigen3/Eigen/src/Core/GeneralProduct.h +465 -0
  65. include/eigen3/Eigen/src/Core/GenericPacketMath.h +1040 -0
  66. include/eigen3/Eigen/src/Core/GlobalFunctions.h +194 -0
  67. include/eigen3/Eigen/src/Core/IO.h +258 -0
  68. include/eigen3/Eigen/src/Core/IndexedView.h +237 -0
  69. include/eigen3/Eigen/src/Core/Inverse.h +117 -0
  70. include/eigen3/Eigen/src/Core/Map.h +171 -0
  71. include/eigen3/Eigen/src/Core/MapBase.h +310 -0
  72. include/eigen3/Eigen/src/Core/MathFunctions.h +2057 -0
  73. include/eigen3/Eigen/src/Core/MathFunctionsImpl.h +200 -0
  74. include/eigen3/Eigen/src/Core/Matrix.h +565 -0
  75. include/eigen3/Eigen/src/Core/MatrixBase.h +547 -0
  76. include/eigen3/Eigen/src/Core/NestByValue.h +85 -0
  77. include/eigen3/Eigen/src/Core/NoAlias.h +109 -0
  78. include/eigen3/Eigen/src/Core/NumTraits.h +335 -0
  79. include/eigen3/Eigen/src/Core/PartialReduxEvaluator.h +232 -0
  80. include/eigen3/Eigen/src/Core/PermutationMatrix.h +605 -0
  81. include/eigen3/Eigen/src/Core/PlainObjectBase.h +1128 -0
  82. include/eigen3/Eigen/src/Core/Product.h +191 -0
  83. include/eigen3/Eigen/src/Core/ProductEvaluators.h +1179 -0
  84. include/eigen3/Eigen/src/Core/Random.h +218 -0
  85. include/eigen3/Eigen/src/Core/Redux.h +515 -0
  86. include/eigen3/Eigen/src/Core/Ref.h +381 -0
  87. include/eigen3/Eigen/src/Core/Replicate.h +142 -0
  88. include/eigen3/Eigen/src/Core/Reshaped.h +454 -0
  89. include/eigen3/Eigen/src/Core/ReturnByValue.h +119 -0
  90. include/eigen3/Eigen/src/Core/Reverse.h +217 -0
  91. include/eigen3/Eigen/src/Core/Select.h +164 -0
  92. include/eigen3/Eigen/src/Core/SelfAdjointView.h +365 -0
  93. include/eigen3/Eigen/src/Core/SelfCwiseBinaryOp.h +47 -0
  94. include/eigen3/Eigen/src/Core/Solve.h +188 -0
  95. include/eigen3/Eigen/src/Core/SolveTriangular.h +235 -0
  96. include/eigen3/Eigen/src/Core/SolverBase.h +168 -0
  97. include/eigen3/Eigen/src/Core/StableNorm.h +251 -0
  98. include/eigen3/Eigen/src/Core/StlIterators.h +463 -0
  99. include/eigen3/Eigen/src/Core/Stride.h +116 -0
  100. include/eigen3/Eigen/src/Core/Swap.h +68 -0
  101. include/eigen3/Eigen/src/Core/Transpose.h +464 -0
  102. include/eigen3/Eigen/src/Core/Transpositions.h +386 -0
  103. include/eigen3/Eigen/src/Core/TriangularMatrix.h +1001 -0
  104. include/eigen3/Eigen/src/Core/VectorBlock.h +96 -0
  105. include/eigen3/Eigen/src/Core/VectorwiseOp.h +784 -0
  106. include/eigen3/Eigen/src/Core/Visitor.h +381 -0
  107. include/eigen3/Eigen/src/Core/arch/AVX/Complex.h +372 -0
  108. include/eigen3/Eigen/src/Core/arch/AVX/MathFunctions.h +228 -0
  109. include/eigen3/Eigen/src/Core/arch/AVX/PacketMath.h +1574 -0
  110. include/eigen3/Eigen/src/Core/arch/AVX/TypeCasting.h +115 -0
  111. include/eigen3/Eigen/src/Core/arch/AVX512/Complex.h +422 -0
  112. include/eigen3/Eigen/src/Core/arch/AVX512/MathFunctions.h +362 -0
  113. include/eigen3/Eigen/src/Core/arch/AVX512/PacketMath.h +2303 -0
  114. include/eigen3/Eigen/src/Core/arch/AVX512/TypeCasting.h +89 -0
  115. include/eigen3/Eigen/src/Core/arch/AltiVec/Complex.h +417 -0
  116. include/eigen3/Eigen/src/Core/arch/AltiVec/MathFunctions.h +90 -0
  117. include/eigen3/Eigen/src/Core/arch/AltiVec/MatrixProduct.h +2937 -0
  118. include/eigen3/Eigen/src/Core/arch/AltiVec/MatrixProductCommon.h +221 -0
  119. include/eigen3/Eigen/src/Core/arch/AltiVec/MatrixProductMMA.h +629 -0
  120. include/eigen3/Eigen/src/Core/arch/AltiVec/PacketMath.h +2711 -0
  121. include/eigen3/Eigen/src/Core/arch/CUDA/Complex.h +258 -0
  122. include/eigen3/Eigen/src/Core/arch/Default/BFloat16.h +700 -0
  123. include/eigen3/Eigen/src/Core/arch/Default/ConjHelper.h +117 -0
  124. include/eigen3/Eigen/src/Core/arch/Default/GenericPacketMathFunctions.h +1649 -0
  125. include/eigen3/Eigen/src/Core/arch/Default/GenericPacketMathFunctionsFwd.h +110 -0
  126. include/eigen3/Eigen/src/Core/arch/Default/Half.h +942 -0
  127. include/eigen3/Eigen/src/Core/arch/Default/Settings.h +49 -0
  128. include/eigen3/Eigen/src/Core/arch/Default/TypeCasting.h +120 -0
  129. include/eigen3/Eigen/src/Core/arch/GPU/MathFunctions.h +103 -0
  130. include/eigen3/Eigen/src/Core/arch/GPU/PacketMath.h +1685 -0
  131. include/eigen3/Eigen/src/Core/arch/GPU/TypeCasting.h +80 -0
  132. include/eigen3/Eigen/src/Core/arch/HIP/hcc/math_constants.h +23 -0
  133. include/eigen3/Eigen/src/Core/arch/MSA/Complex.h +648 -0
  134. include/eigen3/Eigen/src/Core/arch/MSA/MathFunctions.h +387 -0
  135. include/eigen3/Eigen/src/Core/arch/MSA/PacketMath.h +1233 -0
  136. include/eigen3/Eigen/src/Core/arch/NEON/Complex.h +584 -0
  137. include/eigen3/Eigen/src/Core/arch/NEON/GeneralBlockPanelKernel.h +183 -0
  138. include/eigen3/Eigen/src/Core/arch/NEON/MathFunctions.h +75 -0
  139. include/eigen3/Eigen/src/Core/arch/NEON/PacketMath.h +4587 -0
  140. include/eigen3/Eigen/src/Core/arch/NEON/TypeCasting.h +1419 -0
  141. include/eigen3/Eigen/src/Core/arch/SSE/Complex.h +351 -0
  142. include/eigen3/Eigen/src/Core/arch/SSE/MathFunctions.h +199 -0
  143. include/eigen3/Eigen/src/Core/arch/SSE/PacketMath.h +1505 -0
  144. include/eigen3/Eigen/src/Core/arch/SSE/TypeCasting.h +142 -0
  145. include/eigen3/Eigen/src/Core/arch/SVE/MathFunctions.h +44 -0
  146. include/eigen3/Eigen/src/Core/arch/SVE/PacketMath.h +752 -0
  147. include/eigen3/Eigen/src/Core/arch/SVE/TypeCasting.h +49 -0
  148. include/eigen3/Eigen/src/Core/arch/SYCL/InteropHeaders.h +232 -0
  149. include/eigen3/Eigen/src/Core/arch/SYCL/MathFunctions.h +301 -0
  150. include/eigen3/Eigen/src/Core/arch/SYCL/PacketMath.h +670 -0
  151. include/eigen3/Eigen/src/Core/arch/SYCL/SyclMemoryModel.h +694 -0
  152. include/eigen3/Eigen/src/Core/arch/SYCL/TypeCasting.h +85 -0
  153. include/eigen3/Eigen/src/Core/arch/ZVector/Complex.h +426 -0
  154. include/eigen3/Eigen/src/Core/arch/ZVector/MathFunctions.h +233 -0
  155. include/eigen3/Eigen/src/Core/arch/ZVector/PacketMath.h +1060 -0
  156. include/eigen3/Eigen/src/Core/functors/AssignmentFunctors.h +177 -0
  157. include/eigen3/Eigen/src/Core/functors/BinaryFunctors.h +541 -0
  158. include/eigen3/Eigen/src/Core/functors/NullaryFunctors.h +189 -0
  159. include/eigen3/Eigen/src/Core/functors/StlFunctors.h +166 -0
  160. include/eigen3/Eigen/src/Core/functors/TernaryFunctors.h +25 -0
  161. include/eigen3/Eigen/src/Core/functors/UnaryFunctors.h +1131 -0
  162. include/eigen3/Eigen/src/Core/products/GeneralBlockPanelKernel.h +2645 -0
  163. include/eigen3/Eigen/src/Core/products/GeneralMatrixMatrix.h +517 -0
  164. include/eigen3/Eigen/src/Core/products/GeneralMatrixMatrixTriangular.h +317 -0
  165. include/eigen3/Eigen/src/Core/products/GeneralMatrixMatrixTriangular_BLAS.h +145 -0
  166. include/eigen3/Eigen/src/Core/products/GeneralMatrixMatrix_BLAS.h +124 -0
  167. include/eigen3/Eigen/src/Core/products/GeneralMatrixVector.h +518 -0
  168. include/eigen3/Eigen/src/Core/products/GeneralMatrixVector_BLAS.h +136 -0
  169. include/eigen3/Eigen/src/Core/products/Parallelizer.h +180 -0
  170. include/eigen3/Eigen/src/Core/products/SelfadjointMatrixMatrix.h +544 -0
  171. include/eigen3/Eigen/src/Core/products/SelfadjointMatrixMatrix_BLAS.h +295 -0
  172. include/eigen3/Eigen/src/Core/products/SelfadjointMatrixVector.h +262 -0
  173. include/eigen3/Eigen/src/Core/products/SelfadjointMatrixVector_BLAS.h +118 -0
  174. include/eigen3/Eigen/src/Core/products/SelfadjointProduct.h +133 -0
  175. include/eigen3/Eigen/src/Core/products/SelfadjointRank2Update.h +94 -0
  176. include/eigen3/Eigen/src/Core/products/TriangularMatrixMatrix.h +472 -0
  177. include/eigen3/Eigen/src/Core/products/TriangularMatrixMatrix_BLAS.h +317 -0
  178. include/eigen3/Eigen/src/Core/products/TriangularMatrixVector.h +350 -0
  179. include/eigen3/Eigen/src/Core/products/TriangularMatrixVector_BLAS.h +255 -0
  180. include/eigen3/Eigen/src/Core/products/TriangularSolverMatrix.h +337 -0
  181. include/eigen3/Eigen/src/Core/products/TriangularSolverMatrix_BLAS.h +167 -0
  182. include/eigen3/Eigen/src/Core/products/TriangularSolverVector.h +148 -0
  183. include/eigen3/Eigen/src/Core/util/BlasUtil.h +583 -0
  184. include/eigen3/Eigen/src/Core/util/ConfigureVectorization.h +512 -0
  185. include/eigen3/Eigen/src/Core/util/Constants.h +563 -0
  186. include/eigen3/Eigen/src/Core/util/DisableStupidWarnings.h +106 -0
  187. include/eigen3/Eigen/src/Core/util/ForwardDeclarations.h +322 -0
  188. include/eigen3/Eigen/src/Core/util/IndexedViewHelper.h +186 -0
  189. include/eigen3/Eigen/src/Core/util/IntegralConstant.h +272 -0
  190. include/eigen3/Eigen/src/Core/util/MKL_support.h +137 -0
  191. include/eigen3/Eigen/src/Core/util/Macros.h +1464 -0
  192. include/eigen3/Eigen/src/Core/util/Memory.h +1163 -0
  193. include/eigen3/Eigen/src/Core/util/Meta.h +812 -0
  194. include/eigen3/Eigen/src/Core/util/NonMPL2.h +3 -0
  195. include/eigen3/Eigen/src/Core/util/ReenableStupidWarnings.h +31 -0
  196. include/eigen3/Eigen/src/Core/util/ReshapedHelper.h +51 -0
  197. include/eigen3/Eigen/src/Core/util/StaticAssert.h +221 -0
  198. include/eigen3/Eigen/src/Core/util/SymbolicIndex.h +293 -0
  199. include/eigen3/Eigen/src/Core/util/XprHelper.h +856 -0
  200. include/eigen3/Eigen/src/Eigenvalues/ComplexEigenSolver.h +346 -0
  201. include/eigen3/Eigen/src/Eigenvalues/ComplexSchur.h +462 -0
  202. include/eigen3/Eigen/src/Eigenvalues/ComplexSchur_LAPACKE.h +91 -0
  203. include/eigen3/Eigen/src/Eigenvalues/EigenSolver.h +622 -0
  204. include/eigen3/Eigen/src/Eigenvalues/GeneralizedEigenSolver.h +418 -0
  205. include/eigen3/Eigen/src/Eigenvalues/GeneralizedSelfAdjointEigenSolver.h +226 -0
  206. include/eigen3/Eigen/src/Eigenvalues/HessenbergDecomposition.h +374 -0
  207. include/eigen3/Eigen/src/Eigenvalues/MatrixBaseEigenvalues.h +158 -0
  208. include/eigen3/Eigen/src/Eigenvalues/RealQZ.h +657 -0
  209. include/eigen3/Eigen/src/Eigenvalues/RealSchur.h +558 -0
  210. include/eigen3/Eigen/src/Eigenvalues/RealSchur_LAPACKE.h +77 -0
  211. include/eigen3/Eigen/src/Eigenvalues/SelfAdjointEigenSolver.h +904 -0
  212. include/eigen3/Eigen/src/Eigenvalues/SelfAdjointEigenSolver_LAPACKE.h +87 -0
  213. include/eigen3/Eigen/src/Eigenvalues/Tridiagonalization.h +561 -0
  214. include/eigen3/Eigen/src/Geometry/AlignedBox.h +486 -0
  215. include/eigen3/Eigen/src/Geometry/AngleAxis.h +247 -0
  216. include/eigen3/Eigen/src/Geometry/EulerAngles.h +114 -0
  217. include/eigen3/Eigen/src/Geometry/Homogeneous.h +501 -0
  218. include/eigen3/Eigen/src/Geometry/Hyperplane.h +282 -0
  219. include/eigen3/Eigen/src/Geometry/OrthoMethods.h +235 -0
  220. include/eigen3/Eigen/src/Geometry/ParametrizedLine.h +232 -0
  221. include/eigen3/Eigen/src/Geometry/Quaternion.h +870 -0
  222. include/eigen3/Eigen/src/Geometry/Rotation2D.h +199 -0
  223. include/eigen3/Eigen/src/Geometry/RotationBase.h +206 -0
  224. include/eigen3/Eigen/src/Geometry/Scaling.h +188 -0
  225. include/eigen3/Eigen/src/Geometry/Transform.h +1563 -0
  226. include/eigen3/Eigen/src/Geometry/Translation.h +202 -0
  227. include/eigen3/Eigen/src/Geometry/Umeyama.h +166 -0
  228. include/eigen3/Eigen/src/Geometry/arch/Geometry_SIMD.h +168 -0
  229. include/eigen3/Eigen/src/Householder/BlockHouseholder.h +110 -0
  230. include/eigen3/Eigen/src/Householder/Householder.h +176 -0
  231. include/eigen3/Eigen/src/Householder/HouseholderSequence.h +545 -0
  232. include/eigen3/Eigen/src/IterativeLinearSolvers/BasicPreconditioners.h +226 -0
  233. include/eigen3/Eigen/src/IterativeLinearSolvers/BiCGSTAB.h +212 -0
  234. include/eigen3/Eigen/src/IterativeLinearSolvers/ConjugateGradient.h +229 -0
  235. include/eigen3/Eigen/src/IterativeLinearSolvers/IncompleteCholesky.h +394 -0
  236. include/eigen3/Eigen/src/IterativeLinearSolvers/IncompleteLUT.h +453 -0
  237. include/eigen3/Eigen/src/IterativeLinearSolvers/IterativeSolverBase.h +444 -0
  238. include/eigen3/Eigen/src/IterativeLinearSolvers/LeastSquareConjugateGradient.h +198 -0
  239. include/eigen3/Eigen/src/IterativeLinearSolvers/SolveWithGuess.h +117 -0
  240. include/eigen3/Eigen/src/Jacobi/Jacobi.h +483 -0
  241. include/eigen3/Eigen/src/KLUSupport/KLUSupport.h +358 -0
  242. include/eigen3/Eigen/src/LU/Determinant.h +117 -0
  243. include/eigen3/Eigen/src/LU/FullPivLU.h +877 -0
  244. include/eigen3/Eigen/src/LU/InverseImpl.h +432 -0
  245. include/eigen3/Eigen/src/LU/PartialPivLU.h +624 -0
  246. include/eigen3/Eigen/src/LU/PartialPivLU_LAPACKE.h +83 -0
  247. include/eigen3/Eigen/src/LU/arch/InverseSize4.h +351 -0
  248. include/eigen3/Eigen/src/MetisSupport/MetisSupport.h +137 -0
  249. include/eigen3/Eigen/src/OrderingMethods/Amd.h +435 -0
  250. include/eigen3/Eigen/src/OrderingMethods/Eigen_Colamd.h +1863 -0
  251. include/eigen3/Eigen/src/OrderingMethods/Ordering.h +153 -0
  252. include/eigen3/Eigen/src/PaStiXSupport/PaStiXSupport.h +678 -0
  253. include/eigen3/Eigen/src/PardisoSupport/PardisoSupport.h +545 -0
  254. include/eigen3/Eigen/src/QR/ColPivHouseholderQR.h +674 -0
  255. include/eigen3/Eigen/src/QR/ColPivHouseholderQR_LAPACKE.h +97 -0
  256. include/eigen3/Eigen/src/QR/CompleteOrthogonalDecomposition.h +635 -0
  257. include/eigen3/Eigen/src/QR/FullPivHouseholderQR.h +713 -0
  258. include/eigen3/Eigen/src/QR/HouseholderQR.h +434 -0
  259. include/eigen3/Eigen/src/QR/HouseholderQR_LAPACKE.h +68 -0
  260. include/eigen3/Eigen/src/SPQRSupport/SuiteSparseQRSupport.h +335 -0
  261. include/eigen3/Eigen/src/SVD/BDCSVD.h +1366 -0
  262. include/eigen3/Eigen/src/SVD/JacobiSVD.h +812 -0
  263. include/eigen3/Eigen/src/SVD/JacobiSVD_LAPACKE.h +91 -0
  264. include/eigen3/Eigen/src/SVD/SVDBase.h +376 -0
  265. include/eigen3/Eigen/src/SVD/UpperBidiagonalization.h +414 -0
  266. include/eigen3/Eigen/src/SparseCholesky/SimplicialCholesky.h +697 -0
  267. include/eigen3/Eigen/src/SparseCholesky/SimplicialCholesky_impl.h +174 -0
  268. include/eigen3/Eigen/src/SparseCore/AmbiVector.h +378 -0
  269. include/eigen3/Eigen/src/SparseCore/CompressedStorage.h +274 -0
  270. include/eigen3/Eigen/src/SparseCore/ConservativeSparseSparseProduct.h +352 -0
  271. include/eigen3/Eigen/src/SparseCore/MappedSparseMatrix.h +67 -0
  272. include/eigen3/Eigen/src/SparseCore/SparseAssign.h +270 -0
  273. include/eigen3/Eigen/src/SparseCore/SparseBlock.h +571 -0
  274. include/eigen3/Eigen/src/SparseCore/SparseColEtree.h +206 -0
  275. include/eigen3/Eigen/src/SparseCore/SparseCompressedBase.h +370 -0
  276. include/eigen3/Eigen/src/SparseCore/SparseCwiseBinaryOp.h +722 -0
  277. include/eigen3/Eigen/src/SparseCore/SparseCwiseUnaryOp.h +150 -0
  278. include/eigen3/Eigen/src/SparseCore/SparseDenseProduct.h +342 -0
  279. include/eigen3/Eigen/src/SparseCore/SparseDiagonalProduct.h +138 -0
  280. include/eigen3/Eigen/src/SparseCore/SparseDot.h +98 -0
  281. include/eigen3/Eigen/src/SparseCore/SparseFuzzy.h +29 -0
  282. include/eigen3/Eigen/src/SparseCore/SparseMap.h +305 -0
  283. include/eigen3/Eigen/src/SparseCore/SparseMatrix.h +1518 -0
  284. include/eigen3/Eigen/src/SparseCore/SparseMatrixBase.h +398 -0
  285. include/eigen3/Eigen/src/SparseCore/SparsePermutation.h +178 -0
  286. include/eigen3/Eigen/src/SparseCore/SparseProduct.h +181 -0
  287. include/eigen3/Eigen/src/SparseCore/SparseRedux.h +49 -0
  288. include/eigen3/Eigen/src/SparseCore/SparseRef.h +397 -0
  289. include/eigen3/Eigen/src/SparseCore/SparseSelfAdjointView.h +659 -0
  290. include/eigen3/Eigen/src/SparseCore/SparseSolverBase.h +124 -0
  291. include/eigen3/Eigen/src/SparseCore/SparseSparseProductWithPruning.h +198 -0
  292. include/eigen3/Eigen/src/SparseCore/SparseTranspose.h +92 -0
  293. include/eigen3/Eigen/src/SparseCore/SparseTriangularView.h +189 -0
  294. include/eigen3/Eigen/src/SparseCore/SparseUtil.h +186 -0
  295. include/eigen3/Eigen/src/SparseCore/SparseVector.h +478 -0
  296. include/eigen3/Eigen/src/SparseCore/SparseView.h +254 -0
  297. include/eigen3/Eigen/src/SparseCore/TriangularSolver.h +315 -0
  298. include/eigen3/Eigen/src/SparseLU/SparseLU.h +923 -0
  299. include/eigen3/Eigen/src/SparseLU/SparseLUImpl.h +66 -0
  300. include/eigen3/Eigen/src/SparseLU/SparseLU_Memory.h +226 -0
  301. include/eigen3/Eigen/src/SparseLU/SparseLU_Structs.h +110 -0
  302. include/eigen3/Eigen/src/SparseLU/SparseLU_SupernodalMatrix.h +375 -0
  303. include/eigen3/Eigen/src/SparseLU/SparseLU_Utils.h +80 -0
  304. include/eigen3/Eigen/src/SparseLU/SparseLU_column_bmod.h +181 -0
  305. include/eigen3/Eigen/src/SparseLU/SparseLU_column_dfs.h +179 -0
  306. include/eigen3/Eigen/src/SparseLU/SparseLU_copy_to_ucol.h +107 -0
  307. include/eigen3/Eigen/src/SparseLU/SparseLU_gemm_kernel.h +280 -0
  308. include/eigen3/Eigen/src/SparseLU/SparseLU_heap_relax_snode.h +126 -0
  309. include/eigen3/Eigen/src/SparseLU/SparseLU_kernel_bmod.h +130 -0
  310. include/eigen3/Eigen/src/SparseLU/SparseLU_panel_bmod.h +223 -0
  311. include/eigen3/Eigen/src/SparseLU/SparseLU_panel_dfs.h +258 -0
  312. include/eigen3/Eigen/src/SparseLU/SparseLU_pivotL.h +137 -0
  313. include/eigen3/Eigen/src/SparseLU/SparseLU_pruneL.h +136 -0
  314. include/eigen3/Eigen/src/SparseLU/SparseLU_relax_snode.h +83 -0
  315. include/eigen3/Eigen/src/SparseQR/SparseQR.h +758 -0
  316. include/eigen3/Eigen/src/StlSupport/StdDeque.h +116 -0
  317. include/eigen3/Eigen/src/StlSupport/StdList.h +106 -0
  318. include/eigen3/Eigen/src/StlSupport/StdVector.h +131 -0
  319. include/eigen3/Eigen/src/StlSupport/details.h +84 -0
  320. include/eigen3/Eigen/src/SuperLUSupport/SuperLUSupport.h +1025 -0
  321. include/eigen3/Eigen/src/UmfPackSupport/UmfPackSupport.h +642 -0
  322. include/eigen3/Eigen/src/misc/Image.h +82 -0
  323. include/eigen3/Eigen/src/misc/Kernel.h +79 -0
  324. include/eigen3/Eigen/src/misc/RealSvd2x2.h +55 -0
  325. include/eigen3/Eigen/src/misc/blas.h +440 -0
  326. include/eigen3/Eigen/src/misc/lapack.h +152 -0
  327. include/eigen3/Eigen/src/misc/lapacke.h +16292 -0
  328. include/eigen3/Eigen/src/misc/lapacke_mangling.h +17 -0
  329. include/eigen3/Eigen/src/plugins/ArrayCwiseBinaryOps.h +358 -0
  330. include/eigen3/Eigen/src/plugins/ArrayCwiseUnaryOps.h +696 -0
  331. include/eigen3/Eigen/src/plugins/BlockMethods.h +1442 -0
  332. include/eigen3/Eigen/src/plugins/CommonCwiseBinaryOps.h +115 -0
  333. include/eigen3/Eigen/src/plugins/CommonCwiseUnaryOps.h +177 -0
  334. include/eigen3/Eigen/src/plugins/IndexedViewMethods.h +262 -0
  335. include/eigen3/Eigen/src/plugins/MatrixCwiseBinaryOps.h +152 -0
  336. include/eigen3/Eigen/src/plugins/MatrixCwiseUnaryOps.h +95 -0
  337. include/eigen3/Eigen/src/plugins/ReshapedMethods.h +149 -0
  338. include/eigen3/signature_of_eigen3_matrix_library +1 -0
  339. include/eigen3/unsupported/Eigen/AdolcForward +159 -0
  340. include/eigen3/unsupported/Eigen/AlignedVector3 +234 -0
  341. include/eigen3/unsupported/Eigen/ArpackSupport +30 -0
  342. include/eigen3/unsupported/Eigen/AutoDiff +46 -0
  343. include/eigen3/unsupported/Eigen/BVH +95 -0
  344. include/eigen3/unsupported/Eigen/CXX11/Tensor +137 -0
  345. include/eigen3/unsupported/Eigen/CXX11/TensorSymmetry +42 -0
  346. include/eigen3/unsupported/Eigen/CXX11/ThreadPool +74 -0
  347. include/eigen3/unsupported/Eigen/CXX11/src/Tensor/Tensor.h +554 -0
  348. include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorArgMax.h +329 -0
  349. include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorAssign.h +247 -0
  350. include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorBase.h +1176 -0
  351. include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorBlock.h +1559 -0
  352. include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorBroadcasting.h +1093 -0
  353. include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorChipping.h +518 -0
  354. include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorConcatenation.h +377 -0
  355. include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorContraction.h +1023 -0
  356. include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorContractionBlocking.h +73 -0
  357. include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorContractionCuda.h +6 -0
  358. include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorContractionGpu.h +1413 -0
  359. include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorContractionMapper.h +575 -0
  360. include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorContractionSycl.h +1650 -0
  361. include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorContractionThreadPool.h +1679 -0
  362. include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorConversion.h +456 -0
  363. include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorConvolution.h +1132 -0
  364. include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorConvolutionSycl.h +544 -0
  365. include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorCostModel.h +214 -0
  366. include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorCustomOp.h +347 -0
  367. include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorDevice.h +137 -0
  368. include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorDeviceCuda.h +6 -0
  369. include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorDeviceDefault.h +104 -0
  370. include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorDeviceGpu.h +389 -0
  371. include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorDeviceSycl.h +1048 -0
  372. include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorDeviceThreadPool.h +409 -0
  373. include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorDimensionList.h +236 -0
  374. include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorDimensions.h +490 -0
  375. include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorEvalTo.h +236 -0
  376. include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorEvaluator.h +983 -0
  377. include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorExecutor.h +703 -0
  378. include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorExpr.h +388 -0
  379. include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorFFT.h +669 -0
  380. include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorFixedSize.h +379 -0
  381. include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorForcedEval.h +237 -0
  382. include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorForwardDeclarations.h +191 -0
  383. include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorFunctors.h +488 -0
  384. include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorGenerator.h +302 -0
  385. include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorGlobalFunctions.h +33 -0
  386. include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorGpuHipCudaDefines.h +99 -0
  387. include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorGpuHipCudaUndefines.h +44 -0
  388. include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorIO.h +79 -0
  389. include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorImagePatch.h +603 -0
  390. include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorIndexList.h +738 -0
  391. include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorInflation.h +247 -0
  392. include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorInitializer.h +82 -0
  393. include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorIntDiv.h +263 -0
  394. include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorLayoutSwap.h +216 -0
  395. include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorMacros.h +98 -0
  396. include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorMap.h +327 -0
  397. include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorMeta.h +311 -0
  398. include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorMorphing.h +1102 -0
  399. include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorPadding.h +708 -0
  400. include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorPatch.h +291 -0
  401. include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorRandom.h +322 -0
  402. include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorReduction.h +998 -0
  403. include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorReductionCuda.h +6 -0
  404. include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorReductionGpu.h +966 -0
  405. include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorReductionSycl.h +582 -0
  406. include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorRef.h +454 -0
  407. include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorReverse.h +465 -0
  408. include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorScan.h +528 -0
  409. include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorScanSycl.h +513 -0
  410. include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorShuffling.h +471 -0
  411. include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorStorage.h +161 -0
  412. include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorStriding.h +346 -0
  413. include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorTrace.h +303 -0
  414. include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorTraits.h +264 -0
  415. include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorUInt128.h +249 -0
  416. include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorVolumePatch.h +629 -0
  417. include/eigen3/unsupported/Eigen/CXX11/src/TensorSymmetry/DynamicSymmetry.h +293 -0
  418. include/eigen3/unsupported/Eigen/CXX11/src/TensorSymmetry/StaticSymmetry.h +236 -0
  419. include/eigen3/unsupported/Eigen/CXX11/src/TensorSymmetry/Symmetry.h +338 -0
  420. include/eigen3/unsupported/Eigen/CXX11/src/TensorSymmetry/util/TemplateGroupTheory.h +669 -0
  421. include/eigen3/unsupported/Eigen/CXX11/src/ThreadPool/Barrier.h +67 -0
  422. include/eigen3/unsupported/Eigen/CXX11/src/ThreadPool/EventCount.h +249 -0
  423. include/eigen3/unsupported/Eigen/CXX11/src/ThreadPool/NonBlockingThreadPool.h +486 -0
  424. include/eigen3/unsupported/Eigen/CXX11/src/ThreadPool/RunQueue.h +236 -0
  425. include/eigen3/unsupported/Eigen/CXX11/src/ThreadPool/ThreadCancel.h +23 -0
  426. include/eigen3/unsupported/Eigen/CXX11/src/ThreadPool/ThreadEnvironment.h +40 -0
  427. include/eigen3/unsupported/Eigen/CXX11/src/ThreadPool/ThreadLocal.h +301 -0
  428. include/eigen3/unsupported/Eigen/CXX11/src/ThreadPool/ThreadPoolInterface.h +48 -0
  429. include/eigen3/unsupported/Eigen/CXX11/src/ThreadPool/ThreadYield.h +20 -0
  430. include/eigen3/unsupported/Eigen/CXX11/src/util/CXX11Meta.h +537 -0
  431. include/eigen3/unsupported/Eigen/CXX11/src/util/CXX11Workarounds.h +88 -0
  432. include/eigen3/unsupported/Eigen/CXX11/src/util/EmulateArray.h +261 -0
  433. include/eigen3/unsupported/Eigen/CXX11/src/util/MaxSizeVector.h +158 -0
  434. include/eigen3/unsupported/Eigen/EulerAngles +43 -0
  435. include/eigen3/unsupported/Eigen/FFT +419 -0
  436. include/eigen3/unsupported/Eigen/IterativeSolvers +51 -0
  437. include/eigen3/unsupported/Eigen/KroneckerProduct +36 -0
  438. include/eigen3/unsupported/Eigen/LevenbergMarquardt +49 -0
  439. include/eigen3/unsupported/Eigen/MPRealSupport +213 -0
  440. include/eigen3/unsupported/Eigen/MatrixFunctions +504 -0
  441. include/eigen3/unsupported/Eigen/MoreVectorization +24 -0
  442. include/eigen3/unsupported/Eigen/NonLinearOptimization +140 -0
  443. include/eigen3/unsupported/Eigen/NumericalDiff +56 -0
  444. include/eigen3/unsupported/Eigen/OpenGLSupport +322 -0
  445. include/eigen3/unsupported/Eigen/Polynomials +137 -0
  446. include/eigen3/unsupported/Eigen/Skyline +39 -0
  447. include/eigen3/unsupported/Eigen/SparseExtra +54 -0
  448. include/eigen3/unsupported/Eigen/SpecialFunctions +103 -0
  449. include/eigen3/unsupported/Eigen/Splines +35 -0
  450. include/eigen3/unsupported/Eigen/src/AutoDiff/AutoDiffJacobian.h +108 -0
  451. include/eigen3/unsupported/Eigen/src/AutoDiff/AutoDiffScalar.h +730 -0
  452. include/eigen3/unsupported/Eigen/src/AutoDiff/AutoDiffVector.h +220 -0
  453. include/eigen3/unsupported/Eigen/src/BVH/BVAlgorithms.h +293 -0
  454. include/eigen3/unsupported/Eigen/src/BVH/KdBVH.h +223 -0
  455. include/eigen3/unsupported/Eigen/src/Eigenvalues/ArpackSelfAdjointEigenSolver.h +790 -0
  456. include/eigen3/unsupported/Eigen/src/EulerAngles/EulerAngles.h +355 -0
  457. include/eigen3/unsupported/Eigen/src/EulerAngles/EulerSystem.h +305 -0
  458. include/eigen3/unsupported/Eigen/src/FFT/ei_fftw_impl.h +261 -0
  459. include/eigen3/unsupported/Eigen/src/FFT/ei_kissfft_impl.h +449 -0
  460. include/eigen3/unsupported/Eigen/src/IterativeSolvers/ConstrainedConjGrad.h +187 -0
  461. include/eigen3/unsupported/Eigen/src/IterativeSolvers/DGMRES.h +511 -0
  462. include/eigen3/unsupported/Eigen/src/IterativeSolvers/GMRES.h +335 -0
  463. include/eigen3/unsupported/Eigen/src/IterativeSolvers/IDRS.h +436 -0
  464. include/eigen3/unsupported/Eigen/src/IterativeSolvers/IncompleteLU.h +90 -0
  465. include/eigen3/unsupported/Eigen/src/IterativeSolvers/IterationController.h +154 -0
  466. include/eigen3/unsupported/Eigen/src/IterativeSolvers/MINRES.h +267 -0
  467. include/eigen3/unsupported/Eigen/src/IterativeSolvers/Scaling.h +193 -0
  468. include/eigen3/unsupported/Eigen/src/KroneckerProduct/KroneckerTensorProduct.h +305 -0
  469. include/eigen3/unsupported/Eigen/src/LevenbergMarquardt/LMcovar.h +84 -0
  470. include/eigen3/unsupported/Eigen/src/LevenbergMarquardt/LMonestep.h +202 -0
  471. include/eigen3/unsupported/Eigen/src/LevenbergMarquardt/LMpar.h +160 -0
  472. include/eigen3/unsupported/Eigen/src/LevenbergMarquardt/LMqrsolv.h +188 -0
  473. include/eigen3/unsupported/Eigen/src/LevenbergMarquardt/LevenbergMarquardt.h +396 -0
  474. include/eigen3/unsupported/Eigen/src/MatrixFunctions/MatrixExponential.h +441 -0
  475. include/eigen3/unsupported/Eigen/src/MatrixFunctions/MatrixFunction.h +569 -0
  476. include/eigen3/unsupported/Eigen/src/MatrixFunctions/MatrixLogarithm.h +373 -0
  477. include/eigen3/unsupported/Eigen/src/MatrixFunctions/MatrixPower.h +705 -0
  478. include/eigen3/unsupported/Eigen/src/MatrixFunctions/MatrixSquareRoot.h +368 -0
  479. include/eigen3/unsupported/Eigen/src/MatrixFunctions/StemFunction.h +117 -0
  480. include/eigen3/unsupported/Eigen/src/MoreVectorization/MathFunctions.h +95 -0
  481. include/eigen3/unsupported/Eigen/src/NonLinearOptimization/HybridNonLinearSolver.h +601 -0
  482. include/eigen3/unsupported/Eigen/src/NonLinearOptimization/LevenbergMarquardt.h +657 -0
  483. include/eigen3/unsupported/Eigen/src/NonLinearOptimization/chkder.h +66 -0
  484. include/eigen3/unsupported/Eigen/src/NonLinearOptimization/covar.h +70 -0
  485. include/eigen3/unsupported/Eigen/src/NonLinearOptimization/dogleg.h +107 -0
  486. include/eigen3/unsupported/Eigen/src/NonLinearOptimization/fdjac1.h +79 -0
  487. include/eigen3/unsupported/Eigen/src/NonLinearOptimization/lmpar.h +298 -0
  488. include/eigen3/unsupported/Eigen/src/NonLinearOptimization/qrsolv.h +91 -0
  489. include/eigen3/unsupported/Eigen/src/NonLinearOptimization/r1mpyq.h +30 -0
  490. include/eigen3/unsupported/Eigen/src/NonLinearOptimization/r1updt.h +99 -0
  491. include/eigen3/unsupported/Eigen/src/NonLinearOptimization/rwupdt.h +49 -0
  492. include/eigen3/unsupported/Eigen/src/NumericalDiff/NumericalDiff.h +130 -0
  493. include/eigen3/unsupported/Eigen/src/Polynomials/Companion.h +280 -0
  494. include/eigen3/unsupported/Eigen/src/Polynomials/PolynomialSolver.h +428 -0
  495. include/eigen3/unsupported/Eigen/src/Polynomials/PolynomialUtils.h +143 -0
  496. include/eigen3/unsupported/Eigen/src/Skyline/SkylineInplaceLU.h +352 -0
  497. include/eigen3/unsupported/Eigen/src/Skyline/SkylineMatrix.h +862 -0
  498. include/eigen3/unsupported/Eigen/src/Skyline/SkylineMatrixBase.h +212 -0
  499. include/eigen3/unsupported/Eigen/src/Skyline/SkylineProduct.h +295 -0
  500. include/eigen3/unsupported/Eigen/src/Skyline/SkylineStorage.h +259 -0
  501. include/eigen3/unsupported/Eigen/src/Skyline/SkylineUtil.h +89 -0
  502. include/eigen3/unsupported/Eigen/src/SparseExtra/BlockOfDynamicSparseMatrix.h +122 -0
  503. include/eigen3/unsupported/Eigen/src/SparseExtra/BlockSparseMatrix.h +1079 -0
  504. include/eigen3/unsupported/Eigen/src/SparseExtra/DynamicSparseMatrix.h +404 -0
  505. include/eigen3/unsupported/Eigen/src/SparseExtra/MarketIO.h +282 -0
  506. include/eigen3/unsupported/Eigen/src/SparseExtra/MatrixMarketIterator.h +247 -0
  507. include/eigen3/unsupported/Eigen/src/SparseExtra/RandomSetter.h +349 -0
  508. include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsArrayAPI.h +286 -0
  509. include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsBFloat16.h +68 -0
  510. include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsFunctors.h +357 -0
  511. include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsHalf.h +66 -0
  512. include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h +1959 -0
  513. include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsPacketMath.h +118 -0
  514. include/eigen3/unsupported/Eigen/src/SpecialFunctions/HipVectorCompatibility.h +67 -0
  515. include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsArrayAPI.h +167 -0
  516. include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsBFloat16.h +58 -0
  517. include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsFunctors.h +330 -0
  518. include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsHalf.h +58 -0
  519. include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h +2045 -0
  520. include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsPacketMath.h +79 -0
  521. include/eigen3/unsupported/Eigen/src/SpecialFunctions/arch/AVX/BesselFunctions.h +46 -0
  522. include/eigen3/unsupported/Eigen/src/SpecialFunctions/arch/AVX/SpecialFunctions.h +16 -0
  523. include/eigen3/unsupported/Eigen/src/SpecialFunctions/arch/AVX512/BesselFunctions.h +46 -0
  524. include/eigen3/unsupported/Eigen/src/SpecialFunctions/arch/AVX512/SpecialFunctions.h +16 -0
  525. include/eigen3/unsupported/Eigen/src/SpecialFunctions/arch/GPU/SpecialFunctions.h +369 -0
  526. include/eigen3/unsupported/Eigen/src/SpecialFunctions/arch/NEON/BesselFunctions.h +54 -0
  527. include/eigen3/unsupported/Eigen/src/SpecialFunctions/arch/NEON/SpecialFunctions.h +34 -0
  528. include/eigen3/unsupported/Eigen/src/Splines/Spline.h +507 -0
  529. include/eigen3/unsupported/Eigen/src/Splines/SplineFitting.h +431 -0
  530. include/eigen3/unsupported/Eigen/src/Splines/SplineFwd.h +93 -0
  531. pyvale/__init__.py +23 -0
  532. pyvale/blender/__init__.py +23 -0
  533. pyvale/blender/blendercalibrationdata.py +17 -0
  534. pyvale/blender/blenderexceptions.py +8 -0
  535. pyvale/blender/blenderlightdata.py +26 -0
  536. pyvale/blender/blendermaterialdata.py +15 -0
  537. pyvale/blender/blenderrenderdata.py +35 -0
  538. pyvale/blender/blenderscene.py +493 -0
  539. pyvale/blender/blendertools.py +449 -0
  540. pyvale/calib/__init__.py +11 -0
  541. pyvale/calib/calibcpp.cpython-311-i386-linux-gnu.so +0 -0
  542. pyvale/calib/calibdotdetect.py +510 -0
  543. pyvale/calib/calibparams.py +47 -0
  544. pyvale/calib/calibstereo.py +441 -0
  545. pyvale/calib/cpp/bindings.cpp +22 -0
  546. pyvale/calib/cpp/calibdotdetect.cpp +16 -0
  547. pyvale/calib/cpp/calibdotdetect.hpp +20 -0
  548. pyvale/calib/cpp/calibopt.cpp +347 -0
  549. pyvale/calib/cpp/calibopt.hpp +84 -0
  550. pyvale/calib/cpp/calibstereo.cpp +95 -0
  551. pyvale/calib/cpp/calibstereo.hpp +27 -0
  552. pyvale/common_cpp/__init__.py +5 -0
  553. pyvale/common_cpp/bindings.cpp +33 -0
  554. pyvale/common_cpp/common_cpp.cpython-311-i386-linux-gnu.so +0 -0
  555. pyvale/common_cpp/defines.hpp +39 -0
  556. pyvale/common_cpp/dicsignalhandler.cpp +16 -0
  557. pyvale/common_cpp/dicsignalhandler.hpp +11 -0
  558. pyvale/common_cpp/pocketfft_hdronly.h +3744 -0
  559. pyvale/common_cpp/progressbar.hpp +107 -0
  560. pyvale/common_cpp/util.cpp +19 -0
  561. pyvale/common_cpp/util.hpp +72 -0
  562. pyvale/common_py/util.py +63 -0
  563. pyvale/data/DIC_Challenge_Star_Noise_Def.tiff +0 -0
  564. pyvale/data/DIC_Challenge_Star_Noise_Ref.tiff +0 -0
  565. pyvale/data/__init__.py +5 -0
  566. pyvale/data/cal_target.tiff +0 -0
  567. pyvale/data/calib.caldat +26 -0
  568. pyvale/data/case00_HEX20_out.e +0 -0
  569. pyvale/data/case00_HEX27_out.e +0 -0
  570. pyvale/data/case00_HEX8_out.e +0 -0
  571. pyvale/data/case00_TET10_out.e +0 -0
  572. pyvale/data/case00_TET14_out.e +0 -0
  573. pyvale/data/case00_TET4_out.e +0 -0
  574. pyvale/data/case16_d_out.e +0 -0
  575. pyvale/data/case16_out.e +0 -0
  576. pyvale/data/case17_out.e +0 -0
  577. pyvale/data/case18_d_out.e +0 -0
  578. pyvale/data/case18_out.e +0 -0
  579. pyvale/data/case26_out.e +0 -0
  580. pyvale/data/optspeckle_2464x2056px_spec5px_8bit_gblur1px.tiff +0 -0
  581. pyvale/data/plate_hole_def0000.tiff +0 -0
  582. pyvale/data/plate_hole_def0001.tiff +0 -0
  583. pyvale/data/plate_hole_ref0000.tiff +0 -0
  584. pyvale/data/plate_rigid_def0000.tiff +0 -0
  585. pyvale/data/plate_rigid_def0001.tiff +0 -0
  586. pyvale/data/plate_rigid_def_25px.tiff +0 -0
  587. pyvale/data/plate_rigid_def_50px.tiff +0 -0
  588. pyvale/data/plate_rigid_ref0000.tiff +0 -0
  589. pyvale/dataset/__init__.py +7 -0
  590. pyvale/dataset/dataset.py +483 -0
  591. pyvale/dic/__init__.py +15 -0
  592. pyvale/dic/cpp/bindings.cpp +52 -0
  593. pyvale/dic/cpp/dicfourier.cpp +705 -0
  594. pyvale/dic/cpp/dicfourier.hpp +410 -0
  595. pyvale/dic/cpp/dicinterpolator.cpp +633 -0
  596. pyvale/dic/cpp/dicinterpolator.hpp +162 -0
  597. pyvale/dic/cpp/dicmain.cpp +214 -0
  598. pyvale/dic/cpp/dicmain.hpp +61 -0
  599. pyvale/dic/cpp/dicoptimizer.cpp +564 -0
  600. pyvale/dic/cpp/dicoptimizer.hpp +279 -0
  601. pyvale/dic/cpp/dicresults.cpp +239 -0
  602. pyvale/dic/cpp/dicresults.hpp +64 -0
  603. pyvale/dic/cpp/dicrg.cpp +55 -0
  604. pyvale/dic/cpp/dicrg.hpp +52 -0
  605. pyvale/dic/cpp/dicscanmethod.cpp +819 -0
  606. pyvale/dic/cpp/dicscanmethod.hpp +119 -0
  607. pyvale/dic/cpp/dicshapefunc.cpp +117 -0
  608. pyvale/dic/cpp/dicshapefunc.hpp +40 -0
  609. pyvale/dic/cpp/dicsubset.cpp +325 -0
  610. pyvale/dic/cpp/dicsubset.hpp +122 -0
  611. pyvale/dic/cpp/dicutil.cpp +108 -0
  612. pyvale/dic/cpp/dicutil.hpp +96 -0
  613. pyvale/dic/cuda/malloc.cu +99 -0
  614. pyvale/dic/cuda/malloc.hpp +17 -0
  615. pyvale/dic/dic2d.py +190 -0
  616. pyvale/dic/dic2dconv.py +6 -0
  617. pyvale/dic/dic2dcpp.cpython-311-i386-linux-gnu.so +0 -0
  618. pyvale/dic/dicchecks.py +455 -0
  619. pyvale/dic/dicdataimport.py +402 -0
  620. pyvale/dic/dicregionofinterest.py +1163 -0
  621. pyvale/dic/dicresults.py +58 -0
  622. pyvale/examples/__init__.py +5 -0
  623. pyvale/examples/basicsensorsim/README.md +2 -0
  624. pyvale/examples/basicsensorsim/ex0_quickstart.py +139 -0
  625. pyvale/examples/basicsensorsim/ex1_scalar_sensors.py +240 -0
  626. pyvale/examples/basicsensorsim/ex2_vector_tensor_sensors.py +280 -0
  627. pyvale/examples/basicsensorsim/ex3_experiment_simulator.py +397 -0
  628. pyvale/examples/blenderimagedef/README.md +2 -0
  629. pyvale/examples/blenderimagedef/ex1_blender_scene2d.py +176 -0
  630. pyvale/examples/blenderimagedef/ex2_blender_imagedef2d.py +177 -0
  631. pyvale/examples/blenderimagedef/ex3_blender_scenestereo.py +205 -0
  632. pyvale/examples/blenderimagedef/ex4_blender_imagedefstereo.py +213 -0
  633. pyvale/examples/blenderimagedef/ex5_blender_calibstereo.py +190 -0
  634. pyvale/examples/dic/README.md +2 -0
  635. pyvale/examples/dic/ex1_region_of_interest.py +101 -0
  636. pyvale/examples/dic/ex2_plate_with_hole.py +155 -0
  637. pyvale/examples/dic/ex3_plate_with_hole_strain.py +99 -0
  638. pyvale/examples/dic/ex4_dic_blender.py +97 -0
  639. pyvale/examples/dic/ex5_dic_challenge.py +107 -0
  640. pyvale/examples/extsensorsim/README.md +2 -0
  641. pyvale/examples/extsensorsim/ex1_byosimdata.py +211 -0
  642. pyvale/examples/extsensorsim/ex2_meshfreesensors.py +174 -0
  643. pyvale/examples/extsensorsim/ex3a_scal2d.py +151 -0
  644. pyvale/examples/extsensorsim/ex3b_scal3d.py +150 -0
  645. pyvale/examples/extsensorsim/ex3c_vec2d.py +163 -0
  646. pyvale/examples/extsensorsim/ex3d_vec3d.py +169 -0
  647. pyvale/examples/extsensorsim/ex3e_tens2d.py +170 -0
  648. pyvale/examples/extsensorsim/ex3f_tens3d.py +198 -0
  649. pyvale/examples/extsensorsim/ex4a_basicerrs_scal2d.py +201 -0
  650. pyvale/examples/extsensorsim/ex4b_fielderrs_scal3d.py +197 -0
  651. pyvale/examples/extsensorsim/ex4c_angleerrs_vec2d.py +215 -0
  652. pyvale/examples/extsensorsim/ex4d_fieldlockerrs_vec3d.py +184 -0
  653. pyvale/examples/extsensorsim/ex4e_chainfielderrs_vec2d.py +233 -0
  654. pyvale/examples/extsensorsim/ex4f_caliberrs_scal2d.py +167 -0
  655. pyvale/examples/extsensorsim/ex4g_spatavgerrs_scal2d.py +146 -0
  656. pyvale/examples/extsensorsim/ex5a_expsim_thermmech2d.py +350 -0
  657. pyvale/examples/extsensorsim/ex5b_expsim_thermmech3d.py +358 -0
  658. pyvale/examples/genanalyticdata/ex1_1_scalarvisualisation.py +41 -0
  659. pyvale/examples/genanalyticdata/ex1_2_scalarcasebuild.py +43 -0
  660. pyvale/examples/genanalyticdata/ex2_1_analyticsensors.py +86 -0
  661. pyvale/examples/genanalyticdata/ex2_2_analyticsensors_nomesh.py +89 -0
  662. pyvale/examples/imagedef2d/ex_imagedef2d_todisk.py +84 -0
  663. pyvale/examples/mooseherder/README.md +2 -0
  664. pyvale/examples/mooseherder/ex0_create_moose_config.py +65 -0
  665. pyvale/examples/mooseherder/ex1a_modify_moose_input.py +71 -0
  666. pyvale/examples/mooseherder/ex1b_modify_gmsh_input.py +69 -0
  667. pyvale/examples/mooseherder/ex2a_run_moose_once.py +80 -0
  668. pyvale/examples/mooseherder/ex2b_run_gmsh_once.py +64 -0
  669. pyvale/examples/mooseherder/ex2c_run_both_once.py +114 -0
  670. pyvale/examples/mooseherder/ex3_run_moose_seq_para.py +157 -0
  671. pyvale/examples/mooseherder/ex4_run_gmsh-moose_seq_para.py +176 -0
  672. pyvale/examples/mooseherder/ex5_run_moose_paramulti.py +136 -0
  673. pyvale/examples/mooseherder/ex6_read_moose_exodus.py +163 -0
  674. pyvale/examples/mooseherder/ex7a_read_moose_herd_results.py +153 -0
  675. pyvale/examples/mooseherder/ex7b_read_multi_herd_results.py +116 -0
  676. pyvale/examples/mooseherder/ex7c_read_multi_gmshmoose_results.py +127 -0
  677. pyvale/examples/mooseherder/ex7d_readconfig_multi_gmshmoose_results.py +143 -0
  678. pyvale/examples/mooseherder/ex8_read_existing_sweep_output.py +72 -0
  679. pyvale/examples/rasterimagedef/ex_rastenp.py +194 -0
  680. pyvale/examples/rasterimagedef/ex_rastercyth_oneframe.py +206 -0
  681. pyvale/examples/rasterimagedef/ex_rastercyth_static_cypara.py +189 -0
  682. pyvale/examples/rasterimagedef/ex_rastercyth_static_pypara.py +219 -0
  683. pyvale/examples/visualisation/ex1_visualisation_options.py +111 -0
  684. pyvale/mooseherder/__init__.py +55 -0
  685. pyvale/mooseherder/directorymanager.py +408 -0
  686. pyvale/mooseherder/exceptions.py +10 -0
  687. pyvale/mooseherder/exodusloader.py +762 -0
  688. pyvale/mooseherder/gmshrunner.py +158 -0
  689. pyvale/mooseherder/inputmodifier.py +240 -0
  690. pyvale/mooseherder/mooseconfig.py +212 -0
  691. pyvale/mooseherder/mooseherd.py +539 -0
  692. pyvale/mooseherder/mooserunner.py +307 -0
  693. pyvale/mooseherder/outputloader.py +17 -0
  694. pyvale/mooseherder/simdata.py +93 -0
  695. pyvale/mooseherder/simloaderbyfield.py +211 -0
  696. pyvale/mooseherder/simloaderbytime.py +193 -0
  697. pyvale/mooseherder/simloadopts.py +55 -0
  698. pyvale/mooseherder/simloadtools.py +465 -0
  699. pyvale/mooseherder/simrunner.py +31 -0
  700. pyvale/mooseherder/simsaver.py +401 -0
  701. pyvale/mooseherder/sweeploader.py +358 -0
  702. pyvale/mooseherder/sweeptools.py +76 -0
  703. pyvale/sensorsim/__init__.py +86 -0
  704. pyvale/sensorsim/camera.py +147 -0
  705. pyvale/sensorsim/cameradata.py +72 -0
  706. pyvale/sensorsim/cameradata2d.py +84 -0
  707. pyvale/sensorsim/camerasensor.py +147 -0
  708. pyvale/sensorsim/camerastereo.py +217 -0
  709. pyvale/sensorsim/cameratools.py +484 -0
  710. pyvale/sensorsim/cython/rastercyth.c +32404 -0
  711. pyvale/sensorsim/cython/rastercyth.html +3392 -0
  712. pyvale/sensorsim/cython/rastercyth.py +684 -0
  713. pyvale/sensorsim/enums.py +16 -0
  714. pyvale/sensorsim/errordriftcalc.py +104 -0
  715. pyvale/sensorsim/errorintegrator.py +359 -0
  716. pyvale/sensorsim/errorrand.py +105 -0
  717. pyvale/sensorsim/errorsimulator.py +137 -0
  718. pyvale/sensorsim/errorsyscalib.py +93 -0
  719. pyvale/sensorsim/errorsysdep.py +197 -0
  720. pyvale/sensorsim/errorsysfield.py +383 -0
  721. pyvale/sensorsim/errorsysindep.py +209 -0
  722. pyvale/sensorsim/exceptions.py +14 -0
  723. pyvale/sensorsim/experimentsimio.py +94 -0
  724. pyvale/sensorsim/experimentsimulator.py +615 -0
  725. pyvale/sensorsim/experimentstats.py +115 -0
  726. pyvale/sensorsim/field.py +127 -0
  727. pyvale/sensorsim/fieldconverter.py +378 -0
  728. pyvale/sensorsim/fieldinterp.py +89 -0
  729. pyvale/sensorsim/fieldinterpmesh.py +119 -0
  730. pyvale/sensorsim/fieldinterppoints.py +93 -0
  731. pyvale/sensorsim/fieldsampler.py +110 -0
  732. pyvale/sensorsim/fieldscalar.py +94 -0
  733. pyvale/sensorsim/fieldtensor.py +150 -0
  734. pyvale/sensorsim/fieldtransform.py +388 -0
  735. pyvale/sensorsim/fieldvector.py +136 -0
  736. pyvale/sensorsim/generatorsrandom.py +420 -0
  737. pyvale/sensorsim/imagedef2d.py +577 -0
  738. pyvale/sensorsim/imagetools.py +137 -0
  739. pyvale/sensorsim/integratorfactory.py +240 -0
  740. pyvale/sensorsim/integratorquadrature.py +217 -0
  741. pyvale/sensorsim/integratorrectangle.py +165 -0
  742. pyvale/sensorsim/integratorspatial.py +89 -0
  743. pyvale/sensorsim/integratortype.py +43 -0
  744. pyvale/sensorsim/logger.py +23 -0
  745. pyvale/sensorsim/plotting_logs.py +22 -0
  746. pyvale/sensorsim/raster.py +31 -0
  747. pyvale/sensorsim/rastercy.py +107 -0
  748. pyvale/sensorsim/rasternp.py +627 -0
  749. pyvale/sensorsim/rasteropts.py +58 -0
  750. pyvale/sensorsim/renderer.py +47 -0
  751. pyvale/sensorsim/rendermesh.py +137 -0
  752. pyvale/sensorsim/renderscene.py +51 -0
  753. pyvale/sensorsim/sensorarray.py +178 -0
  754. pyvale/sensorsim/sensordata.py +74 -0
  755. pyvale/sensorsim/sensordescriptor.py +275 -0
  756. pyvale/sensorsim/sensorfactory.py +179 -0
  757. pyvale/sensorsim/sensorspoint.py +308 -0
  758. pyvale/sensorsim/sensortools.py +113 -0
  759. pyvale/sensorsim/simtools.py +300 -0
  760. pyvale/sensorsim/visualexpplotter.py +201 -0
  761. pyvale/sensorsim/visualimagedef.py +74 -0
  762. pyvale/sensorsim/visualimages.py +76 -0
  763. pyvale/sensorsim/visualopts.py +507 -0
  764. pyvale/sensorsim/visualsimanimator.py +111 -0
  765. pyvale/sensorsim/visualsimplotter.py +180 -0
  766. pyvale/sensorsim/visualsimsensors.py +343 -0
  767. pyvale/sensorsim/visualtools.py +136 -0
  768. pyvale/sensorsim/visualtraceanimator.py +77 -0
  769. pyvale/sensorsim/visualtraceplotter.py +296 -0
  770. pyvale/simcases/case00_HEX20.i +242 -0
  771. pyvale/simcases/case00_HEX27.i +242 -0
  772. pyvale/simcases/case00_HEX8.i +242 -0
  773. pyvale/simcases/case00_TET10.i +242 -0
  774. pyvale/simcases/case00_TET14.i +242 -0
  775. pyvale/simcases/case00_TET4.i +242 -0
  776. pyvale/simcases/case01.i +101 -0
  777. pyvale/simcases/case02.i +156 -0
  778. pyvale/simcases/case03.i +136 -0
  779. pyvale/simcases/case04.i +181 -0
  780. pyvale/simcases/case05.i +234 -0
  781. pyvale/simcases/case06.i +305 -0
  782. pyvale/simcases/case07.geo +135 -0
  783. pyvale/simcases/case07.i +87 -0
  784. pyvale/simcases/case08.geo +144 -0
  785. pyvale/simcases/case08.i +153 -0
  786. pyvale/simcases/case09.geo +204 -0
  787. pyvale/simcases/case09.i +87 -0
  788. pyvale/simcases/case10.geo +204 -0
  789. pyvale/simcases/case10.i +257 -0
  790. pyvale/simcases/case11.geo +337 -0
  791. pyvale/simcases/case11.i +147 -0
  792. pyvale/simcases/case12.geo +388 -0
  793. pyvale/simcases/case12.i +329 -0
  794. pyvale/simcases/case13.i +140 -0
  795. pyvale/simcases/case14.i +159 -0
  796. pyvale/simcases/case15.geo +337 -0
  797. pyvale/simcases/case15.i +150 -0
  798. pyvale/simcases/case16.geo +391 -0
  799. pyvale/simcases/case16.i +357 -0
  800. pyvale/simcases/case16_d.i +360 -0
  801. pyvale/simcases/case16_u.i +360 -0
  802. pyvale/simcases/case17.geo +138 -0
  803. pyvale/simcases/case17.i +144 -0
  804. pyvale/simcases/case18.i +271 -0
  805. pyvale/simcases/case18_d.i +271 -0
  806. pyvale/simcases/case18_u.i +271 -0
  807. pyvale/simcases/case19.geo +252 -0
  808. pyvale/simcases/case19.i +99 -0
  809. pyvale/simcases/case20.geo +252 -0
  810. pyvale/simcases/case20.i +250 -0
  811. pyvale/simcases/case21.geo +74 -0
  812. pyvale/simcases/case21.i +155 -0
  813. pyvale/simcases/case22.geo +82 -0
  814. pyvale/simcases/case22.i +140 -0
  815. pyvale/simcases/case23.geo +164 -0
  816. pyvale/simcases/case23.i +140 -0
  817. pyvale/simcases/case24.geo +79 -0
  818. pyvale/simcases/case24.i +123 -0
  819. pyvale/simcases/case25.geo +82 -0
  820. pyvale/simcases/case25.i +140 -0
  821. pyvale/simcases/case26.geo +166 -0
  822. pyvale/simcases/case26.i +140 -0
  823. pyvale/simcases/cases_dictionary.yaml +336 -0
  824. pyvale/simcases/run_1case.py +60 -0
  825. pyvale/simcases/run_all_cases.py +69 -0
  826. pyvale/simcases/run_build_case.py +64 -0
  827. pyvale/simcases/run_example_cases.py +69 -0
  828. pyvale/strain/__init__.py +13 -0
  829. pyvale/strain/cpp/bindings.cpp +25 -0
  830. pyvale/strain/cpp/smooth.cpp +140 -0
  831. pyvale/strain/cpp/smooth.hpp +53 -0
  832. pyvale/strain/cpp/strain.cpp +390 -0
  833. pyvale/strain/cpp/strain.hpp +177 -0
  834. pyvale/strain/strain.py +117 -0
  835. pyvale/strain/strain_cpp.cpython-311-i386-linux-gnu.so +0 -0
  836. pyvale/strain/strainchecks.py +47 -0
  837. pyvale/strain/strainimport.py +303 -0
  838. pyvale/strain/strainresults.py +55 -0
  839. pyvale/verif/__init__.py +15 -0
  840. pyvale/verif/analyticmeshgen.py +102 -0
  841. pyvale/verif/analyticsimdatafactory.py +125 -0
  842. pyvale/verif/analyticsimdatagenerator.py +368 -0
  843. pyvale/verif/matchsimdata.py +113 -0
  844. pyvale/verif/pointsens.py +120 -0
  845. pyvale/verif/pointsensconst.py +19 -0
  846. pyvale/verif/pointsensmech.py +270 -0
  847. pyvale/verif/pointsensmultiphys.py +184 -0
  848. pyvale/verif/pointsensscalar.py +383 -0
  849. pyvale/verif/pointsenstensor.py +159 -0
  850. pyvale/verif/pointsensvector.py +157 -0
  851. pyvale-2026.1.1.dist-info/METADATA +98 -0
  852. pyvale-2026.1.1.dist-info/RECORD +860 -0
  853. pyvale-2026.1.1.dist-info/WHEEL +6 -0
  854. pyvale-2026.1.1.dist-info/licenses/LICENSE +21 -0
  855. pyvale.libs/libgomp-65f46eca.so.1.0.0 +0 -0
  856. share/eigen3/cmake/Eigen3Config.cmake +37 -0
  857. share/eigen3/cmake/Eigen3ConfigVersion.cmake +65 -0
  858. share/eigen3/cmake/Eigen3Targets.cmake +106 -0
  859. share/eigen3/cmake/UseEigen3.cmake +6 -0
  860. share/pkgconfig/eigen3.pc +9 -0
@@ -0,0 +1,862 @@
1
+ // This file is part of Eigen, a lightweight C++ template library
2
+ // for linear algebra.
3
+ //
4
+ // Copyright (C) 2008-2009 Guillaume Saupin <guillaume.saupin@cea.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_SKYLINEMATRIX_H
11
+ #define EIGEN_SKYLINEMATRIX_H
12
+
13
+ #include "SkylineStorage.h"
14
+ #include "SkylineMatrixBase.h"
15
+
16
+ namespace Eigen {
17
+
18
+ /** \ingroup Skyline_Module
19
+ *
20
+ * \class SkylineMatrix
21
+ *
22
+ * \brief The main skyline matrix class
23
+ *
24
+ * This class implements a skyline matrix using the very uncommon storage
25
+ * scheme.
26
+ *
27
+ * \param _Scalar the scalar type, i.e. the type of the coefficients
28
+ * \param _Options Union of bit flags controlling the storage scheme. Currently the only possibility
29
+ * is RowMajor. The default is 0 which means column-major.
30
+ *
31
+ *
32
+ */
33
+ namespace internal {
34
+ template<typename _Scalar, int _Options>
35
+ struct traits<SkylineMatrix<_Scalar, _Options> > {
36
+ typedef _Scalar Scalar;
37
+ typedef Sparse StorageKind;
38
+
39
+ enum {
40
+ RowsAtCompileTime = Dynamic,
41
+ ColsAtCompileTime = Dynamic,
42
+ MaxRowsAtCompileTime = Dynamic,
43
+ MaxColsAtCompileTime = Dynamic,
44
+ Flags = SkylineBit | _Options,
45
+ CoeffReadCost = NumTraits<Scalar>::ReadCost,
46
+ };
47
+ };
48
+ }
49
+
50
+ template<typename _Scalar, int _Options>
51
+ class SkylineMatrix
52
+ : public SkylineMatrixBase<SkylineMatrix<_Scalar, _Options> > {
53
+ public:
54
+ EIGEN_SKYLINE_GENERIC_PUBLIC_INTERFACE(SkylineMatrix)
55
+ EIGEN_SKYLINE_INHERIT_ASSIGNMENT_OPERATOR(SkylineMatrix, +=)
56
+ EIGEN_SKYLINE_INHERIT_ASSIGNMENT_OPERATOR(SkylineMatrix, -=)
57
+
58
+ using Base::IsRowMajor;
59
+
60
+ protected:
61
+
62
+ typedef SkylineMatrix<Scalar, (Flags&~RowMajorBit) | (IsRowMajor ? RowMajorBit : 0) > TransposedSkylineMatrix;
63
+
64
+ Index m_outerSize;
65
+ Index m_innerSize;
66
+
67
+ public:
68
+ Index* m_colStartIndex;
69
+ Index* m_rowStartIndex;
70
+ SkylineStorage<Scalar> m_data;
71
+
72
+ public:
73
+
74
+ inline Index rows() const {
75
+ return IsRowMajor ? m_outerSize : m_innerSize;
76
+ }
77
+
78
+ inline Index cols() const {
79
+ return IsRowMajor ? m_innerSize : m_outerSize;
80
+ }
81
+
82
+ inline Index innerSize() const {
83
+ return m_innerSize;
84
+ }
85
+
86
+ inline Index outerSize() const {
87
+ return m_outerSize;
88
+ }
89
+
90
+ inline Index upperNonZeros() const {
91
+ return m_data.upperSize();
92
+ }
93
+
94
+ inline Index lowerNonZeros() const {
95
+ return m_data.lowerSize();
96
+ }
97
+
98
+ inline Index upperNonZeros(Index j) const {
99
+ return m_colStartIndex[j + 1] - m_colStartIndex[j];
100
+ }
101
+
102
+ inline Index lowerNonZeros(Index j) const {
103
+ return m_rowStartIndex[j + 1] - m_rowStartIndex[j];
104
+ }
105
+
106
+ inline const Scalar* _diagPtr() const {
107
+ return &m_data.diag(0);
108
+ }
109
+
110
+ inline Scalar* _diagPtr() {
111
+ return &m_data.diag(0);
112
+ }
113
+
114
+ inline const Scalar* _upperPtr() const {
115
+ return &m_data.upper(0);
116
+ }
117
+
118
+ inline Scalar* _upperPtr() {
119
+ return &m_data.upper(0);
120
+ }
121
+
122
+ inline const Scalar* _lowerPtr() const {
123
+ return &m_data.lower(0);
124
+ }
125
+
126
+ inline Scalar* _lowerPtr() {
127
+ return &m_data.lower(0);
128
+ }
129
+
130
+ inline const Index* _upperProfilePtr() const {
131
+ return &m_data.upperProfile(0);
132
+ }
133
+
134
+ inline Index* _upperProfilePtr() {
135
+ return &m_data.upperProfile(0);
136
+ }
137
+
138
+ inline const Index* _lowerProfilePtr() const {
139
+ return &m_data.lowerProfile(0);
140
+ }
141
+
142
+ inline Index* _lowerProfilePtr() {
143
+ return &m_data.lowerProfile(0);
144
+ }
145
+
146
+ inline Scalar coeff(Index row, Index col) const {
147
+ const Index outer = IsRowMajor ? row : col;
148
+ const Index inner = IsRowMajor ? col : row;
149
+
150
+ eigen_assert(outer < outerSize());
151
+ eigen_assert(inner < innerSize());
152
+
153
+ if (outer == inner)
154
+ return this->m_data.diag(outer);
155
+
156
+ if (IsRowMajor) {
157
+ if (inner > outer) //upper matrix
158
+ {
159
+ const Index minOuterIndex = inner - m_data.upperProfile(inner);
160
+ if (outer >= minOuterIndex)
161
+ return this->m_data.upper(m_colStartIndex[inner] + outer - (inner - m_data.upperProfile(inner)));
162
+ else
163
+ return Scalar(0);
164
+ }
165
+ if (inner < outer) //lower matrix
166
+ {
167
+ const Index minInnerIndex = outer - m_data.lowerProfile(outer);
168
+ if (inner >= minInnerIndex)
169
+ return this->m_data.lower(m_rowStartIndex[outer] + inner - (outer - m_data.lowerProfile(outer)));
170
+ else
171
+ return Scalar(0);
172
+ }
173
+ return m_data.upper(m_colStartIndex[inner] + outer - inner);
174
+ } else {
175
+ if (outer > inner) //upper matrix
176
+ {
177
+ const Index maxOuterIndex = inner + m_data.upperProfile(inner);
178
+ if (outer <= maxOuterIndex)
179
+ return this->m_data.upper(m_colStartIndex[inner] + (outer - inner));
180
+ else
181
+ return Scalar(0);
182
+ }
183
+ if (outer < inner) //lower matrix
184
+ {
185
+ const Index maxInnerIndex = outer + m_data.lowerProfile(outer);
186
+
187
+ if (inner <= maxInnerIndex)
188
+ return this->m_data.lower(m_rowStartIndex[outer] + (inner - outer));
189
+ else
190
+ return Scalar(0);
191
+ }
192
+ }
193
+ }
194
+
195
+ inline Scalar& coeffRef(Index row, Index col) {
196
+ const Index outer = IsRowMajor ? row : col;
197
+ const Index inner = IsRowMajor ? col : row;
198
+
199
+ eigen_assert(outer < outerSize());
200
+ eigen_assert(inner < innerSize());
201
+
202
+ if (outer == inner)
203
+ return this->m_data.diag(outer);
204
+
205
+ if (IsRowMajor) {
206
+ if (col > row) //upper matrix
207
+ {
208
+ const Index minOuterIndex = inner - m_data.upperProfile(inner);
209
+ eigen_assert(outer >= minOuterIndex && "You tried to access a coeff that does not exist in the storage");
210
+ return this->m_data.upper(m_colStartIndex[inner] + outer - (inner - m_data.upperProfile(inner)));
211
+ }
212
+ if (col < row) //lower matrix
213
+ {
214
+ const Index minInnerIndex = outer - m_data.lowerProfile(outer);
215
+ eigen_assert(inner >= minInnerIndex && "You tried to access a coeff that does not exist in the storage");
216
+ return this->m_data.lower(m_rowStartIndex[outer] + inner - (outer - m_data.lowerProfile(outer)));
217
+ }
218
+ } else {
219
+ if (outer > inner) //upper matrix
220
+ {
221
+ const Index maxOuterIndex = inner + m_data.upperProfile(inner);
222
+ eigen_assert(outer <= maxOuterIndex && "You tried to access a coeff that does not exist in the storage");
223
+ return this->m_data.upper(m_colStartIndex[inner] + (outer - inner));
224
+ }
225
+ if (outer < inner) //lower matrix
226
+ {
227
+ const Index maxInnerIndex = outer + m_data.lowerProfile(outer);
228
+ eigen_assert(inner <= maxInnerIndex && "You tried to access a coeff that does not exist in the storage");
229
+ return this->m_data.lower(m_rowStartIndex[outer] + (inner - outer));
230
+ }
231
+ }
232
+ }
233
+
234
+ inline Scalar coeffDiag(Index idx) const {
235
+ eigen_assert(idx < outerSize());
236
+ eigen_assert(idx < innerSize());
237
+ return this->m_data.diag(idx);
238
+ }
239
+
240
+ inline Scalar coeffLower(Index row, Index col) const {
241
+ const Index outer = IsRowMajor ? row : col;
242
+ const Index inner = IsRowMajor ? col : row;
243
+
244
+ eigen_assert(outer < outerSize());
245
+ eigen_assert(inner < innerSize());
246
+ eigen_assert(inner != outer);
247
+
248
+ if (IsRowMajor) {
249
+ const Index minInnerIndex = outer - m_data.lowerProfile(outer);
250
+ if (inner >= minInnerIndex)
251
+ return this->m_data.lower(m_rowStartIndex[outer] + inner - (outer - m_data.lowerProfile(outer)));
252
+ else
253
+ return Scalar(0);
254
+
255
+ } else {
256
+ const Index maxInnerIndex = outer + m_data.lowerProfile(outer);
257
+ if (inner <= maxInnerIndex)
258
+ return this->m_data.lower(m_rowStartIndex[outer] + (inner - outer));
259
+ else
260
+ return Scalar(0);
261
+ }
262
+ }
263
+
264
+ inline Scalar coeffUpper(Index row, Index col) const {
265
+ const Index outer = IsRowMajor ? row : col;
266
+ const Index inner = IsRowMajor ? col : row;
267
+
268
+ eigen_assert(outer < outerSize());
269
+ eigen_assert(inner < innerSize());
270
+ eigen_assert(inner != outer);
271
+
272
+ if (IsRowMajor) {
273
+ const Index minOuterIndex = inner - m_data.upperProfile(inner);
274
+ if (outer >= minOuterIndex)
275
+ return this->m_data.upper(m_colStartIndex[inner] + outer - (inner - m_data.upperProfile(inner)));
276
+ else
277
+ return Scalar(0);
278
+ } else {
279
+ const Index maxOuterIndex = inner + m_data.upperProfile(inner);
280
+ if (outer <= maxOuterIndex)
281
+ return this->m_data.upper(m_colStartIndex[inner] + (outer - inner));
282
+ else
283
+ return Scalar(0);
284
+ }
285
+ }
286
+
287
+ inline Scalar& coeffRefDiag(Index idx) {
288
+ eigen_assert(idx < outerSize());
289
+ eigen_assert(idx < innerSize());
290
+ return this->m_data.diag(idx);
291
+ }
292
+
293
+ inline Scalar& coeffRefLower(Index row, Index col) {
294
+ const Index outer = IsRowMajor ? row : col;
295
+ const Index inner = IsRowMajor ? col : row;
296
+
297
+ eigen_assert(outer < outerSize());
298
+ eigen_assert(inner < innerSize());
299
+ eigen_assert(inner != outer);
300
+
301
+ if (IsRowMajor) {
302
+ const Index minInnerIndex = outer - m_data.lowerProfile(outer);
303
+ eigen_assert(inner >= minInnerIndex && "You tried to access a coeff that does not exist in the storage");
304
+ return this->m_data.lower(m_rowStartIndex[outer] + inner - (outer - m_data.lowerProfile(outer)));
305
+ } else {
306
+ const Index maxInnerIndex = outer + m_data.lowerProfile(outer);
307
+ eigen_assert(inner <= maxInnerIndex && "You tried to access a coeff that does not exist in the storage");
308
+ return this->m_data.lower(m_rowStartIndex[outer] + (inner - outer));
309
+ }
310
+ }
311
+
312
+ inline bool coeffExistLower(Index row, Index col) {
313
+ const Index outer = IsRowMajor ? row : col;
314
+ const Index inner = IsRowMajor ? col : row;
315
+
316
+ eigen_assert(outer < outerSize());
317
+ eigen_assert(inner < innerSize());
318
+ eigen_assert(inner != outer);
319
+
320
+ if (IsRowMajor) {
321
+ const Index minInnerIndex = outer - m_data.lowerProfile(outer);
322
+ return inner >= minInnerIndex;
323
+ } else {
324
+ const Index maxInnerIndex = outer + m_data.lowerProfile(outer);
325
+ return inner <= maxInnerIndex;
326
+ }
327
+ }
328
+
329
+ inline Scalar& coeffRefUpper(Index row, Index col) {
330
+ const Index outer = IsRowMajor ? row : col;
331
+ const Index inner = IsRowMajor ? col : row;
332
+
333
+ eigen_assert(outer < outerSize());
334
+ eigen_assert(inner < innerSize());
335
+ eigen_assert(inner != outer);
336
+
337
+ if (IsRowMajor) {
338
+ const Index minOuterIndex = inner - m_data.upperProfile(inner);
339
+ eigen_assert(outer >= minOuterIndex && "You tried to access a coeff that does not exist in the storage");
340
+ return this->m_data.upper(m_colStartIndex[inner] + outer - (inner - m_data.upperProfile(inner)));
341
+ } else {
342
+ const Index maxOuterIndex = inner + m_data.upperProfile(inner);
343
+ eigen_assert(outer <= maxOuterIndex && "You tried to access a coeff that does not exist in the storage");
344
+ return this->m_data.upper(m_colStartIndex[inner] + (outer - inner));
345
+ }
346
+ }
347
+
348
+ inline bool coeffExistUpper(Index row, Index col) {
349
+ const Index outer = IsRowMajor ? row : col;
350
+ const Index inner = IsRowMajor ? col : row;
351
+
352
+ eigen_assert(outer < outerSize());
353
+ eigen_assert(inner < innerSize());
354
+ eigen_assert(inner != outer);
355
+
356
+ if (IsRowMajor) {
357
+ const Index minOuterIndex = inner - m_data.upperProfile(inner);
358
+ return outer >= minOuterIndex;
359
+ } else {
360
+ const Index maxOuterIndex = inner + m_data.upperProfile(inner);
361
+ return outer <= maxOuterIndex;
362
+ }
363
+ }
364
+
365
+
366
+ protected:
367
+
368
+ public:
369
+ class InnerUpperIterator;
370
+ class InnerLowerIterator;
371
+
372
+ class OuterUpperIterator;
373
+ class OuterLowerIterator;
374
+
375
+ /** Removes all non zeros */
376
+ inline void setZero() {
377
+ m_data.clear();
378
+ memset(m_colStartIndex, 0, (m_outerSize + 1) * sizeof (Index));
379
+ memset(m_rowStartIndex, 0, (m_outerSize + 1) * sizeof (Index));
380
+ }
381
+
382
+ /** \returns the number of non zero coefficients */
383
+ inline Index nonZeros() const {
384
+ return m_data.diagSize() + m_data.upperSize() + m_data.lowerSize();
385
+ }
386
+
387
+ /** Preallocates \a reserveSize non zeros */
388
+ inline void reserve(Index reserveSize, Index reserveUpperSize, Index reserveLowerSize) {
389
+ m_data.reserve(reserveSize, reserveUpperSize, reserveLowerSize);
390
+ }
391
+
392
+ /** \returns a reference to a novel non zero coefficient with coordinates \a row x \a col.
393
+
394
+ *
395
+ * \warning This function can be extremely slow if the non zero coefficients
396
+ * are not inserted in a coherent order.
397
+ *
398
+ * After an insertion session, you should call the finalize() function.
399
+ */
400
+ EIGEN_DONT_INLINE Scalar & insert(Index row, Index col) {
401
+ const Index outer = IsRowMajor ? row : col;
402
+ const Index inner = IsRowMajor ? col : row;
403
+
404
+ eigen_assert(outer < outerSize());
405
+ eigen_assert(inner < innerSize());
406
+
407
+ if (outer == inner)
408
+ return m_data.diag(col);
409
+
410
+ if (IsRowMajor) {
411
+ if (outer < inner) //upper matrix
412
+ {
413
+ Index minOuterIndex = 0;
414
+ minOuterIndex = inner - m_data.upperProfile(inner);
415
+
416
+ if (outer < minOuterIndex) //The value does not yet exist
417
+ {
418
+ const Index previousProfile = m_data.upperProfile(inner);
419
+
420
+ m_data.upperProfile(inner) = inner - outer;
421
+
422
+
423
+ const Index bandIncrement = m_data.upperProfile(inner) - previousProfile;
424
+ //shift data stored after this new one
425
+ const Index stop = m_colStartIndex[cols()];
426
+ const Index start = m_colStartIndex[inner];
427
+
428
+
429
+ for (Index innerIdx = stop; innerIdx >= start; innerIdx--) {
430
+ m_data.upper(innerIdx + bandIncrement) = m_data.upper(innerIdx);
431
+ }
432
+
433
+ for (Index innerIdx = cols(); innerIdx > inner; innerIdx--) {
434
+ m_colStartIndex[innerIdx] += bandIncrement;
435
+ }
436
+
437
+ //zeros new data
438
+ memset(this->_upperPtr() + start, 0, (bandIncrement - 1) * sizeof (Scalar));
439
+
440
+ return m_data.upper(m_colStartIndex[inner]);
441
+ } else {
442
+ return m_data.upper(m_colStartIndex[inner] + outer - (inner - m_data.upperProfile(inner)));
443
+ }
444
+ }
445
+
446
+ if (outer > inner) //lower matrix
447
+ {
448
+ const Index minInnerIndex = outer - m_data.lowerProfile(outer);
449
+ if (inner < minInnerIndex) //The value does not yet exist
450
+ {
451
+ const Index previousProfile = m_data.lowerProfile(outer);
452
+ m_data.lowerProfile(outer) = outer - inner;
453
+
454
+ const Index bandIncrement = m_data.lowerProfile(outer) - previousProfile;
455
+ //shift data stored after this new one
456
+ const Index stop = m_rowStartIndex[rows()];
457
+ const Index start = m_rowStartIndex[outer];
458
+
459
+
460
+ for (Index innerIdx = stop; innerIdx >= start; innerIdx--) {
461
+ m_data.lower(innerIdx + bandIncrement) = m_data.lower(innerIdx);
462
+ }
463
+
464
+ for (Index innerIdx = rows(); innerIdx > outer; innerIdx--) {
465
+ m_rowStartIndex[innerIdx] += bandIncrement;
466
+ }
467
+
468
+ //zeros new data
469
+ memset(this->_lowerPtr() + start, 0, (bandIncrement - 1) * sizeof (Scalar));
470
+ return m_data.lower(m_rowStartIndex[outer]);
471
+ } else {
472
+ return m_data.lower(m_rowStartIndex[outer] + inner - (outer - m_data.lowerProfile(outer)));
473
+ }
474
+ }
475
+ } else {
476
+ if (outer > inner) //upper matrix
477
+ {
478
+ const Index maxOuterIndex = inner + m_data.upperProfile(inner);
479
+ if (outer > maxOuterIndex) //The value does not yet exist
480
+ {
481
+ const Index previousProfile = m_data.upperProfile(inner);
482
+ m_data.upperProfile(inner) = outer - inner;
483
+
484
+ const Index bandIncrement = m_data.upperProfile(inner) - previousProfile;
485
+ //shift data stored after this new one
486
+ const Index stop = m_rowStartIndex[rows()];
487
+ const Index start = m_rowStartIndex[inner + 1];
488
+
489
+ for (Index innerIdx = stop; innerIdx >= start; innerIdx--) {
490
+ m_data.upper(innerIdx + bandIncrement) = m_data.upper(innerIdx);
491
+ }
492
+
493
+ for (Index innerIdx = inner + 1; innerIdx < outerSize() + 1; innerIdx++) {
494
+ m_rowStartIndex[innerIdx] += bandIncrement;
495
+ }
496
+ memset(this->_upperPtr() + m_rowStartIndex[inner] + previousProfile + 1, 0, (bandIncrement - 1) * sizeof (Scalar));
497
+ return m_data.upper(m_rowStartIndex[inner] + m_data.upperProfile(inner));
498
+ } else {
499
+ return m_data.upper(m_rowStartIndex[inner] + (outer - inner));
500
+ }
501
+ }
502
+
503
+ if (outer < inner) //lower matrix
504
+ {
505
+ const Index maxInnerIndex = outer + m_data.lowerProfile(outer);
506
+ if (inner > maxInnerIndex) //The value does not yet exist
507
+ {
508
+ const Index previousProfile = m_data.lowerProfile(outer);
509
+ m_data.lowerProfile(outer) = inner - outer;
510
+
511
+ const Index bandIncrement = m_data.lowerProfile(outer) - previousProfile;
512
+ //shift data stored after this new one
513
+ const Index stop = m_colStartIndex[cols()];
514
+ const Index start = m_colStartIndex[outer + 1];
515
+
516
+ for (Index innerIdx = stop; innerIdx >= start; innerIdx--) {
517
+ m_data.lower(innerIdx + bandIncrement) = m_data.lower(innerIdx);
518
+ }
519
+
520
+ for (Index innerIdx = outer + 1; innerIdx < outerSize() + 1; innerIdx++) {
521
+ m_colStartIndex[innerIdx] += bandIncrement;
522
+ }
523
+ memset(this->_lowerPtr() + m_colStartIndex[outer] + previousProfile + 1, 0, (bandIncrement - 1) * sizeof (Scalar));
524
+ return m_data.lower(m_colStartIndex[outer] + m_data.lowerProfile(outer));
525
+ } else {
526
+ return m_data.lower(m_colStartIndex[outer] + (inner - outer));
527
+ }
528
+ }
529
+ }
530
+ }
531
+
532
+ /** Must be called after inserting a set of non zero entries.
533
+ */
534
+ inline void finalize() {
535
+ if (IsRowMajor) {
536
+ if (rows() > cols())
537
+ m_data.resize(cols(), cols(), rows(), m_colStartIndex[cols()] + 1, m_rowStartIndex[rows()] + 1);
538
+ else
539
+ m_data.resize(rows(), cols(), rows(), m_colStartIndex[cols()] + 1, m_rowStartIndex[rows()] + 1);
540
+
541
+ // eigen_assert(rows() == cols() && "memory reorganisatrion only works with suare matrix");
542
+ //
543
+ // Scalar* newArray = new Scalar[m_colStartIndex[cols()] + 1 + m_rowStartIndex[rows()] + 1];
544
+ // Index dataIdx = 0;
545
+ // for (Index row = 0; row < rows(); row++) {
546
+ //
547
+ // const Index nbLowerElts = m_rowStartIndex[row + 1] - m_rowStartIndex[row];
548
+ // // std::cout << "nbLowerElts" << nbLowerElts << std::endl;
549
+ // memcpy(newArray + dataIdx, m_data.m_lower + m_rowStartIndex[row], nbLowerElts * sizeof (Scalar));
550
+ // m_rowStartIndex[row] = dataIdx;
551
+ // dataIdx += nbLowerElts;
552
+ //
553
+ // const Index nbUpperElts = m_colStartIndex[row + 1] - m_colStartIndex[row];
554
+ // memcpy(newArray + dataIdx, m_data.m_upper + m_colStartIndex[row], nbUpperElts * sizeof (Scalar));
555
+ // m_colStartIndex[row] = dataIdx;
556
+ // dataIdx += nbUpperElts;
557
+ //
558
+ //
559
+ // }
560
+ // //todo : don't access m_data profile directly : add an accessor from SkylineMatrix
561
+ // m_rowStartIndex[rows()] = m_rowStartIndex[rows()-1] + m_data.lowerProfile(rows()-1);
562
+ // m_colStartIndex[cols()] = m_colStartIndex[cols()-1] + m_data.upperProfile(cols()-1);
563
+ //
564
+ // delete[] m_data.m_lower;
565
+ // delete[] m_data.m_upper;
566
+ //
567
+ // m_data.m_lower = newArray;
568
+ // m_data.m_upper = newArray;
569
+ } else {
570
+ if (rows() > cols())
571
+ m_data.resize(cols(), rows(), cols(), m_rowStartIndex[cols()] + 1, m_colStartIndex[cols()] + 1);
572
+ else
573
+ m_data.resize(rows(), rows(), cols(), m_rowStartIndex[rows()] + 1, m_colStartIndex[rows()] + 1);
574
+ }
575
+ }
576
+
577
+ inline void squeeze() {
578
+ finalize();
579
+ m_data.squeeze();
580
+ }
581
+
582
+ void prune(Scalar reference, RealScalar epsilon = dummy_precision<RealScalar > ()) {
583
+ //TODO
584
+ }
585
+
586
+ /** Resizes the matrix to a \a rows x \a cols matrix and initializes it to zero
587
+ * \sa resizeNonZeros(Index), reserve(), setZero()
588
+ */
589
+ void resize(size_t rows, size_t cols) {
590
+ const Index diagSize = rows > cols ? cols : rows;
591
+ m_innerSize = IsRowMajor ? cols : rows;
592
+
593
+ eigen_assert(rows == cols && "Skyline matrix must be square matrix");
594
+
595
+ if (diagSize % 2) { // diagSize is odd
596
+ const Index k = (diagSize - 1) / 2;
597
+
598
+ m_data.resize(diagSize, IsRowMajor ? cols : rows, IsRowMajor ? rows : cols,
599
+ 2 * k * k + k + 1,
600
+ 2 * k * k + k + 1);
601
+
602
+ } else // diagSize is even
603
+ {
604
+ const Index k = diagSize / 2;
605
+ m_data.resize(diagSize, IsRowMajor ? cols : rows, IsRowMajor ? rows : cols,
606
+ 2 * k * k - k + 1,
607
+ 2 * k * k - k + 1);
608
+ }
609
+
610
+ if (m_colStartIndex && m_rowStartIndex) {
611
+ delete[] m_colStartIndex;
612
+ delete[] m_rowStartIndex;
613
+ }
614
+ m_colStartIndex = new Index [cols + 1];
615
+ m_rowStartIndex = new Index [rows + 1];
616
+ m_outerSize = diagSize;
617
+
618
+ m_data.reset();
619
+ m_data.clear();
620
+
621
+ m_outerSize = diagSize;
622
+ memset(m_colStartIndex, 0, (cols + 1) * sizeof (Index));
623
+ memset(m_rowStartIndex, 0, (rows + 1) * sizeof (Index));
624
+ }
625
+
626
+ void resizeNonZeros(Index size) {
627
+ m_data.resize(size);
628
+ }
629
+
630
+ inline SkylineMatrix()
631
+ : m_outerSize(-1), m_innerSize(0), m_colStartIndex(0), m_rowStartIndex(0) {
632
+ resize(0, 0);
633
+ }
634
+
635
+ inline SkylineMatrix(size_t rows, size_t cols)
636
+ : m_outerSize(0), m_innerSize(0), m_colStartIndex(0), m_rowStartIndex(0) {
637
+ resize(rows, cols);
638
+ }
639
+
640
+ template<typename OtherDerived>
641
+ inline SkylineMatrix(const SkylineMatrixBase<OtherDerived>& other)
642
+ : m_outerSize(0), m_innerSize(0), m_colStartIndex(0), m_rowStartIndex(0) {
643
+ *this = other.derived();
644
+ }
645
+
646
+ inline SkylineMatrix(const SkylineMatrix & other)
647
+ : Base(), m_outerSize(0), m_innerSize(0), m_colStartIndex(0), m_rowStartIndex(0) {
648
+ *this = other.derived();
649
+ }
650
+
651
+ inline void swap(SkylineMatrix & other) {
652
+ //EIGEN_DBG_SKYLINE(std::cout << "SkylineMatrix:: swap\n");
653
+ std::swap(m_colStartIndex, other.m_colStartIndex);
654
+ std::swap(m_rowStartIndex, other.m_rowStartIndex);
655
+ std::swap(m_innerSize, other.m_innerSize);
656
+ std::swap(m_outerSize, other.m_outerSize);
657
+ m_data.swap(other.m_data);
658
+ }
659
+
660
+ inline SkylineMatrix & operator=(const SkylineMatrix & other) {
661
+ std::cout << "SkylineMatrix& operator=(const SkylineMatrix& other)\n";
662
+ if (other.isRValue()) {
663
+ swap(other.const_cast_derived());
664
+ } else {
665
+ resize(other.rows(), other.cols());
666
+ memcpy(m_colStartIndex, other.m_colStartIndex, (m_outerSize + 1) * sizeof (Index));
667
+ memcpy(m_rowStartIndex, other.m_rowStartIndex, (m_outerSize + 1) * sizeof (Index));
668
+ m_data = other.m_data;
669
+ }
670
+ return *this;
671
+ }
672
+
673
+ template<typename OtherDerived>
674
+ inline SkylineMatrix & operator=(const SkylineMatrixBase<OtherDerived>& other) {
675
+ const bool needToTranspose = (Flags & RowMajorBit) != (OtherDerived::Flags & RowMajorBit);
676
+ if (needToTranspose) {
677
+ // TODO
678
+ // return *this;
679
+ } else {
680
+ // there is no special optimization
681
+ return SkylineMatrixBase<SkylineMatrix>::operator=(other.derived());
682
+ }
683
+ }
684
+
685
+ friend std::ostream & operator <<(std::ostream & s, const SkylineMatrix & m) {
686
+
687
+ EIGEN_DBG_SKYLINE(
688
+ std::cout << "upper elements : " << std::endl;
689
+ for (Index i = 0; i < m.m_data.upperSize(); i++)
690
+ std::cout << m.m_data.upper(i) << "\t";
691
+ std::cout << std::endl;
692
+ std::cout << "upper profile : " << std::endl;
693
+ for (Index i = 0; i < m.m_data.upperProfileSize(); i++)
694
+ std::cout << m.m_data.upperProfile(i) << "\t";
695
+ std::cout << std::endl;
696
+ std::cout << "lower startIdx : " << std::endl;
697
+ for (Index i = 0; i < m.m_data.upperProfileSize(); i++)
698
+ std::cout << (IsRowMajor ? m.m_colStartIndex[i] : m.m_rowStartIndex[i]) << "\t";
699
+ std::cout << std::endl;
700
+
701
+
702
+ std::cout << "lower elements : " << std::endl;
703
+ for (Index i = 0; i < m.m_data.lowerSize(); i++)
704
+ std::cout << m.m_data.lower(i) << "\t";
705
+ std::cout << std::endl;
706
+ std::cout << "lower profile : " << std::endl;
707
+ for (Index i = 0; i < m.m_data.lowerProfileSize(); i++)
708
+ std::cout << m.m_data.lowerProfile(i) << "\t";
709
+ std::cout << std::endl;
710
+ std::cout << "lower startIdx : " << std::endl;
711
+ for (Index i = 0; i < m.m_data.lowerProfileSize(); i++)
712
+ std::cout << (IsRowMajor ? m.m_rowStartIndex[i] : m.m_colStartIndex[i]) << "\t";
713
+ std::cout << std::endl;
714
+ );
715
+ for (Index rowIdx = 0; rowIdx < m.rows(); rowIdx++) {
716
+ for (Index colIdx = 0; colIdx < m.cols(); colIdx++) {
717
+ s << m.coeff(rowIdx, colIdx) << "\t";
718
+ }
719
+ s << std::endl;
720
+ }
721
+ return s;
722
+ }
723
+
724
+ /** Destructor */
725
+ inline ~SkylineMatrix() {
726
+ delete[] m_colStartIndex;
727
+ delete[] m_rowStartIndex;
728
+ }
729
+
730
+ /** Overloaded for performance */
731
+ Scalar sum() const;
732
+ };
733
+
734
+ template<typename Scalar, int _Options>
735
+ class SkylineMatrix<Scalar, _Options>::InnerUpperIterator {
736
+ public:
737
+
738
+ InnerUpperIterator(const SkylineMatrix& mat, Index outer)
739
+ : m_matrix(mat), m_outer(outer),
740
+ m_id(_Options == RowMajor ? mat.m_colStartIndex[outer] : mat.m_rowStartIndex[outer] + 1),
741
+ m_start(m_id),
742
+ m_end(_Options == RowMajor ? mat.m_colStartIndex[outer + 1] : mat.m_rowStartIndex[outer + 1] + 1) {
743
+ }
744
+
745
+ inline InnerUpperIterator & operator++() {
746
+ m_id++;
747
+ return *this;
748
+ }
749
+
750
+ inline InnerUpperIterator & operator+=(Index shift) {
751
+ m_id += shift;
752
+ return *this;
753
+ }
754
+
755
+ inline Scalar value() const {
756
+ return m_matrix.m_data.upper(m_id);
757
+ }
758
+
759
+ inline Scalar* valuePtr() {
760
+ return const_cast<Scalar*> (&(m_matrix.m_data.upper(m_id)));
761
+ }
762
+
763
+ inline Scalar& valueRef() {
764
+ return const_cast<Scalar&> (m_matrix.m_data.upper(m_id));
765
+ }
766
+
767
+ inline Index index() const {
768
+ return IsRowMajor ? m_outer - m_matrix.m_data.upperProfile(m_outer) + (m_id - m_start) :
769
+ m_outer + (m_id - m_start) + 1;
770
+ }
771
+
772
+ inline Index row() const {
773
+ return IsRowMajor ? index() : m_outer;
774
+ }
775
+
776
+ inline Index col() const {
777
+ return IsRowMajor ? m_outer : index();
778
+ }
779
+
780
+ inline size_t size() const {
781
+ return m_matrix.m_data.upperProfile(m_outer);
782
+ }
783
+
784
+ inline operator bool() const {
785
+ return (m_id < m_end) && (m_id >= m_start);
786
+ }
787
+
788
+ protected:
789
+ const SkylineMatrix& m_matrix;
790
+ const Index m_outer;
791
+ Index m_id;
792
+ const Index m_start;
793
+ const Index m_end;
794
+ };
795
+
796
+ template<typename Scalar, int _Options>
797
+ class SkylineMatrix<Scalar, _Options>::InnerLowerIterator {
798
+ public:
799
+
800
+ InnerLowerIterator(const SkylineMatrix& mat, Index outer)
801
+ : m_matrix(mat),
802
+ m_outer(outer),
803
+ m_id(_Options == RowMajor ? mat.m_rowStartIndex[outer] : mat.m_colStartIndex[outer] + 1),
804
+ m_start(m_id),
805
+ m_end(_Options == RowMajor ? mat.m_rowStartIndex[outer + 1] : mat.m_colStartIndex[outer + 1] + 1) {
806
+ }
807
+
808
+ inline InnerLowerIterator & operator++() {
809
+ m_id++;
810
+ return *this;
811
+ }
812
+
813
+ inline InnerLowerIterator & operator+=(Index shift) {
814
+ m_id += shift;
815
+ return *this;
816
+ }
817
+
818
+ inline Scalar value() const {
819
+ return m_matrix.m_data.lower(m_id);
820
+ }
821
+
822
+ inline Scalar* valuePtr() {
823
+ return const_cast<Scalar*> (&(m_matrix.m_data.lower(m_id)));
824
+ }
825
+
826
+ inline Scalar& valueRef() {
827
+ return const_cast<Scalar&> (m_matrix.m_data.lower(m_id));
828
+ }
829
+
830
+ inline Index index() const {
831
+ return IsRowMajor ? m_outer - m_matrix.m_data.lowerProfile(m_outer) + (m_id - m_start) :
832
+ m_outer + (m_id - m_start) + 1;
833
+ ;
834
+ }
835
+
836
+ inline Index row() const {
837
+ return IsRowMajor ? m_outer : index();
838
+ }
839
+
840
+ inline Index col() const {
841
+ return IsRowMajor ? index() : m_outer;
842
+ }
843
+
844
+ inline size_t size() const {
845
+ return m_matrix.m_data.lowerProfile(m_outer);
846
+ }
847
+
848
+ inline operator bool() const {
849
+ return (m_id < m_end) && (m_id >= m_start);
850
+ }
851
+
852
+ protected:
853
+ const SkylineMatrix& m_matrix;
854
+ const Index m_outer;
855
+ Index m_id;
856
+ const Index m_start;
857
+ const Index m_end;
858
+ };
859
+
860
+ } // end namespace Eigen
861
+
862
+ #endif // EIGEN_SKYLINEMATRIX_H