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,176 @@
1
+ # ==============================================================================
2
+ # pyvale: the python validation engine
3
+ # License: MIT
4
+ # Copyright (C) 2025 The Computer Aided Validation Team
5
+ # ==============================================================================
6
+
7
+ """
8
+ Creating a scene for 2D DIC
9
+ ---------------------------------------------
10
+
11
+ This example takes you through creating a scene and adding all the necessary
12
+ objects required to represent a 2D DIC setup (camera, lighting and sample).
13
+ This example will then show you how to render a single image of this scene.
14
+
15
+ Test case: mechanical analysis of a plate with a hole loaded in tension.
16
+ """
17
+
18
+ import numpy as np
19
+ from scipy.spatial.transform import Rotation
20
+ from pathlib import Path
21
+
22
+ #pyvale modules
23
+ import pyvale.sensorsim as sens
24
+ import pyvale.dataset as dataset
25
+ import pyvale.blender as blender
26
+ import pyvale.mooseherder as mh
27
+
28
+ # %%
29
+ # Here we load in a pre-generated MOOSE finite element simulation dataset that
30
+ # comes packaged with pyvale. The simulation is purely mechanical test case in
31
+ # 3D of a plate with a hole loaded in tension. A mentioned in previous examples,
32
+ # this path can be replaced with your own MOOSE simulation output in exodus
33
+ # format (*.e). `mooseherder` is then used to convert the simulation output
34
+ # into a `SimData` object.
35
+
36
+ data_path = dataset.render_mechanical_3d_path()
37
+ sim_data = mh.ExodusLoader(data_path).load_all_sim_data()
38
+
39
+ # %%
40
+ # This is then scaled to mm, as all lengths in Blender are to be set in mm.
41
+ # The `SimData` object is then converted into a `RenderMeshData` object, as
42
+ # this skins the mesh ready to be imported into Blender. The `disp_keys` are
43
+ # the expected direction of displacement. Since this is a 3D deformation test
44
+ # case, displacement is expected in the x, y and z directions.
45
+ disp_keys = ("disp_x","disp_y", "disp_z")
46
+ sim_data = sens.scale_length_units(scale=1000.0,
47
+ sim_data=sim_data,
48
+ disp_keys=disp_keys)
49
+
50
+ render_mesh = sens.create_render_mesh(sim_data,
51
+ ("disp_y","disp_x"),
52
+ sim_spat_dim=sens.EDim.THREED,
53
+ field_disp_keys=disp_keys)
54
+
55
+ # %%
56
+ # We create our standard pyvale-output directory here so we can save the our
57
+ # rendered images to this location. All rendered images will be saved to
58
+ # Firstly, a save path must be set.
59
+ # In order to do this a base path must be set. Then all the generated files will
60
+ # be saved to a subfolder within this specified base directory
61
+ # (e.g. blenderimages).
62
+ # If no base directory is specified, it will be set as your home directory.
63
+
64
+ base_dir = Path.cwd() / "pyvale-output"
65
+ if not base_dir.is_dir():
66
+ base_dir.mkdir(parents=True, exist_ok=True)
67
+
68
+ # %%
69
+ # Creating the scene
70
+ # ^^^^^^^^^^^^^^^^^^
71
+ # In order to create a DIC setup in Blender, first a scene must be created.
72
+ # A scene is a holding space for all of your objects (e.g. camera(s), light(s)
73
+ # and sample(s)).
74
+ # A scene is initialised using the `blender.Scene` class. All the subsequent
75
+ # objects and actions necessary are then methods of this class.
76
+
77
+ scene = blender.Scene()
78
+
79
+ # %%
80
+ # The next thing that can be added to the scene is a sample.
81
+ # This is done by passing in the `RenderMeshData` object.
82
+ # It should be noted that the mesh will be centred on the origin to allow for
83
+ # the cameras to be centred on the mesh.
84
+ # Once the part is added to the Blender scene, it can be both moved and rotated.
85
+
86
+ part = scene.add_part(render_mesh, sim_spat_dim=3)
87
+ # Set the part location
88
+ part_location = np.array([0, 0, 0])
89
+ blender.Tools.move_blender_obj(part=part, pos_world=part_location)
90
+ # Set part rotation
91
+ part_rotation = Rotation.from_euler("xyz", [0, 0, 0], degrees=True)
92
+ blender.Tools.rotate_blender_obj(part=part, rot_world=part_rotation)
93
+
94
+ # %%
95
+ # A camera can then be added to the scene.
96
+ # To initialise a camera, the camera parameters must be specified using the
97
+ # `CameraData` dataclass. Note that all lengths / distances inputted are in mm.
98
+ # This camera can then be added to the Blender scene.
99
+ # The camera can also be moved and rotated.
100
+
101
+ cam_data = sens.CameraData(pixels_num=np.array([1540, 1040]),
102
+ pixels_size=np.array([0.00345, 0.00345]),
103
+ pos_world=(0, 0, 400),
104
+ rot_world=Rotation.from_euler("xyz", [0, 0, 0]),
105
+ roi_cent_world=(0, 0, 0),
106
+ focal_length=15.0)
107
+ camera = scene.add_camera(cam_data)
108
+ camera.location = (0, 0, 410)
109
+ camera.rotation_euler = (0, 0, 0) # NOTE: The default is an XYZ Euler angle
110
+
111
+ # %%
112
+ # A light can the be added to the scene.
113
+ # Blender offers different light types: Point, Sun, Spot and Area.
114
+ # The light can also be moved and rotated like the camera.
115
+
116
+ light_data = blender.LightData(type=blender.LightType.POINT,
117
+ pos_world=(0, 0, 400),
118
+ rot_world=Rotation.from_euler("xyz",
119
+ [0, 0, 0]),
120
+ energy=1)
121
+ light = scene.add_light(light_data)
122
+ light.location = (0, 0, 410)
123
+ light.rotation_euler = (0, 0, 0)
124
+
125
+ # %%
126
+ # A speckle pattern can then be applied to the sample.
127
+ # Firstly, the material properties of the sample must be specified, but these
128
+ # will all be defaulted if no inputs are provided.
129
+ #The speckle pattern can then be specified by providing a path to an image file
130
+ # with the pattern.
131
+ # The mm/px resolution of the camera must also be specified in order to
132
+ # correctly scale the speckle pattern.
133
+ # It should be noted that for a bigger camera or sample you may need to generate
134
+ # a larger speckle pattern.
135
+
136
+ material_data = blender.MaterialData()
137
+ speckle_path = dataset.dic_pattern_5mpx_path()
138
+
139
+ mm_px_resolution = sens.CameraTools.calculate_mm_px_resolution(cam_data)
140
+ scene.add_speckle(part=part,
141
+ speckle_path=speckle_path,
142
+ mat_data=material_data,
143
+ mm_px_resolution=mm_px_resolution)
144
+
145
+ # %%
146
+ # Rendering an image
147
+ # ^^^^^^^^^^^^^^^^^^
148
+ # Once all the objects have been added to the scene, an image can be rendered.
149
+ # Firstly, all the rendering parameters must be set, including parameters such as
150
+ # the number of threads to use.
151
+
152
+ render_data = blender.RenderData(cam_data=cam_data,
153
+ base_dir=base_dir,
154
+ dir_name="blender-scene",
155
+ threads=8)
156
+
157
+ # %%
158
+ # A single image of the scene can then be rendered.
159
+ # If `stage_image` is set to True, the image will be saved to disk, converted to
160
+ # an array, deleted and the image array will be returned. This is due to the
161
+ # fact that an image cannot be saved directly as an array through Blender.
162
+
163
+ scene.render_single_image(stage_image=False,
164
+ render_data=render_data)
165
+
166
+ # %%
167
+ # The rendered image will be saved to this filepath:
168
+
169
+ print("Save directory of the image:", (render_data.base_dir / render_data.dir_name))
170
+
171
+ # %%
172
+ # There is also the option to save the scene as a Blender project file.
173
+ # This file can be opened with the Blender GUI to view the scene.
174
+
175
+ blender.Tools.save_blender_file(base_dir=base_dir,over_write=True)
176
+
@@ -0,0 +1,177 @@
1
+ # ==============================================================================
2
+ # pyvale: the python validation engine
3
+ # License: MIT
4
+ # Copyright (C) 2025 The Computer Aided Validation Team
5
+ # ==============================================================================
6
+
7
+ """
8
+ Deforming a sample for 2D DIC
9
+ ===============================================
10
+
11
+ This example follows a similar workflow to the previous Blender example.
12
+ In this example, a deformation is applied to sample, and images are rendered at
13
+ each timestep.
14
+
15
+ Test case: mechanical analysis of a plate with a hole loaded in tension.
16
+ """
17
+
18
+ import numpy as np
19
+ from scipy.spatial.transform import Rotation
20
+ from pathlib import Path
21
+
22
+ # pyvale imports
23
+ import pyvale.sensorsim as sens
24
+ import pyvale.dataset as dataset
25
+ import pyvale.blender as blender
26
+ import pyvale.mooseherder as mh
27
+
28
+ # %%
29
+ # The simulation results are loaded in here in the same way as the previous
30
+ # example. As mentioned this `data_path` can be replaced with your own MOOSE
31
+ # simulation output in exodus format (*.e).
32
+
33
+ data_path = dataset.render_mechanical_3d_path()
34
+ sim_data = mh.ExodusLoader(data_path).load_all_sim_data()
35
+
36
+ # %%
37
+ # This is then scaled to mm, as all lengths in Blender are to be set in mm.
38
+ # The `SimData` object is then converted into a `RenderMeshData` object, as
39
+ # this skins the mesh ready to be imported into Blender.
40
+ # The `disp_comps` are the expected direction of displacement. Since this is a
41
+ # 3D deformation test case, displacement is expected in the x, y and z directions.
42
+
43
+ disp_comps = ("disp_x","disp_y", "disp_z")
44
+ sim_data = sens.scale_length_units(scale=1000.0,
45
+ sim_data=sim_data,
46
+ disp_keys=disp_comps)
47
+
48
+ render_mesh = sens.create_render_mesh(sim_data,
49
+ ("disp_y","disp_x"),
50
+ sim_spat_dim=sens.EDim.THREED,
51
+ field_disp_keys=disp_comps)
52
+
53
+ # %%
54
+ # Firstly, a save path must be set.
55
+ # In order to do this a base path must be set. Then all the generated files will
56
+ # be saved to a subfolder within this specified base directory
57
+ # (e.g. blenderimages).
58
+ # If no base directory is specified, it will be set as your home directory.
59
+
60
+ base_dir = Path.cwd() / "pyvale-output"
61
+ if not base_dir.is_dir():
62
+ base_dir.mkdir(parents=True, exist_ok=True)
63
+
64
+ # %%
65
+ # Creating the scene
66
+ # ^^^^^^^^^^^^^^^^^^
67
+ # In order to create a DIC setup in Blender, first a scene must be created.
68
+ # A scene is initialised using the `BlenderScene` class. All the subsequent
69
+ # objects and actions necessary are then methods of this class.
70
+
71
+ scene = blender.Scene()
72
+
73
+ # %%
74
+ # The next thing that can be added to the scene is a sample.
75
+ # This is done by passing in the `RenderMeshData` object.
76
+ # It should be noted that the mesh will be centred on the origin to allow for
77
+ # the cameras to be centred on the mesh.
78
+ # Once the part is added to the Blender scene, it can be both moved and rotated.
79
+
80
+
81
+ part = scene.add_part(render_mesh, sim_spat_dim=3)
82
+ # Set the part location
83
+ part_location = np.array([0, 0, 0])
84
+ blender.Tools.move_blender_obj(part=part, pos_world=part_location)
85
+ part_rotation = Rotation.from_euler("xyz", [0, 0, 0], degrees=True)
86
+ blender.Tools.rotate_blender_obj(part=part, rot_world=part_rotation)
87
+
88
+ # %%
89
+ # A camera can then be added to the scene.
90
+ # To initialise a camera, the camera parameters must be specified using the
91
+ # `CameraData` dataclass. Note that all lengths / distances inputted are in mm.
92
+ # This camera can then be added to the Blender scene.
93
+ # The camera can also be moved and rotated.
94
+
95
+ cam_data = sens.CameraData(pixels_num=np.array([1540, 1040]),
96
+ pixels_size=np.array([0.00345, 0.00345]),
97
+ pos_world=(0, 0, 400),
98
+ rot_world=Rotation.from_euler("xyz", [0, 0, 0]),
99
+ roi_cent_world=(0, 0, 0),
100
+ focal_length=15.0)
101
+ camera = scene.add_camera(cam_data)
102
+ camera.location = (0, 0, 410)
103
+ camera.rotation_euler = (0, 0, 0) # NOTE: The default is an XYZ Euler angle
104
+
105
+ # %%
106
+ # A light can the be added to the scene.
107
+ # Blender offers different light types: Point, Sun, Spot and Area.
108
+ # The light can also be moved and rotated like the camera.
109
+
110
+ light_data = blender.LightData(type=blender.LightType.POINT,
111
+ pos_world=(0, 0, 400),
112
+ rot_world=Rotation.from_euler("xyz",
113
+ [0, 0, 0]),
114
+ energy=1)
115
+ light = scene.add_light(light_data)
116
+ light.location = (0, 0, 410)
117
+ light.rotation_euler = (0, 0, 0)
118
+
119
+ # %%
120
+ # A speckle pattern can then be applied to the sample.
121
+ # Firstly, the material properties of the sample must be specified, but these
122
+ # will all be defaulted if no inputs are provided.
123
+ #The speckle pattern can then be specified by providing a path to an image file
124
+ # with the pattern.
125
+ # The mm/px resolution of the camera must also be specified in order to
126
+ # correctly scale the speckle pattern.
127
+ # It should be noted that for a bigger camera or sample you may need to generate
128
+ # a larger speckle pattern.
129
+
130
+ material_data = blender.MaterialData()
131
+ speckle_path = dataset.dic_pattern_5mpx_path()
132
+ mm_px_resolution = sens.CameraTools.calculate_mm_px_resolution(cam_data)
133
+ scene.add_speckle(part=part,
134
+ speckle_path=speckle_path,
135
+ mat_data=material_data,
136
+ mm_px_resolution=mm_px_resolution)
137
+
138
+ # %%
139
+ # Deforming the sample and rendering images
140
+ # ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
141
+ # Once all the objects have been added to the scene, the sample can be deformed,
142
+ # and images can be rendered.
143
+ # Firstly, all the rendering parameters must be set, including parameters such as
144
+ # the number of threads to use.
145
+
146
+ render_data = blender.RenderData(cam_data=cam_data,
147
+ base_dir=base_dir,
148
+ dir_name="blender-def",
149
+ threads=8)
150
+
151
+ # %%
152
+ # A series of deformed images can then be rendered.
153
+ # This is done by passing in rendering parameters, as well as the
154
+ # `RenderMeshData` object, the part(sample) and the spatial dimension of the
155
+ # simulation.
156
+ # This will automatically deform the sample, and render subsequent images at
157
+ # each deformation timestep.
158
+ # If `stage_image` is set to True, the image will be saved to disk, converted to
159
+ # an array, deleted and the image array will be returned. This is due to the
160
+ # fact that an image cannot be saved directly as an array through Blender.
161
+
162
+ scene.render_deformed_images(render_mesh,
163
+ sim_spat_dim=3,
164
+ render_data=render_data,
165
+ part=part,
166
+ stage_image=False)
167
+
168
+ # %%
169
+ # The rendered image will be saved to this filepath:
170
+
171
+ print("Save directory of the image:", (render_data.base_dir / render_data.dir_name))
172
+
173
+ # %%
174
+ # There is also the option to save the scene as a Blender project file.
175
+ # This file can be opened with the Blender GUI to view the scene.
176
+
177
+ blender.Tools.save_blender_file(base_dir=base_dir,over_write=True)
@@ -0,0 +1,205 @@
1
+ # ==============================================================================
2
+ # pyvale: the python validation engine
3
+ # License: MIT
4
+ # Copyright (C) 2025 The Computer Aided Validation Team
5
+ # ==============================================================================
6
+
7
+ """
8
+ Creating a scene for stereo DIC
9
+ -------------------------------------------------
10
+
11
+ This example takes you through creating a scene and adding all the necessary
12
+ objects required to represent a stereo DIC setup (two cameras, lighting and
13
+ sample). This example will then show you how to render a static image of this
14
+ scene.
15
+
16
+ Test case: mechanical analysis of a plate with a hole loaded in tension.
17
+ """
18
+ import numpy as np
19
+ from scipy.spatial.transform import Rotation
20
+ from pathlib import Path
21
+
22
+ # pyvale imports
23
+ import pyvale.sensorsim as sens
24
+ import pyvale.dataset as dataset
25
+ import pyvale.blender as blender
26
+ import pyvale.mooseherder as mh
27
+
28
+ # %%
29
+ # The simulation results are loaded in here in the same way as the previous
30
+ # example. As mentioned this `data_path` can be replaced with your own MOOSE
31
+ # simulation output in exodus format (*.e).
32
+
33
+ data_path = dataset.render_mechanical_3d_path()
34
+ sim_data = mh.ExodusLoader(data_path).load_all_sim_data()
35
+
36
+ # %%
37
+ # This is then scaled to mm, as all lengths in Blender are to be set in mm.
38
+ # The `SimData` object is then converted into a `RenderMeshData` object, as
39
+ # this skins the mesh ready to be imported into Blender.
40
+ # The `disp_comps` are the expected direction of displacement. Since this is a
41
+ # 3D deformation test case, displacement is expected in the x, y and z directions.
42
+
43
+ disp_comps = ("disp_x","disp_y", "disp_z")
44
+ sim_data = sens.scale_length_units(scale=1000.0,
45
+ sim_data=sim_data,
46
+ disp_keys=disp_comps)
47
+
48
+ render_mesh = sens.create_render_mesh(sim_data,
49
+ ("disp_y","disp_x"),
50
+ sim_spat_dim=sens.EDim.THREED,
51
+ field_disp_keys=disp_comps)
52
+
53
+ # %%
54
+ # Firstly, a save path must be set.
55
+ # In order to do this a base path must be set. Then all the generated files will
56
+ # be saved to a subfolder within this specified base directory
57
+ # (e.g. blenderimages).
58
+ # If no base directory is specified, it will be set as your home directory.
59
+
60
+ base_dir = Path.cwd() / "pyvale-output"
61
+ if not base_dir.is_dir():
62
+ base_dir.mkdir(parents=True, exist_ok=True)
63
+
64
+ # %%
65
+ # Creating the scene
66
+ # ^^^^^^^^^^^^^^^^^^
67
+ # In order to create a DIC setup in Blender, first a scene must be created.
68
+ # A scene is initialised using the `blender.Scene` class. All the subsequent
69
+ # objects and actions necessary are then methods of this class.
70
+ scene = blender.Scene()
71
+
72
+ # %%
73
+ # The next thing that can be added to the scene is a sample.
74
+ # This is done by passing in the `RenderMeshData` object.
75
+ # It should be noted that the mesh will be centred on the origin to allow for
76
+ # the cameras to be centred on the mesh.
77
+ # Once the part is added to the Blender scene, it can be both moved and rotated.
78
+
79
+ part = scene.add_part(render_mesh, sim_spat_dim=3)
80
+ # Set the part location
81
+ part_location = np.array([0, 0, 0])
82
+ blender.Tools.move_blender_obj(part=part, pos_world=part_location)
83
+ # Set part rotation
84
+ part_rotation = Rotation.from_euler("xyz", [0, 0, 0], degrees=True)
85
+ blender.Tools.rotate_blender_obj(part=part, rot_world=part_rotation)
86
+
87
+ # %%
88
+ # The cameras can then be initialised. A stereo camera system is defined by a
89
+ # `CameraStereo` object, which contains the intrinsic parameters of both cameras
90
+ # as well as the extrinsic parameters between them.
91
+ # There are two ways to initialise a `CameraStereo` object.
92
+ # One way is to specify the camera parameters separately for each camera, create
93
+ # a `CameraStereo` object, and then add the stereo system using the
94
+ # `add_stereo_system` method.
95
+ # The other method is to use a convenience function, as shown below.
96
+ # This requires you to first initialise one camera. Then you can choose between
97
+ # either a face-on or symmetric stereo system. Then, either of the
98
+ # `symmetric_stereo_cameras` or `faceon_stereo_cameras` functions can be used to
99
+ # initialise a `CameraStereo` object. The only input required to these functions
100
+ # are the camera parameters for the first camera, and the desired stereo angle
101
+ # between the two. The cameras can then be added to the Blender scene using the
102
+ # `add_stereo_system` method.
103
+
104
+ cam_data_0 = sens.CameraData(pixels_num=np.array([1540, 1040]),
105
+ pixels_size=np.array([0.00345, 0.00345]),
106
+ pos_world=np.array([0, 0, 400]),
107
+ rot_world=Rotation.from_euler("xyz", [0, 0, 0]),
108
+ roi_cent_world=(0, 0, 0),
109
+ focal_length=15.0)
110
+ # Set this to "symmetric" to get a symmetric stereo system or set this to
111
+ # "faceon" to get a face-on stereo system
112
+ stereo_setup = "faceon"
113
+ if stereo_setup == "symmetric":
114
+ stereo_system = sens.CameraTools.symmetric_stereo_cameras(
115
+ cam_data_0=cam_data_0,
116
+ stereo_angle=15.0)
117
+ elif stereo_setup == "faceon":
118
+ stereo_system = sens.CameraTools.faceon_stereo_cameras(
119
+ cam_data_0=cam_data_0,
120
+ stereo_angle=15.0)
121
+ else:
122
+ raise ValueError(f"Unknown stereo_setup: {stereo_setup}")
123
+
124
+ cam0, cam1 = scene.add_stereo_system(stereo_system)
125
+
126
+ # %%
127
+ # Since this scene contains a stereo DIC system, a calibration file will be
128
+ # required to run the images through a DIC engine.
129
+ # A calibration file can be generated directly from the `CameraStereo` object.
130
+ # The calibration file will be saved in `YAML` format. However, if you wish to
131
+ # use MatchID to process the images, `save_calibration_mid` can be used instead
132
+ # to save the calibration in a format readable by MatchID.
133
+ # The calibration file will be saved to a sub-directory of the base directory
134
+ # called "calibration".
135
+ stereo_system.save_calibration(base_dir)
136
+
137
+ # %%
138
+ # A light can the be added to the scene.
139
+ # Blender offers different light types: Point, Sun, Spot and Area.
140
+ # The light can also be moved and rotated like the camera.
141
+
142
+ light_data = blender.LightData(type=blender.LightType.POINT,
143
+ pos_world=(0, 0, 400),
144
+ rot_world=Rotation.from_euler("xyz",
145
+ [0, 0, 0]),
146
+ energy=1)
147
+ light = scene.add_light(light_data)
148
+ light.location = (0, 0, 410)
149
+ light.rotation_euler = (0, 0, 0) # NOTE: The default is an XYZ Euler angle
150
+
151
+ # %%
152
+ # A speckle pattern can then be applied to the sample.
153
+ # Firstly, the material properties of the sample must be specified, but these
154
+ # will all be defaulted if no inputs are provided.
155
+ #The speckle pattern can then be specified by providing a path to an image file
156
+ # with the pattern.
157
+ # The mm/px resolution of the camera must also be specified in order to
158
+ # correctly scale the speckle pattern.
159
+ # It should be noted that for a bigger camera or sample you may need to generate
160
+ # a larger speckle pattern.
161
+
162
+ material_data = blender.MaterialData()
163
+ speckle_path = dataset.dic_pattern_5mpx_path()
164
+
165
+ mm_px_resolution = sens.CameraTools.calculate_mm_px_resolution(cam_data_0)
166
+ scene.add_speckle(part=part,
167
+ speckle_path=speckle_path,
168
+ mat_data=material_data,
169
+ mm_px_resolution=mm_px_resolution)
170
+
171
+ # %%
172
+ # Rendering a set of images
173
+ # ^^^^^^^^^^^^^^^^^^^^^^^^^
174
+ # Once all the objects have been added to the scene, a set of images can be
175
+ # rendered.Firstly, all the rendering parameters must be set, including
176
+ # parameters such as the number of threads to use.
177
+ # Differently to a 2D DIC system, both cameras' parameters must be specified in
178
+ # the `RenderData` object.
179
+
180
+ render_data = blender.RenderData(cam_data=(stereo_system.cam_data_0,
181
+ stereo_system.cam_data_1),
182
+ base_dir=base_dir,
183
+ dir_name="blender-stereo-scene",
184
+ threads=8)
185
+
186
+ # %%
187
+ # A single set of images of the scene can then be rendered.
188
+ # This will render a single image from each of the cameras.
189
+ # If `stage_image` is set to True, the image will be saved to disk, converted to
190
+ # an array, deleted and the image array will be returned. This is due to the
191
+ # fact that an image cannot be saved directly as an array through Blender.
192
+
193
+ scene.render_single_image(stage_image=False,
194
+ render_data=render_data)
195
+
196
+ # %%
197
+ # The rendered images will be saved to this filepath:
198
+
199
+ print("Save directory of the image:", (render_data.base_dir / render_data.dir_name))
200
+
201
+ # %%
202
+ # There is also the option to save the scene as a Blender project file.
203
+ # This file can be opened with the Blender GUI to view the scene.
204
+
205
+ blender.Tools.save_blender_file(base_dir=base_dir,over_write=True)