forgeo-gmlib 0.6.2__cp39-cp39-musllinux_1_2_x86_64.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 (554) hide show
  1. forgeo/gmlib/GeologicalModel3D.py +758 -0
  2. forgeo/gmlib/__init__.py +9 -0
  3. forgeo/gmlib/_version.py +34 -0
  4. forgeo/gmlib/architecture/__init__.py +1 -0
  5. forgeo/gmlib/architecture/core.py +130 -0
  6. forgeo/gmlib/common.cpython-39-x86_64-linux-gnu.so +0 -0
  7. forgeo/gmlib/fault_network.py +171 -0
  8. forgeo/gmlib/geomodeller_data.py +101 -0
  9. forgeo/gmlib/geomodeller_project.py +396 -0
  10. forgeo/gmlib/myxmltools.py +30 -0
  11. forgeo/gmlib/pypotential2D.cpython-39-x86_64-linux-gnu.so +0 -0
  12. forgeo/gmlib/pypotential3D.cpython-39-x86_64-linux-gnu.so +0 -0
  13. forgeo/gmlib/tesselate.py +236 -0
  14. forgeo/gmlib/tesselate_deprecated.py +249 -0
  15. forgeo/gmlib/topography_reader.py +198 -0
  16. forgeo/gmlib/utils/__init__.py +0 -0
  17. forgeo/gmlib/utils/append_data.py +508 -0
  18. forgeo/gmlib/utils/export.py +45 -0
  19. forgeo/gmlib/utils/normalized_gradient.py +40 -0
  20. forgeo/gmlib/utils/tools.py +35 -0
  21. forgeo_gmlib-0.6.2.dist-info/METADATA +23 -0
  22. forgeo_gmlib-0.6.2.dist-info/RECORD +554 -0
  23. forgeo_gmlib-0.6.2.dist-info/WHEEL +5 -0
  24. forgeo_gmlib-0.6.2.dist-info/licenses/LICENSE +661 -0
  25. include/eigen3/Eigen/Cholesky +45 -0
  26. include/eigen3/Eigen/CholmodSupport +48 -0
  27. include/eigen3/Eigen/Core +385 -0
  28. include/eigen3/Eigen/Dense +7 -0
  29. include/eigen3/Eigen/Eigen +2 -0
  30. include/eigen3/Eigen/Eigenvalues +60 -0
  31. include/eigen3/Eigen/Geometry +59 -0
  32. include/eigen3/Eigen/Householder +29 -0
  33. include/eigen3/Eigen/IterativeLinearSolvers +48 -0
  34. include/eigen3/Eigen/Jacobi +32 -0
  35. include/eigen3/Eigen/KLUSupport +41 -0
  36. include/eigen3/Eigen/LU +47 -0
  37. include/eigen3/Eigen/MetisSupport +35 -0
  38. include/eigen3/Eigen/OrderingMethods +70 -0
  39. include/eigen3/Eigen/PaStiXSupport +49 -0
  40. include/eigen3/Eigen/PardisoSupport +35 -0
  41. include/eigen3/Eigen/QR +50 -0
  42. include/eigen3/Eigen/QtAlignedMalloc +39 -0
  43. include/eigen3/Eigen/SPQRSupport +34 -0
  44. include/eigen3/Eigen/SVD +50 -0
  45. include/eigen3/Eigen/Sparse +34 -0
  46. include/eigen3/Eigen/SparseCholesky +37 -0
  47. include/eigen3/Eigen/SparseCore +69 -0
  48. include/eigen3/Eigen/SparseLU +48 -0
  49. include/eigen3/Eigen/SparseQR +36 -0
  50. include/eigen3/Eigen/StdDeque +27 -0
  51. include/eigen3/Eigen/StdList +26 -0
  52. include/eigen3/Eigen/StdVector +27 -0
  53. include/eigen3/Eigen/SuperLUSupport +64 -0
  54. include/eigen3/Eigen/UmfPackSupport +40 -0
  55. include/eigen3/Eigen/src/Cholesky/LDLT.h +688 -0
  56. include/eigen3/Eigen/src/Cholesky/LLT.h +558 -0
  57. include/eigen3/Eigen/src/Cholesky/LLT_LAPACKE.h +99 -0
  58. include/eigen3/Eigen/src/CholmodSupport/CholmodSupport.h +682 -0
  59. include/eigen3/Eigen/src/Core/ArithmeticSequence.h +406 -0
  60. include/eigen3/Eigen/src/Core/Array.h +425 -0
  61. include/eigen3/Eigen/src/Core/ArrayBase.h +226 -0
  62. include/eigen3/Eigen/src/Core/ArrayWrapper.h +209 -0
  63. include/eigen3/Eigen/src/Core/Assign.h +90 -0
  64. include/eigen3/Eigen/src/Core/AssignEvaluator.h +1010 -0
  65. include/eigen3/Eigen/src/Core/Assign_MKL.h +178 -0
  66. include/eigen3/Eigen/src/Core/BandMatrix.h +353 -0
  67. include/eigen3/Eigen/src/Core/Block.h +463 -0
  68. include/eigen3/Eigen/src/Core/BooleanRedux.h +164 -0
  69. include/eigen3/Eigen/src/Core/CommaInitializer.h +164 -0
  70. include/eigen3/Eigen/src/Core/ConditionEstimator.h +175 -0
  71. include/eigen3/Eigen/src/Core/CoreEvaluators.h +1741 -0
  72. include/eigen3/Eigen/src/Core/CoreIterators.h +132 -0
  73. include/eigen3/Eigen/src/Core/CwiseBinaryOp.h +183 -0
  74. include/eigen3/Eigen/src/Core/CwiseNullaryOp.h +1001 -0
  75. include/eigen3/Eigen/src/Core/CwiseTernaryOp.h +197 -0
  76. include/eigen3/Eigen/src/Core/CwiseUnaryOp.h +103 -0
  77. include/eigen3/Eigen/src/Core/CwiseUnaryView.h +132 -0
  78. include/eigen3/Eigen/src/Core/DenseBase.h +701 -0
  79. include/eigen3/Eigen/src/Core/DenseCoeffsBase.h +685 -0
  80. include/eigen3/Eigen/src/Core/DenseStorage.h +652 -0
  81. include/eigen3/Eigen/src/Core/Diagonal.h +259 -0
  82. include/eigen3/Eigen/src/Core/DiagonalMatrix.h +391 -0
  83. include/eigen3/Eigen/src/Core/DiagonalProduct.h +28 -0
  84. include/eigen3/Eigen/src/Core/Dot.h +313 -0
  85. include/eigen3/Eigen/src/Core/EigenBase.h +160 -0
  86. include/eigen3/Eigen/src/Core/ForceAlignedAccess.h +150 -0
  87. include/eigen3/Eigen/src/Core/Fuzzy.h +155 -0
  88. include/eigen3/Eigen/src/Core/GeneralProduct.h +465 -0
  89. include/eigen3/Eigen/src/Core/GenericPacketMath.h +1040 -0
  90. include/eigen3/Eigen/src/Core/GlobalFunctions.h +194 -0
  91. include/eigen3/Eigen/src/Core/IO.h +258 -0
  92. include/eigen3/Eigen/src/Core/IndexedView.h +247 -0
  93. include/eigen3/Eigen/src/Core/Inverse.h +117 -0
  94. include/eigen3/Eigen/src/Core/Map.h +171 -0
  95. include/eigen3/Eigen/src/Core/MapBase.h +310 -0
  96. include/eigen3/Eigen/src/Core/MathFunctions.h +2212 -0
  97. include/eigen3/Eigen/src/Core/MathFunctionsImpl.h +200 -0
  98. include/eigen3/Eigen/src/Core/Matrix.h +578 -0
  99. include/eigen3/Eigen/src/Core/MatrixBase.h +541 -0
  100. include/eigen3/Eigen/src/Core/NestByValue.h +85 -0
  101. include/eigen3/Eigen/src/Core/NoAlias.h +109 -0
  102. include/eigen3/Eigen/src/Core/NumTraits.h +351 -0
  103. include/eigen3/Eigen/src/Core/PartialReduxEvaluator.h +237 -0
  104. include/eigen3/Eigen/src/Core/PermutationMatrix.h +605 -0
  105. include/eigen3/Eigen/src/Core/PlainObjectBase.h +1128 -0
  106. include/eigen3/Eigen/src/Core/Product.h +191 -0
  107. include/eigen3/Eigen/src/Core/ProductEvaluators.h +1179 -0
  108. include/eigen3/Eigen/src/Core/Random.h +218 -0
  109. include/eigen3/Eigen/src/Core/Redux.h +515 -0
  110. include/eigen3/Eigen/src/Core/Ref.h +381 -0
  111. include/eigen3/Eigen/src/Core/Replicate.h +142 -0
  112. include/eigen3/Eigen/src/Core/Reshaped.h +454 -0
  113. include/eigen3/Eigen/src/Core/ReturnByValue.h +119 -0
  114. include/eigen3/Eigen/src/Core/Reverse.h +217 -0
  115. include/eigen3/Eigen/src/Core/Select.h +164 -0
  116. include/eigen3/Eigen/src/Core/SelfAdjointView.h +365 -0
  117. include/eigen3/Eigen/src/Core/SelfCwiseBinaryOp.h +47 -0
  118. include/eigen3/Eigen/src/Core/Solve.h +188 -0
  119. include/eigen3/Eigen/src/Core/SolveTriangular.h +235 -0
  120. include/eigen3/Eigen/src/Core/SolverBase.h +168 -0
  121. include/eigen3/Eigen/src/Core/StableNorm.h +251 -0
  122. include/eigen3/Eigen/src/Core/StlIterators.h +463 -0
  123. include/eigen3/Eigen/src/Core/Stride.h +120 -0
  124. include/eigen3/Eigen/src/Core/Swap.h +68 -0
  125. include/eigen3/Eigen/src/Core/Transpose.h +464 -0
  126. include/eigen3/Eigen/src/Core/Transpositions.h +386 -0
  127. include/eigen3/Eigen/src/Core/TriangularMatrix.h +994 -0
  128. include/eigen3/Eigen/src/Core/VectorBlock.h +96 -0
  129. include/eigen3/Eigen/src/Core/VectorwiseOp.h +784 -0
  130. include/eigen3/Eigen/src/Core/Visitor.h +381 -0
  131. include/eigen3/Eigen/src/Core/arch/AVX/Complex.h +368 -0
  132. include/eigen3/Eigen/src/Core/arch/AVX/MathFunctions.h +228 -0
  133. include/eigen3/Eigen/src/Core/arch/AVX/PacketMath.h +1588 -0
  134. include/eigen3/Eigen/src/Core/arch/AVX/TypeCasting.h +115 -0
  135. include/eigen3/Eigen/src/Core/arch/AVX512/Complex.h +384 -0
  136. include/eigen3/Eigen/src/Core/arch/AVX512/MathFunctions.h +361 -0
  137. include/eigen3/Eigen/src/Core/arch/AVX512/PacketMath.h +2270 -0
  138. include/eigen3/Eigen/src/Core/arch/AVX512/TypeCasting.h +89 -0
  139. include/eigen3/Eigen/src/Core/arch/AltiVec/Complex.h +415 -0
  140. include/eigen3/Eigen/src/Core/arch/AltiVec/MathFunctions.h +119 -0
  141. include/eigen3/Eigen/src/Core/arch/AltiVec/MatrixProduct.h +2776 -0
  142. include/eigen3/Eigen/src/Core/arch/AltiVec/MatrixProductCommon.h +159 -0
  143. include/eigen3/Eigen/src/Core/arch/AltiVec/MatrixProductMMA.h +627 -0
  144. include/eigen3/Eigen/src/Core/arch/AltiVec/MatrixVectorProduct.h +2400 -0
  145. include/eigen3/Eigen/src/Core/arch/AltiVec/PacketMath.h +2743 -0
  146. include/eigen3/Eigen/src/Core/arch/CUDA/Complex.h +269 -0
  147. include/eigen3/Eigen/src/Core/arch/Default/BFloat16.h +688 -0
  148. include/eigen3/Eigen/src/Core/arch/Default/ConjHelper.h +117 -0
  149. include/eigen3/Eigen/src/Core/arch/Default/GenericPacketMathFunctions.h +1662 -0
  150. include/eigen3/Eigen/src/Core/arch/Default/GenericPacketMathFunctionsFwd.h +116 -0
  151. include/eigen3/Eigen/src/Core/arch/Default/Half.h +950 -0
  152. include/eigen3/Eigen/src/Core/arch/Default/Settings.h +49 -0
  153. include/eigen3/Eigen/src/Core/arch/Default/TypeCasting.h +120 -0
  154. include/eigen3/Eigen/src/Core/arch/GPU/MathFunctions.h +103 -0
  155. include/eigen3/Eigen/src/Core/arch/GPU/PacketMath.h +1646 -0
  156. include/eigen3/Eigen/src/Core/arch/GPU/TypeCasting.h +79 -0
  157. include/eigen3/Eigen/src/Core/arch/HIP/hcc/math_constants.h +23 -0
  158. include/eigen3/Eigen/src/Core/arch/MSA/Complex.h +645 -0
  159. include/eigen3/Eigen/src/Core/arch/MSA/MathFunctions.h +387 -0
  160. include/eigen3/Eigen/src/Core/arch/MSA/PacketMath.h +1233 -0
  161. include/eigen3/Eigen/src/Core/arch/NEON/Complex.h +560 -0
  162. include/eigen3/Eigen/src/Core/arch/NEON/GeneralBlockPanelKernel.h +183 -0
  163. include/eigen3/Eigen/src/Core/arch/NEON/MathFunctions.h +75 -0
  164. include/eigen3/Eigen/src/Core/arch/NEON/PacketMath.h +4653 -0
  165. include/eigen3/Eigen/src/Core/arch/NEON/TypeCasting.h +1424 -0
  166. include/eigen3/Eigen/src/Core/arch/SSE/Complex.h +338 -0
  167. include/eigen3/Eigen/src/Core/arch/SSE/MathFunctions.h +199 -0
  168. include/eigen3/Eigen/src/Core/arch/SSE/PacketMath.h +1505 -0
  169. include/eigen3/Eigen/src/Core/arch/SSE/TypeCasting.h +142 -0
  170. include/eigen3/Eigen/src/Core/arch/SVE/MathFunctions.h +44 -0
  171. include/eigen3/Eigen/src/Core/arch/SVE/PacketMath.h +752 -0
  172. include/eigen3/Eigen/src/Core/arch/SVE/TypeCasting.h +49 -0
  173. include/eigen3/Eigen/src/Core/arch/SYCL/InteropHeaders.h +232 -0
  174. include/eigen3/Eigen/src/Core/arch/SYCL/MathFunctions.h +301 -0
  175. include/eigen3/Eigen/src/Core/arch/SYCL/PacketMath.h +670 -0
  176. include/eigen3/Eigen/src/Core/arch/SYCL/SyclMemoryModel.h +694 -0
  177. include/eigen3/Eigen/src/Core/arch/SYCL/TypeCasting.h +85 -0
  178. include/eigen3/Eigen/src/Core/arch/ZVector/Complex.h +428 -0
  179. include/eigen3/Eigen/src/Core/arch/ZVector/MathFunctions.h +233 -0
  180. include/eigen3/Eigen/src/Core/arch/ZVector/PacketMath.h +1060 -0
  181. include/eigen3/Eigen/src/Core/functors/AssignmentFunctors.h +177 -0
  182. include/eigen3/Eigen/src/Core/functors/BinaryFunctors.h +541 -0
  183. include/eigen3/Eigen/src/Core/functors/NullaryFunctors.h +189 -0
  184. include/eigen3/Eigen/src/Core/functors/StlFunctors.h +166 -0
  185. include/eigen3/Eigen/src/Core/functors/TernaryFunctors.h +25 -0
  186. include/eigen3/Eigen/src/Core/functors/UnaryFunctors.h +1131 -0
  187. include/eigen3/Eigen/src/Core/products/GeneralBlockPanelKernel.h +2645 -0
  188. include/eigen3/Eigen/src/Core/products/GeneralMatrixMatrix.h +517 -0
  189. include/eigen3/Eigen/src/Core/products/GeneralMatrixMatrixTriangular.h +322 -0
  190. include/eigen3/Eigen/src/Core/products/GeneralMatrixMatrixTriangular_BLAS.h +145 -0
  191. include/eigen3/Eigen/src/Core/products/GeneralMatrixMatrix_BLAS.h +124 -0
  192. include/eigen3/Eigen/src/Core/products/GeneralMatrixVector.h +523 -0
  193. include/eigen3/Eigen/src/Core/products/GeneralMatrixVector_BLAS.h +136 -0
  194. include/eigen3/Eigen/src/Core/products/Parallelizer.h +180 -0
  195. include/eigen3/Eigen/src/Core/products/SelfadjointMatrixMatrix.h +544 -0
  196. include/eigen3/Eigen/src/Core/products/SelfadjointMatrixMatrix_BLAS.h +295 -0
  197. include/eigen3/Eigen/src/Core/products/SelfadjointMatrixVector.h +262 -0
  198. include/eigen3/Eigen/src/Core/products/SelfadjointMatrixVector_BLAS.h +118 -0
  199. include/eigen3/Eigen/src/Core/products/SelfadjointProduct.h +133 -0
  200. include/eigen3/Eigen/src/Core/products/SelfadjointRank2Update.h +94 -0
  201. include/eigen3/Eigen/src/Core/products/TriangularMatrixMatrix.h +472 -0
  202. include/eigen3/Eigen/src/Core/products/TriangularMatrixMatrix_BLAS.h +317 -0
  203. include/eigen3/Eigen/src/Core/products/TriangularMatrixVector.h +350 -0
  204. include/eigen3/Eigen/src/Core/products/TriangularMatrixVector_BLAS.h +255 -0
  205. include/eigen3/Eigen/src/Core/products/TriangularSolverMatrix.h +337 -0
  206. include/eigen3/Eigen/src/Core/products/TriangularSolverMatrix_BLAS.h +167 -0
  207. include/eigen3/Eigen/src/Core/products/TriangularSolverVector.h +148 -0
  208. include/eigen3/Eigen/src/Core/util/BlasUtil.h +583 -0
  209. include/eigen3/Eigen/src/Core/util/ConfigureVectorization.h +521 -0
  210. include/eigen3/Eigen/src/Core/util/Constants.h +563 -0
  211. include/eigen3/Eigen/src/Core/util/DisableStupidWarnings.h +138 -0
  212. include/eigen3/Eigen/src/Core/util/ForwardDeclarations.h +322 -0
  213. include/eigen3/Eigen/src/Core/util/IndexedViewHelper.h +186 -0
  214. include/eigen3/Eigen/src/Core/util/IntegralConstant.h +272 -0
  215. include/eigen3/Eigen/src/Core/util/MKL_support.h +137 -0
  216. include/eigen3/Eigen/src/Core/util/Macros.h +1511 -0
  217. include/eigen3/Eigen/src/Core/util/Memory.h +1202 -0
  218. include/eigen3/Eigen/src/Core/util/Meta.h +812 -0
  219. include/eigen3/Eigen/src/Core/util/NonMPL2.h +3 -0
  220. include/eigen3/Eigen/src/Core/util/ReenableStupidWarnings.h +31 -0
  221. include/eigen3/Eigen/src/Core/util/ReshapedHelper.h +51 -0
  222. include/eigen3/Eigen/src/Core/util/StaticAssert.h +221 -0
  223. include/eigen3/Eigen/src/Core/util/SymbolicIndex.h +293 -0
  224. include/eigen3/Eigen/src/Core/util/XprHelper.h +856 -0
  225. include/eigen3/Eigen/src/Eigenvalues/ComplexEigenSolver.h +345 -0
  226. include/eigen3/Eigen/src/Eigenvalues/ComplexSchur.h +462 -0
  227. include/eigen3/Eigen/src/Eigenvalues/ComplexSchur_LAPACKE.h +91 -0
  228. include/eigen3/Eigen/src/Eigenvalues/EigenSolver.h +622 -0
  229. include/eigen3/Eigen/src/Eigenvalues/GeneralizedEigenSolver.h +417 -0
  230. include/eigen3/Eigen/src/Eigenvalues/GeneralizedSelfAdjointEigenSolver.h +226 -0
  231. include/eigen3/Eigen/src/Eigenvalues/HessenbergDecomposition.h +374 -0
  232. include/eigen3/Eigen/src/Eigenvalues/MatrixBaseEigenvalues.h +158 -0
  233. include/eigen3/Eigen/src/Eigenvalues/RealQZ.h +657 -0
  234. include/eigen3/Eigen/src/Eigenvalues/RealSchur.h +557 -0
  235. include/eigen3/Eigen/src/Eigenvalues/RealSchur_LAPACKE.h +77 -0
  236. include/eigen3/Eigen/src/Eigenvalues/SelfAdjointEigenSolver.h +904 -0
  237. include/eigen3/Eigen/src/Eigenvalues/SelfAdjointEigenSolver_LAPACKE.h +87 -0
  238. include/eigen3/Eigen/src/Eigenvalues/Tridiagonalization.h +560 -0
  239. include/eigen3/Eigen/src/Geometry/AlignedBox.h +486 -0
  240. include/eigen3/Eigen/src/Geometry/AngleAxis.h +247 -0
  241. include/eigen3/Eigen/src/Geometry/EulerAngles.h +114 -0
  242. include/eigen3/Eigen/src/Geometry/Homogeneous.h +501 -0
  243. include/eigen3/Eigen/src/Geometry/Hyperplane.h +282 -0
  244. include/eigen3/Eigen/src/Geometry/OrthoMethods.h +235 -0
  245. include/eigen3/Eigen/src/Geometry/ParametrizedLine.h +232 -0
  246. include/eigen3/Eigen/src/Geometry/Quaternion.h +870 -0
  247. include/eigen3/Eigen/src/Geometry/Rotation2D.h +199 -0
  248. include/eigen3/Eigen/src/Geometry/RotationBase.h +206 -0
  249. include/eigen3/Eigen/src/Geometry/Scaling.h +188 -0
  250. include/eigen3/Eigen/src/Geometry/Transform.h +1566 -0
  251. include/eigen3/Eigen/src/Geometry/Translation.h +202 -0
  252. include/eigen3/Eigen/src/Geometry/Umeyama.h +168 -0
  253. include/eigen3/Eigen/src/Geometry/arch/Geometry_SIMD.h +168 -0
  254. include/eigen3/Eigen/src/Householder/BlockHouseholder.h +110 -0
  255. include/eigen3/Eigen/src/Householder/Householder.h +176 -0
  256. include/eigen3/Eigen/src/Householder/HouseholderSequence.h +553 -0
  257. include/eigen3/Eigen/src/IterativeLinearSolvers/BasicPreconditioners.h +226 -0
  258. include/eigen3/Eigen/src/IterativeLinearSolvers/BiCGSTAB.h +212 -0
  259. include/eigen3/Eigen/src/IterativeLinearSolvers/ConjugateGradient.h +227 -0
  260. include/eigen3/Eigen/src/IterativeLinearSolvers/IncompleteCholesky.h +394 -0
  261. include/eigen3/Eigen/src/IterativeLinearSolvers/IncompleteLUT.h +453 -0
  262. include/eigen3/Eigen/src/IterativeLinearSolvers/IterativeSolverBase.h +444 -0
  263. include/eigen3/Eigen/src/IterativeLinearSolvers/LeastSquareConjugateGradient.h +198 -0
  264. include/eigen3/Eigen/src/IterativeLinearSolvers/SolveWithGuess.h +117 -0
  265. include/eigen3/Eigen/src/Jacobi/Jacobi.h +483 -0
  266. include/eigen3/Eigen/src/KLUSupport/KLUSupport.h +358 -0
  267. include/eigen3/Eigen/src/LU/Determinant.h +117 -0
  268. include/eigen3/Eigen/src/LU/FullPivLU.h +877 -0
  269. include/eigen3/Eigen/src/LU/InverseImpl.h +432 -0
  270. include/eigen3/Eigen/src/LU/PartialPivLU.h +624 -0
  271. include/eigen3/Eigen/src/LU/PartialPivLU_LAPACKE.h +83 -0
  272. include/eigen3/Eigen/src/LU/arch/InverseSize4.h +363 -0
  273. include/eigen3/Eigen/src/MetisSupport/MetisSupport.h +137 -0
  274. include/eigen3/Eigen/src/OrderingMethods/Amd.h +435 -0
  275. include/eigen3/Eigen/src/OrderingMethods/Eigen_Colamd.h +1863 -0
  276. include/eigen3/Eigen/src/OrderingMethods/Ordering.h +153 -0
  277. include/eigen3/Eigen/src/PaStiXSupport/PaStiXSupport.h +678 -0
  278. include/eigen3/Eigen/src/PardisoSupport/PardisoSupport.h +545 -0
  279. include/eigen3/Eigen/src/QR/ColPivHouseholderQR.h +674 -0
  280. include/eigen3/Eigen/src/QR/ColPivHouseholderQR_LAPACKE.h +97 -0
  281. include/eigen3/Eigen/src/QR/CompleteOrthogonalDecomposition.h +635 -0
  282. include/eigen3/Eigen/src/QR/FullPivHouseholderQR.h +713 -0
  283. include/eigen3/Eigen/src/QR/HouseholderQR.h +434 -0
  284. include/eigen3/Eigen/src/QR/HouseholderQR_LAPACKE.h +68 -0
  285. include/eigen3/Eigen/src/SPQRSupport/SuiteSparseQRSupport.h +335 -0
  286. include/eigen3/Eigen/src/SVD/BDCSVD.h +1377 -0
  287. include/eigen3/Eigen/src/SVD/JacobiSVD.h +813 -0
  288. include/eigen3/Eigen/src/SVD/JacobiSVD_LAPACKE.h +91 -0
  289. include/eigen3/Eigen/src/SVD/SVDBase.h +376 -0
  290. include/eigen3/Eigen/src/SVD/UpperBidiagonalization.h +415 -0
  291. include/eigen3/Eigen/src/SparseCholesky/SimplicialCholesky.h +697 -0
  292. include/eigen3/Eigen/src/SparseCholesky/SimplicialCholesky_impl.h +174 -0
  293. include/eigen3/Eigen/src/SparseCore/AmbiVector.h +378 -0
  294. include/eigen3/Eigen/src/SparseCore/CompressedStorage.h +274 -0
  295. include/eigen3/Eigen/src/SparseCore/ConservativeSparseSparseProduct.h +352 -0
  296. include/eigen3/Eigen/src/SparseCore/MappedSparseMatrix.h +67 -0
  297. include/eigen3/Eigen/src/SparseCore/SparseAssign.h +270 -0
  298. include/eigen3/Eigen/src/SparseCore/SparseBlock.h +566 -0
  299. include/eigen3/Eigen/src/SparseCore/SparseColEtree.h +206 -0
  300. include/eigen3/Eigen/src/SparseCore/SparseCompressedBase.h +370 -0
  301. include/eigen3/Eigen/src/SparseCore/SparseCwiseBinaryOp.h +722 -0
  302. include/eigen3/Eigen/src/SparseCore/SparseCwiseUnaryOp.h +150 -0
  303. include/eigen3/Eigen/src/SparseCore/SparseDenseProduct.h +342 -0
  304. include/eigen3/Eigen/src/SparseCore/SparseDiagonalProduct.h +138 -0
  305. include/eigen3/Eigen/src/SparseCore/SparseDot.h +98 -0
  306. include/eigen3/Eigen/src/SparseCore/SparseFuzzy.h +29 -0
  307. include/eigen3/Eigen/src/SparseCore/SparseMap.h +306 -0
  308. include/eigen3/Eigen/src/SparseCore/SparseMatrix.h +1518 -0
  309. include/eigen3/Eigen/src/SparseCore/SparseMatrixBase.h +399 -0
  310. include/eigen3/Eigen/src/SparseCore/SparsePermutation.h +178 -0
  311. include/eigen3/Eigen/src/SparseCore/SparseProduct.h +182 -0
  312. include/eigen3/Eigen/src/SparseCore/SparseRedux.h +49 -0
  313. include/eigen3/Eigen/src/SparseCore/SparseRef.h +397 -0
  314. include/eigen3/Eigen/src/SparseCore/SparseSelfAdjointView.h +659 -0
  315. include/eigen3/Eigen/src/SparseCore/SparseSolverBase.h +124 -0
  316. include/eigen3/Eigen/src/SparseCore/SparseSparseProductWithPruning.h +198 -0
  317. include/eigen3/Eigen/src/SparseCore/SparseTranspose.h +92 -0
  318. include/eigen3/Eigen/src/SparseCore/SparseTriangularView.h +189 -0
  319. include/eigen3/Eigen/src/SparseCore/SparseUtil.h +186 -0
  320. include/eigen3/Eigen/src/SparseCore/SparseVector.h +480 -0
  321. include/eigen3/Eigen/src/SparseCore/SparseView.h +254 -0
  322. include/eigen3/Eigen/src/SparseCore/TriangularSolver.h +315 -0
  323. include/eigen3/Eigen/src/SparseLU/SparseLU.h +925 -0
  324. include/eigen3/Eigen/src/SparseLU/SparseLUImpl.h +66 -0
  325. include/eigen3/Eigen/src/SparseLU/SparseLU_Memory.h +226 -0
  326. include/eigen3/Eigen/src/SparseLU/SparseLU_Structs.h +110 -0
  327. include/eigen3/Eigen/src/SparseLU/SparseLU_SupernodalMatrix.h +374 -0
  328. include/eigen3/Eigen/src/SparseLU/SparseLU_Utils.h +80 -0
  329. include/eigen3/Eigen/src/SparseLU/SparseLU_column_bmod.h +181 -0
  330. include/eigen3/Eigen/src/SparseLU/SparseLU_column_dfs.h +179 -0
  331. include/eigen3/Eigen/src/SparseLU/SparseLU_copy_to_ucol.h +107 -0
  332. include/eigen3/Eigen/src/SparseLU/SparseLU_heap_relax_snode.h +121 -0
  333. include/eigen3/Eigen/src/SparseLU/SparseLU_kernel_bmod.h +129 -0
  334. include/eigen3/Eigen/src/SparseLU/SparseLU_panel_bmod.h +222 -0
  335. include/eigen3/Eigen/src/SparseLU/SparseLU_panel_dfs.h +258 -0
  336. include/eigen3/Eigen/src/SparseLU/SparseLU_pivotL.h +137 -0
  337. include/eigen3/Eigen/src/SparseLU/SparseLU_pruneL.h +136 -0
  338. include/eigen3/Eigen/src/SparseLU/SparseLU_relax_snode.h +83 -0
  339. include/eigen3/Eigen/src/SparseQR/SparseQR.h +758 -0
  340. include/eigen3/Eigen/src/StlSupport/StdDeque.h +116 -0
  341. include/eigen3/Eigen/src/StlSupport/StdList.h +106 -0
  342. include/eigen3/Eigen/src/StlSupport/StdVector.h +131 -0
  343. include/eigen3/Eigen/src/StlSupport/details.h +84 -0
  344. include/eigen3/Eigen/src/SuperLUSupport/SuperLUSupport.h +1025 -0
  345. include/eigen3/Eigen/src/UmfPackSupport/UmfPackSupport.h +642 -0
  346. include/eigen3/Eigen/src/misc/Image.h +82 -0
  347. include/eigen3/Eigen/src/misc/Kernel.h +79 -0
  348. include/eigen3/Eigen/src/misc/RealSvd2x2.h +55 -0
  349. include/eigen3/Eigen/src/misc/blas.h +440 -0
  350. include/eigen3/Eigen/src/misc/lapack.h +152 -0
  351. include/eigen3/Eigen/src/misc/lapacke.h +16292 -0
  352. include/eigen3/Eigen/src/misc/lapacke_mangling.h +17 -0
  353. include/eigen3/Eigen/src/plugins/ArrayCwiseBinaryOps.h +431 -0
  354. include/eigen3/Eigen/src/plugins/ArrayCwiseUnaryOps.h +696 -0
  355. include/eigen3/Eigen/src/plugins/BlockMethods.h +1442 -0
  356. include/eigen3/Eigen/src/plugins/CommonCwiseBinaryOps.h +115 -0
  357. include/eigen3/Eigen/src/plugins/CommonCwiseUnaryOps.h +177 -0
  358. include/eigen3/Eigen/src/plugins/IndexedViewMethods.h +262 -0
  359. include/eigen3/Eigen/src/plugins/MatrixCwiseBinaryOps.h +184 -0
  360. include/eigen3/Eigen/src/plugins/MatrixCwiseUnaryOps.h +95 -0
  361. include/eigen3/Eigen/src/plugins/ReshapedMethods.h +149 -0
  362. include/eigen3/signature_of_eigen3_matrix_library +1 -0
  363. include/eigen3/unsupported/Eigen/AdolcForward +159 -0
  364. include/eigen3/unsupported/Eigen/AlignedVector3 +234 -0
  365. include/eigen3/unsupported/Eigen/ArpackSupport +30 -0
  366. include/eigen3/unsupported/Eigen/AutoDiff +48 -0
  367. include/eigen3/unsupported/Eigen/BVH +95 -0
  368. include/eigen3/unsupported/Eigen/CXX11/Tensor +137 -0
  369. include/eigen3/unsupported/Eigen/CXX11/TensorSymmetry +42 -0
  370. include/eigen3/unsupported/Eigen/CXX11/ThreadPool +74 -0
  371. include/eigen3/unsupported/Eigen/CXX11/src/Tensor/Tensor.h +554 -0
  372. include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorArgMax.h +327 -0
  373. include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorAssign.h +242 -0
  374. include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorBase.h +1176 -0
  375. include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorBlock.h +1559 -0
  376. include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorBroadcasting.h +1083 -0
  377. include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorChipping.h +510 -0
  378. include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorConcatenation.h +373 -0
  379. include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorContraction.h +1019 -0
  380. include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorContractionBlocking.h +73 -0
  381. include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorContractionCuda.h +6 -0
  382. include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorContractionGpu.h +1413 -0
  383. include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorContractionMapper.h +575 -0
  384. include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorContractionSycl.h +1650 -0
  385. include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorContractionThreadPool.h +1679 -0
  386. include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorConversion.h +455 -0
  387. include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorConvolution.h +1126 -0
  388. include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorConvolutionSycl.h +536 -0
  389. include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorCostModel.h +213 -0
  390. include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorCustomOp.h +342 -0
  391. include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorDevice.h +137 -0
  392. include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorDeviceCuda.h +6 -0
  393. include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorDeviceDefault.h +104 -0
  394. include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorDeviceGpu.h +389 -0
  395. include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorDeviceSycl.h +1048 -0
  396. include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorDeviceThreadPool.h +409 -0
  397. include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorDimensionList.h +234 -0
  398. include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorDimensions.h +493 -0
  399. include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorEvalTo.h +229 -0
  400. include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorEvaluator.h +980 -0
  401. include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorExecutor.h +701 -0
  402. include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorExpr.h +389 -0
  403. include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorFFT.h +669 -0
  404. include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorFixedSize.h +377 -0
  405. include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorForcedEval.h +232 -0
  406. include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorForwardDeclarations.h +191 -0
  407. include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorFunctors.h +488 -0
  408. include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorGenerator.h +297 -0
  409. include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorGlobalFunctions.h +33 -0
  410. include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorGpuHipCudaDefines.h +99 -0
  411. include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorGpuHipCudaUndefines.h +44 -0
  412. include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorIO.h +79 -0
  413. include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorImagePatch.h +602 -0
  414. include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorIndexList.h +735 -0
  415. include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorInflation.h +244 -0
  416. include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorInitializer.h +82 -0
  417. include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorIntDiv.h +257 -0
  418. include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorLayoutSwap.h +213 -0
  419. include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorMacros.h +98 -0
  420. include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorMap.h +327 -0
  421. include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorMeta.h +311 -0
  422. include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorMorphing.h +1098 -0
  423. include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorPadding.h +705 -0
  424. include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorPatch.h +286 -0
  425. include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorRandom.h +317 -0
  426. include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorReduction.h +1000 -0
  427. include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorReductionCuda.h +6 -0
  428. include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorReductionGpu.h +973 -0
  429. include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorReductionSycl.h +582 -0
  430. include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorRef.h +454 -0
  431. include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorReverse.h +462 -0
  432. include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorScan.h +528 -0
  433. include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorScanSycl.h +513 -0
  434. include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorShuffling.h +466 -0
  435. include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorStorage.h +157 -0
  436. include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorStriding.h +341 -0
  437. include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorTrace.h +299 -0
  438. include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorTraits.h +264 -0
  439. include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorUInt128.h +249 -0
  440. include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorVolumePatch.h +628 -0
  441. include/eigen3/unsupported/Eigen/CXX11/src/TensorSymmetry/DynamicSymmetry.h +293 -0
  442. include/eigen3/unsupported/Eigen/CXX11/src/TensorSymmetry/StaticSymmetry.h +236 -0
  443. include/eigen3/unsupported/Eigen/CXX11/src/TensorSymmetry/Symmetry.h +338 -0
  444. include/eigen3/unsupported/Eigen/CXX11/src/TensorSymmetry/util/TemplateGroupTheory.h +669 -0
  445. include/eigen3/unsupported/Eigen/CXX11/src/ThreadPool/Barrier.h +67 -0
  446. include/eigen3/unsupported/Eigen/CXX11/src/ThreadPool/EventCount.h +249 -0
  447. include/eigen3/unsupported/Eigen/CXX11/src/ThreadPool/NonBlockingThreadPool.h +486 -0
  448. include/eigen3/unsupported/Eigen/CXX11/src/ThreadPool/RunQueue.h +236 -0
  449. include/eigen3/unsupported/Eigen/CXX11/src/ThreadPool/ThreadCancel.h +23 -0
  450. include/eigen3/unsupported/Eigen/CXX11/src/ThreadPool/ThreadEnvironment.h +40 -0
  451. include/eigen3/unsupported/Eigen/CXX11/src/ThreadPool/ThreadLocal.h +301 -0
  452. include/eigen3/unsupported/Eigen/CXX11/src/ThreadPool/ThreadPoolInterface.h +48 -0
  453. include/eigen3/unsupported/Eigen/CXX11/src/ThreadPool/ThreadYield.h +20 -0
  454. include/eigen3/unsupported/Eigen/CXX11/src/util/CXX11Meta.h +538 -0
  455. include/eigen3/unsupported/Eigen/CXX11/src/util/CXX11Workarounds.h +88 -0
  456. include/eigen3/unsupported/Eigen/CXX11/src/util/EmulateArray.h +261 -0
  457. include/eigen3/unsupported/Eigen/CXX11/src/util/MaxSizeVector.h +158 -0
  458. include/eigen3/unsupported/Eigen/EulerAngles +43 -0
  459. include/eigen3/unsupported/Eigen/FFT +420 -0
  460. include/eigen3/unsupported/Eigen/IterativeSolvers +51 -0
  461. include/eigen3/unsupported/Eigen/KroneckerProduct +36 -0
  462. include/eigen3/unsupported/Eigen/LevenbergMarquardt +49 -0
  463. include/eigen3/unsupported/Eigen/MPRealSupport +213 -0
  464. include/eigen3/unsupported/Eigen/MatrixFunctions +504 -0
  465. include/eigen3/unsupported/Eigen/MoreVectorization +24 -0
  466. include/eigen3/unsupported/Eigen/NonLinearOptimization +140 -0
  467. include/eigen3/unsupported/Eigen/NumericalDiff +56 -0
  468. include/eigen3/unsupported/Eigen/OpenGLSupport +322 -0
  469. include/eigen3/unsupported/Eigen/Polynomials +137 -0
  470. include/eigen3/unsupported/Eigen/Skyline +39 -0
  471. include/eigen3/unsupported/Eigen/SparseExtra +54 -0
  472. include/eigen3/unsupported/Eigen/SpecialFunctions +103 -0
  473. include/eigen3/unsupported/Eigen/Splines +35 -0
  474. include/eigen3/unsupported/Eigen/src/AutoDiff/AutoDiffJacobian.h +108 -0
  475. include/eigen3/unsupported/Eigen/src/AutoDiff/AutoDiffScalar.h +730 -0
  476. include/eigen3/unsupported/Eigen/src/AutoDiff/AutoDiffVector.h +220 -0
  477. include/eigen3/unsupported/Eigen/src/BVH/BVAlgorithms.h +293 -0
  478. include/eigen3/unsupported/Eigen/src/BVH/KdBVH.h +223 -0
  479. include/eigen3/unsupported/Eigen/src/Eigenvalues/ArpackSelfAdjointEigenSolver.h +790 -0
  480. include/eigen3/unsupported/Eigen/src/EulerAngles/EulerAngles.h +356 -0
  481. include/eigen3/unsupported/Eigen/src/EulerAngles/EulerSystem.h +306 -0
  482. include/eigen3/unsupported/Eigen/src/FFT/ei_fftw_impl.h +261 -0
  483. include/eigen3/unsupported/Eigen/src/FFT/ei_kissfft_impl.h +449 -0
  484. include/eigen3/unsupported/Eigen/src/IterativeSolvers/ConstrainedConjGrad.h +187 -0
  485. include/eigen3/unsupported/Eigen/src/IterativeSolvers/DGMRES.h +511 -0
  486. include/eigen3/unsupported/Eigen/src/IterativeSolvers/GMRES.h +335 -0
  487. include/eigen3/unsupported/Eigen/src/IterativeSolvers/IDRS.h +436 -0
  488. include/eigen3/unsupported/Eigen/src/IterativeSolvers/IncompleteLU.h +90 -0
  489. include/eigen3/unsupported/Eigen/src/IterativeSolvers/IterationController.h +154 -0
  490. include/eigen3/unsupported/Eigen/src/IterativeSolvers/MINRES.h +267 -0
  491. include/eigen3/unsupported/Eigen/src/IterativeSolvers/Scaling.h +193 -0
  492. include/eigen3/unsupported/Eigen/src/KroneckerProduct/KroneckerTensorProduct.h +305 -0
  493. include/eigen3/unsupported/Eigen/src/LevenbergMarquardt/LMcovar.h +84 -0
  494. include/eigen3/unsupported/Eigen/src/LevenbergMarquardt/LMonestep.h +202 -0
  495. include/eigen3/unsupported/Eigen/src/LevenbergMarquardt/LMpar.h +160 -0
  496. include/eigen3/unsupported/Eigen/src/LevenbergMarquardt/LMqrsolv.h +188 -0
  497. include/eigen3/unsupported/Eigen/src/LevenbergMarquardt/LevenbergMarquardt.h +396 -0
  498. include/eigen3/unsupported/Eigen/src/MatrixFunctions/MatrixExponential.h +441 -0
  499. include/eigen3/unsupported/Eigen/src/MatrixFunctions/MatrixFunction.h +569 -0
  500. include/eigen3/unsupported/Eigen/src/MatrixFunctions/MatrixLogarithm.h +373 -0
  501. include/eigen3/unsupported/Eigen/src/MatrixFunctions/MatrixPower.h +705 -0
  502. include/eigen3/unsupported/Eigen/src/MatrixFunctions/MatrixSquareRoot.h +368 -0
  503. include/eigen3/unsupported/Eigen/src/MatrixFunctions/StemFunction.h +117 -0
  504. include/eigen3/unsupported/Eigen/src/MoreVectorization/MathFunctions.h +95 -0
  505. include/eigen3/unsupported/Eigen/src/NonLinearOptimization/HybridNonLinearSolver.h +601 -0
  506. include/eigen3/unsupported/Eigen/src/NonLinearOptimization/LevenbergMarquardt.h +657 -0
  507. include/eigen3/unsupported/Eigen/src/NonLinearOptimization/chkder.h +66 -0
  508. include/eigen3/unsupported/Eigen/src/NonLinearOptimization/covar.h +70 -0
  509. include/eigen3/unsupported/Eigen/src/NonLinearOptimization/dogleg.h +107 -0
  510. include/eigen3/unsupported/Eigen/src/NonLinearOptimization/fdjac1.h +79 -0
  511. include/eigen3/unsupported/Eigen/src/NonLinearOptimization/lmpar.h +298 -0
  512. include/eigen3/unsupported/Eigen/src/NonLinearOptimization/qrsolv.h +91 -0
  513. include/eigen3/unsupported/Eigen/src/NonLinearOptimization/r1mpyq.h +30 -0
  514. include/eigen3/unsupported/Eigen/src/NonLinearOptimization/r1updt.h +99 -0
  515. include/eigen3/unsupported/Eigen/src/NonLinearOptimization/rwupdt.h +49 -0
  516. include/eigen3/unsupported/Eigen/src/NumericalDiff/NumericalDiff.h +130 -0
  517. include/eigen3/unsupported/Eigen/src/Polynomials/Companion.h +280 -0
  518. include/eigen3/unsupported/Eigen/src/Polynomials/PolynomialSolver.h +429 -0
  519. include/eigen3/unsupported/Eigen/src/Polynomials/PolynomialUtils.h +143 -0
  520. include/eigen3/unsupported/Eigen/src/Skyline/SkylineInplaceLU.h +352 -0
  521. include/eigen3/unsupported/Eigen/src/Skyline/SkylineMatrix.h +862 -0
  522. include/eigen3/unsupported/Eigen/src/Skyline/SkylineMatrixBase.h +212 -0
  523. include/eigen3/unsupported/Eigen/src/Skyline/SkylineProduct.h +295 -0
  524. include/eigen3/unsupported/Eigen/src/Skyline/SkylineStorage.h +259 -0
  525. include/eigen3/unsupported/Eigen/src/Skyline/SkylineUtil.h +89 -0
  526. include/eigen3/unsupported/Eigen/src/SparseExtra/BlockOfDynamicSparseMatrix.h +122 -0
  527. include/eigen3/unsupported/Eigen/src/SparseExtra/BlockSparseMatrix.h +1079 -0
  528. include/eigen3/unsupported/Eigen/src/SparseExtra/DynamicSparseMatrix.h +404 -0
  529. include/eigen3/unsupported/Eigen/src/SparseExtra/MarketIO.h +282 -0
  530. include/eigen3/unsupported/Eigen/src/SparseExtra/MatrixMarketIterator.h +247 -0
  531. include/eigen3/unsupported/Eigen/src/SparseExtra/RandomSetter.h +349 -0
  532. include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsArrayAPI.h +286 -0
  533. include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsBFloat16.h +68 -0
  534. include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsFunctors.h +357 -0
  535. include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsHalf.h +66 -0
  536. include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h +1959 -0
  537. include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsPacketMath.h +118 -0
  538. include/eigen3/unsupported/Eigen/src/SpecialFunctions/HipVectorCompatibility.h +67 -0
  539. include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsArrayAPI.h +167 -0
  540. include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsBFloat16.h +58 -0
  541. include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsFunctors.h +330 -0
  542. include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsHalf.h +58 -0
  543. include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h +2051 -0
  544. include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsPacketMath.h +79 -0
  545. include/eigen3/unsupported/Eigen/src/SpecialFunctions/arch/AVX/BesselFunctions.h +46 -0
  546. include/eigen3/unsupported/Eigen/src/SpecialFunctions/arch/AVX/SpecialFunctions.h +16 -0
  547. include/eigen3/unsupported/Eigen/src/SpecialFunctions/arch/AVX512/BesselFunctions.h +51 -0
  548. include/eigen3/unsupported/Eigen/src/SpecialFunctions/arch/AVX512/SpecialFunctions.h +16 -0
  549. include/eigen3/unsupported/Eigen/src/SpecialFunctions/arch/GPU/SpecialFunctions.h +369 -0
  550. include/eigen3/unsupported/Eigen/src/SpecialFunctions/arch/NEON/BesselFunctions.h +54 -0
  551. include/eigen3/unsupported/Eigen/src/SpecialFunctions/arch/NEON/SpecialFunctions.h +34 -0
  552. include/eigen3/unsupported/Eigen/src/Splines/Spline.h +507 -0
  553. include/eigen3/unsupported/Eigen/src/Splines/SplineFitting.h +431 -0
  554. include/eigen3/unsupported/Eigen/src/Splines/SplineFwd.h +93 -0
@@ -0,0 +1,508 @@
1
+ #
2
+ # This file is part of gmlib. It is free software.
3
+ # You can redistribute it and/or modify it under the terms of the GNU Affero General Public License version 3.
4
+ #
5
+
6
+ import os
7
+ import shutil
8
+ from collections import defaultdict, namedtuple
9
+ from optparse import OptionParser
10
+
11
+ import numpy as np
12
+ from lxml import etree
13
+
14
+ from forgeo.gmlib import geomodeller_project as gmp
15
+ from forgeo.gmlib import myxmltools as mx
16
+ from forgeo.gmlib.geomodeller_project import geo, gml
17
+
18
+
19
+ def data_attribs(uid, provenance=None):
20
+ attribs = {"ObservationID": uid}
21
+ if provenance is not None:
22
+ attribs["Provenance"] = "%d" % provenance
23
+ return attribs
24
+
25
+
26
+ def coordinates_node(pt):
27
+ return gml.coordinates("{:f},{:f}".format(*pt), cs=",", decimal=".", ts=" ")
28
+
29
+
30
+ def create_contact_node(uid, provenance, pt, formation):
31
+ return geo.Interface(
32
+ geo.Data(Name=formation),
33
+ gml.LineString(coordinates_node(pt)),
34
+ **data_attribs(uid, provenance),
35
+ )
36
+
37
+
38
+ def create_orientation_node(uid, provenance, pt, orientation, formation):
39
+ dip, direction, polarity = orientation
40
+ assert polarity in ("normal", "reverse")
41
+ return geo.Foliation(
42
+ geo.Data(Name=formation),
43
+ geo.FoliationObservation(
44
+ gml.Point(coordinates_node(pt)),
45
+ Azimuth=f"{direction:f}",
46
+ Dip=f"{dip:f}",
47
+ NormalPolarity="true" if polarity == "normal" else "false",
48
+ ),
49
+ **data_attribs(uid, provenance),
50
+ )
51
+
52
+
53
+ Contact = namedtuple("Contact", ["uid", "provenance", "point", "attribution"])
54
+ Orientation = namedtuple(
55
+ "Contact", ["uid", "provenance", "point", "orientation", "attribution"]
56
+ )
57
+ OrientationMeasurement = namedtuple(
58
+ "OrientationMeasurement", ["dip", "direction", "polarity"]
59
+ )
60
+
61
+
62
+ def extract_structural_roots(root):
63
+ topography_sections = gmp.find_topography_sections(root)
64
+ assert len(topography_sections) == 1, "one and only one topography section"
65
+ section = topography_sections[0]
66
+ structdata = mx.create_child_if_needed(section, "Structural2DData")
67
+ interfaces = mx.create_child_if_needed(structdata, "Interfaces")
68
+ foliations = mx.create_child_if_needed(structdata, "Foliations")
69
+ return interfaces, foliations
70
+
71
+
72
+ def select_data_to_remove(root, uids):
73
+ interfaces, foliations = extract_structural_roots(root)
74
+ removed = []
75
+ for dataset, tag in [
76
+ (interfaces, geo.Interface().tag),
77
+ (foliations, geo.Foliation().tag),
78
+ ]:
79
+ for child in dataset.findall(tag):
80
+ if "ObservationID" in child.attrib:
81
+ obsid = child.attrib["ObservationID"]
82
+ if obsid in uids:
83
+ removed.append((obsid, dataset, child))
84
+ return removed
85
+
86
+
87
+ def locate_superimposed_data(root):
88
+ interfaces, foliations = extract_structural_roots(root)
89
+ data = defaultdict(list)
90
+ for dataset, tag in [
91
+ (interfaces, geo.Interface().tag),
92
+ (foliations, geo.Foliation().tag),
93
+ ]:
94
+ for child in dataset.findall(tag):
95
+ formation = child.find(geo.Data().tag).attrib["Name"]
96
+ xy = child.find(".//" + gml.coordinates().tag)
97
+ assert xy is not None
98
+ x, y = [float(s.strip()) for s in xy.text.split(xy.attrib["cs"])]
99
+ data[(formation, x, y)].append(child)
100
+ superimposed = []
101
+ for key, elts in data.items():
102
+ if len(elts) > 1:
103
+ natures = [etree.QName(elt).localname for elt in elts]
104
+ assert natures.count("Interface") <= 1, (
105
+ "several superimposed contact points for at {1:f}, {2:f} for "
106
+ "formation {0}"
107
+ ).format(*key)
108
+ superimposed.append(
109
+ (key, [(nature, elt) for nature, elt in zip(natures, elts)])
110
+ )
111
+ return superimposed
112
+
113
+
114
+ def update_provenances(provenances, new):
115
+ rankmax = max(provenances.values()) + 1
116
+ provenances.update({p: rankmax + k for k, p in enumerate(set(new))})
117
+ return provenances
118
+
119
+
120
+ def filter_superimposed_orientations(superimposed, average_provenance, joinsep="+"):
121
+ new_orientations = []
122
+ removed_orientations = []
123
+ for key, elts in superimposed:
124
+ natures = [elt[0] for elt in elts]
125
+ if natures.count("Foliation") > 1:
126
+ uids = []
127
+ dipdir = []
128
+ polarities = set()
129
+ for i, elt in enumerate([v[1] for v in elts]):
130
+ if natures[i] == "Foliation":
131
+ uids.append(elt.attrib["ObservationID"])
132
+ obs = elt.find(geo.FoliationObservation().tag)
133
+ dipdir.append(
134
+ tuple(float(obs.attrib[s]) for s in ["Dip", "Azimuth"])
135
+ )
136
+ polarities.add(obs.attrib["NormalPolarity"])
137
+ removed_orientations.append(elt)
138
+ assert len(polarities) == 1, "inconsistent polarities for data {}".format(
139
+ " ".join(uids)
140
+ )
141
+ dipdir = np.mean(dipdir, axis=0)
142
+ polarity = {"true": "normal", "false": "reverse"}[polarities.pop().lower()]
143
+ formation, x, y = key
144
+ new_orientations.append(
145
+ create_orientation_node(
146
+ joinsep.join(uids),
147
+ average_provenance,
148
+ (x, y),
149
+ (*dipdir, polarity),
150
+ formation,
151
+ )
152
+ )
153
+ return new_orientations, removed_orientations
154
+
155
+
156
+ def append_data(root, data, provenances):
157
+ formations = gmp.read_formation_colors(root)
158
+ formation_names = formations.keys()
159
+ faults = gmp.extract_raw_faults_data(root)
160
+ fault_names = faults.keys()
161
+ assert not formation_names & fault_names
162
+ attributions = formation_names | fault_names
163
+ # print('possible attributions:', attributions)
164
+ interfaces, foliations = extract_structural_roots(root)
165
+ for item in data:
166
+ attribution = item.attribution
167
+ assert attribution in attributions, (
168
+ f"not a valid attribution: {attribution} for {item.uid}"
169
+ )
170
+ provenance = item.provenance
171
+ if provenance is not None:
172
+ provenance = provenances[provenance]
173
+ if type(item) is Contact:
174
+ interfaces.append(
175
+ create_contact_node(item.uid, provenance, item.point, attribution)
176
+ )
177
+ else:
178
+ assert type(item) is Orientation
179
+ foliations.append(
180
+ create_orientation_node(
181
+ item.uid, provenance, item.point, item.orientation, attribution
182
+ )
183
+ )
184
+ return root
185
+
186
+
187
+ def collect_data(datafile, idsep, idcols, skip, has_provenance, csvsep=";"):
188
+ lines = []
189
+ with open(datafile) as f:
190
+ for line in f:
191
+ l = line.strip()
192
+ if l:
193
+ lines.append(l.split(csvsep))
194
+ data = []
195
+ uids = set()
196
+ assert skip >= 0
197
+ assert idcols > 0
198
+ provenance = None
199
+ for item in lines[skip:]:
200
+ uid = idsep.join(item[:idcols])
201
+ assert uid not in uids, "duplicate item: " + uid
202
+ uids.add(uid)
203
+ pos = idcols
204
+ if has_provenance:
205
+ provenance = item[pos]
206
+ pos += 1
207
+ point = tuple(float(s) for s in item[pos : pos + 2])
208
+ pos += 2
209
+ nature = item[pos]
210
+ assert nature in ["interface", "orientation"], (
211
+ f"unknown nature: {nature} for {uid}"
212
+ )
213
+ pos += 1
214
+ attribution = item[pos]
215
+ if nature == "interface":
216
+ data.append(Contact(uid, provenance, point, attribution))
217
+ else:
218
+ assert nature == "orientation"
219
+ pos += 1
220
+ dip, direction, polarity = item[pos:]
221
+ try:
222
+ dip, direction = float(dip), float(direction)
223
+ except ValueError as ve:
224
+ raise ve
225
+ assert 0 <= dip <= 90, f"{uid}: not a dip value: {dip:f}"
226
+ assert 0 <= direction < 360, f"{uid}: not a dir value: {direction:f}"
227
+ if not polarity:
228
+ polarity = "normal"
229
+ data.append(
230
+ Orientation(
231
+ uid,
232
+ provenance,
233
+ point,
234
+ OrientationMeasurement(dip, direction, polarity),
235
+ attribution,
236
+ )
237
+ )
238
+ return uids, data
239
+
240
+
241
+ def setup_parser():
242
+ parser = OptionParser(
243
+ usage="""usage: %prog path_to_model_file
244
+
245
+ This scripts modifies a geomodeller xml project file."""
246
+ )
247
+
248
+ parser.add_option(
249
+ "-i",
250
+ "-d",
251
+ "--data",
252
+ action="store",
253
+ type="string",
254
+ dest="datafile",
255
+ default="",
256
+ help="path to the data file as csv",
257
+ )
258
+ parser.add_option(
259
+ "--csv",
260
+ action="store",
261
+ type="string",
262
+ dest="csvsep",
263
+ default=";",
264
+ help="symbol used to separate columns in csv (defaults to ;)",
265
+ )
266
+ parser.add_option(
267
+ "-o",
268
+ "--output",
269
+ action="store",
270
+ type="string",
271
+ dest="output_file",
272
+ default="",
273
+ help="path to the new geomodeller file",
274
+ )
275
+ parser.add_option(
276
+ "-l",
277
+ "--log",
278
+ action="store",
279
+ type="string",
280
+ dest="logfilename",
281
+ default="",
282
+ help="path to a file to log warning - this desactivate quiet",
283
+ )
284
+ parser.add_option(
285
+ "--skip",
286
+ action="store",
287
+ type="int",
288
+ dest="header_rows",
289
+ default=1,
290
+ help=("number of lines of header files (to be skipped) : defaults to 1"),
291
+ )
292
+ parser.add_option(
293
+ "--id-sep",
294
+ action="store",
295
+ type="string",
296
+ dest="idsep",
297
+ default="-",
298
+ help=("separator used to generate unique id from id columns(defaults to -)"),
299
+ )
300
+ parser.add_option(
301
+ "--id-cols",
302
+ action="store",
303
+ type="int",
304
+ dest="idcols",
305
+ default=4,
306
+ help=("number of columns to be used to generate unique id(defaults to 4)"),
307
+ )
308
+ parser.add_option(
309
+ "-q",
310
+ "--quiet",
311
+ action="store_true",
312
+ dest="quiet",
313
+ default=False,
314
+ help="does not output warnings and information",
315
+ )
316
+ parser.add_option(
317
+ "--no-provenance",
318
+ action="store_true",
319
+ dest="no_provenance",
320
+ default=False,
321
+ help=(
322
+ "provenances are given in the column, after the "
323
+ "first idcols columns, "
324
+ "if no provenance is given, use this flag"
325
+ ),
326
+ )
327
+ parser.add_option(
328
+ "-p",
329
+ "--provenance",
330
+ action="append",
331
+ type="string",
332
+ dest="provenances",
333
+ default=[],
334
+ help=(
335
+ "adds a blank provenance field, "
336
+ "other provenance fields can be collected from provenance "
337
+ "column (cf. --no-provenance)"
338
+ ),
339
+ )
340
+ parser.add_option(
341
+ "-c",
342
+ "--correct",
343
+ action="store_true",
344
+ dest="correct",
345
+ default=False,
346
+ help=(
347
+ "correct superimposed contact and orientation data by slightly offseting "
348
+ "orientation data (this is due to a bug in GeoModeller that affects "
349
+ "potential fields with one contact data with superimposed orientation data "
350
+ "and only one formation... typically such as planar faults - the correction "
351
+ "will affect all superpimposed data and orientation, regardless of these "
352
+ "conditions)"
353
+ ),
354
+ )
355
+
356
+ return parser
357
+
358
+
359
+ def load_project_xml(projectfile):
360
+ assert os.path.exists(projectfile), "could not find file: " + projectfile
361
+ tree = gmp.extract_tree(projectfile)
362
+ return tree, tree.getroot()
363
+
364
+
365
+ def load_project(projectfile, additional_provenances):
366
+ tree, root = load_project_xml(projectfile)
367
+ provenance_group = root.find(geo.ProvenanceGroup().tag)
368
+ provenances = {
369
+ item.attrib["id"]: int(item.attrib["rank"])
370
+ for item in provenance_group.findall(geo.Provenance().tag)
371
+ }
372
+ update_provenances(provenances, [*additional_provenances, "Average"])
373
+ return (tree, root), provenances
374
+
375
+
376
+ def process(project, provenances, options):
377
+ warnings = []
378
+
379
+ def warn(message):
380
+ warnings.append("WARNING: " + message)
381
+
382
+ tree, root = project
383
+
384
+ datafile = options.datafile
385
+ if len(datafile.strip()) == 0:
386
+ warn("no data file provided!")
387
+ else:
388
+ assert os.path.exists(datafile), "could not find file: " + datafile
389
+ uids, data = collect_data(
390
+ datafile,
391
+ options.idsep,
392
+ options.idcols,
393
+ options.header_rows,
394
+ not options.no_provenance,
395
+ options.csvsep,
396
+ )
397
+ removed = select_data_to_remove(root, uids)
398
+ for uid, parent, child in removed:
399
+ warn(f"{uid} is overwritten")
400
+ parent.remove(child)
401
+ update_provenances(
402
+ provenances,
403
+ [item.provenance for item in data if item.provenance is not None],
404
+ )
405
+ append_data(root, data, provenances)
406
+
407
+ # Average duplicate orientation data
408
+ joinsep = "+"
409
+ locate_superimposed_data(root)
410
+ new_orientations, removed_orientations = filter_superimposed_orientations(
411
+ locate_superimposed_data(root), provenances["Average"], joinsep=joinsep
412
+ )
413
+ orientations = root.find(".//" + geo.Foliations().tag)
414
+ assert orientations is not None
415
+ for elt in removed_orientations:
416
+ orientations.remove(elt)
417
+ for elt in new_orientations:
418
+ warn(
419
+ "average orientation replacing: "
420
+ + " and ".join(elt.attrib["ObservationID"].split(joinsep))
421
+ )
422
+ orientations.append(elt)
423
+
424
+ if options.correct:
425
+ epsilon = 1e-3 # 1 mm !!!
426
+ for key, elts in locate_superimposed_data(root):
427
+ assert len(elts) == 2
428
+ natures = [elt[0] for elt in elts]
429
+ assert natures.count("Interface") == 1
430
+ assert natures.count("Foliation") == 1
431
+ orientation = elts[1][1] if natures[0] == "Interface" else elts[0][1]
432
+ observation = orientation.find(geo.FoliationObservation().tag)
433
+ assert observation is not None
434
+ azimuth = (90.0 - float(observation.attrib["Azimuth"])) * 2 * np.pi / 360.0
435
+ u = np.array([np.cos(azimuth), np.sin(azimuth)])
436
+ coordinates = observation.find(".//" + gml.coordinates().tag)
437
+ formation, x, y = key
438
+ cs = coordinates.attrib["cs"]
439
+ assert (x, y) == tuple(float(s) for s in coordinates.text.split(cs))
440
+ P = np.array([x, y]) + epsilon * u
441
+ coordinates.text = f"{P[0]:f}{cs}{P[1]:f}"
442
+ warnings.append(
443
+ "slightly offseting {} orientation for data {} at ({:f}, {:f})".format(
444
+ formation, orientation.attrib["ObservationID"], x, y
445
+ )
446
+ )
447
+
448
+ provenance_group.clear()
449
+ for key, rank in provenances.items():
450
+ provenance_group.append(geo.Provenance(id=key, rank="%d" % rank))
451
+
452
+ outputfile = options.output_file.strip()
453
+ if len(outputfile) > 0:
454
+ backup = projectfile + ".bak"
455
+ warn(f"overwriting existing project file (backup in: {backup})")
456
+ shutil.copy(projectfile, backup)
457
+ outputfile = projectfile
458
+ if not outputfile.endswith(".xml"):
459
+ outputfile += ".xml"
460
+ tree.write(
461
+ outputfile,
462
+ xml_declaration=True,
463
+ encoding="utf-8",
464
+ method="xml",
465
+ pretty_print=True,
466
+ )
467
+
468
+ logfilename = options.logfilename.strip()
469
+ if len(logfilename) > 0:
470
+ with open(logfilename, "w") as logfile:
471
+ logfile.writelines(warnings)
472
+ elif not options.quiet:
473
+ pass
474
+
475
+
476
+ def append_crs_info(projectfile, crsinfo):
477
+ tree, root = load_project_xml(projectfile)
478
+ gmcrs, qgiscrs = crsinfo
479
+ if gmcrs is not None:
480
+ assert "CoordSystem" in root.attrib
481
+ assert root.attrib["CoordSystem"] == gmcrs
482
+ if qgiscrs is not None:
483
+ assert "QGisCRS" not in root.attrib or root.attrib["QGisCRS"] == qgiscrs
484
+ if gmcrs is None:
485
+ root.attrib["CoordSystem"] = "local"
486
+ root.attrib["QGisCRS"] = qgiscrs
487
+ # Overwriting file
488
+ tree.write(
489
+ projectfile,
490
+ xml_declaration=True,
491
+ encoding="utf-8",
492
+ method="xml",
493
+ pretty_print=True,
494
+ )
495
+
496
+
497
+ if __name__ == "__main__":
498
+ parser = setup_parser()
499
+ options, args = parser.parse_args()
500
+ projectfile = args[0]
501
+ if len(args) > 1:
502
+ print(
503
+ "WARNING: The following arguments will not be processed: "
504
+ + " ".join(args[1:]),
505
+ file=sys.stderr,
506
+ )
507
+ project, provenances = load_project(projectfile, options.provenances)
508
+ process(project, provenances, options)
@@ -0,0 +1,45 @@
1
+ #
2
+ # This file is part of gmlib. It is free software.
3
+ # You can redistribute it and/or modify it under the terms of the GNU Affero General Public License version 3.
4
+ #
5
+
6
+ from pathlib import Path
7
+
8
+ from forgeo.gmlib.GeologicalModel3D import GeologicalModel
9
+
10
+
11
+ class Data_dumper:
12
+ def __init__(self, f, *headers):
13
+ self.f = f
14
+ self.line_length = len(headers)
15
+ self(*headers)
16
+
17
+ def _line(self, items):
18
+ if len(items) < self.line_length:
19
+ items = items + ("",) * (self.line_length - len(items))
20
+ return ";".join([s if isinstance(s, str) else f"{s:.18e}" for s in items])
21
+
22
+ def __call__(self, *items):
23
+ print(self._line(items), file=self.f)
24
+
25
+
26
+ def fault_data_from_model(filepath):
27
+ filename = Path(filepath)
28
+ if filename.exists():
29
+ data = GeologicalModel.extract_data(str(filename))
30
+ else:
31
+ raise OSError(str(filename) + " not found!")
32
+
33
+ data = data["faults_data"]
34
+
35
+ with Path(f"{filename.stem}-faults-data.csv").open("w") as f:
36
+ dump = Data_dumper(f, "name", "x", "y", "z", "gx", "gy", "gz")
37
+ for name, fdata in data.items():
38
+ potdata = fdata.potential_data
39
+ interfaces = potdata.interfaces
40
+ assert len(interfaces) == 1
41
+ for M in interfaces[0]:
42
+ dump(name, *M)
43
+ gradients = potdata.gradients
44
+ for M, G in zip(gradients.locations, gradients.values):
45
+ dump(name, *M, *G)
@@ -0,0 +1,40 @@
1
+ import numpy as np
2
+
3
+
4
+ def normalized_gradient(azimuth, dip, polarity, degrees=False):
5
+ """
6
+ Compute a GeoModeller unit gradient that corresponds to dip dir measures.
7
+
8
+ :param degrees: boolean to tell if angular data are measured in degrees,
9
+ defaults to False
10
+ """
11
+ azimuth = np.asarray(azimuth, dtype=np.double)
12
+ dip = np.asarray(dip, dtype=np.double)
13
+ polarity = np.asarray(polarity, np.double)
14
+ if degrees:
15
+ azimuth = azimuth * (np.pi / 180.0)
16
+ dip = dip * (np.pi / 180.0)
17
+ assert np.all((azimuth >= 0) & (azimuth <= 2 * np.pi))
18
+ azimuth = 0.5 * np.pi - azimuth # North is at pi/2 and counter clock wise
19
+ assert np.all((dip >= 0) & (dip <= 0.5 * np.pi))
20
+ assert np.all((polarity == -1) | (polarity == 1))
21
+ assert azimuth.shape == dip.shape == polarity.shape
22
+ assert azimuth.ndim == 1
23
+ # unit dip vector
24
+ u = np.vstack(
25
+ np.broadcast(
26
+ np.cos(dip) * np.cos(azimuth), np.cos(dip) * np.sin(azimuth), -np.sin(dip)
27
+ )
28
+ )
29
+ # unit normal horizontal vector
30
+ v = np.vstack(np.broadcast(np.sin(azimuth), -np.cos(azimuth), 0))
31
+ assert np.allclose(np.sum(u * v, axis=1), 0)
32
+ # return gradient vector
33
+ return polarity[:, None] * np.cross(u, v, axis=1)
34
+
35
+
36
+ if __name__ == "__main__":
37
+ dip = [45, 90, 0, 45]
38
+ azimuth = [0, 90, 45, 45]
39
+ polarity = [1, 1, 1, -1]
40
+ g = normalized_gradient(azimuth, dip, polarity, degrees=True)
@@ -0,0 +1,35 @@
1
+ from dataclasses import dataclass
2
+
3
+
4
+ @dataclass
5
+ class BBox3:
6
+ xmin: float = None
7
+ xmax: float = None
8
+ ymin: float = None
9
+ ymax: float = None
10
+ zmin: float = None
11
+ zmax: float = None
12
+
13
+ # backward compatibility
14
+ def __getitem__(self, name):
15
+ try:
16
+ return getattr(self, name.lower())
17
+ except AttributeError:
18
+ msg = f"BBox3 has no {name} field"
19
+ raise KeyError(msg)
20
+
21
+ @property
22
+ def is_consistent(self):
23
+ return (
24
+ ((self.xmin is None and self.xmax is None) or (self.xmin <= self.xmax))
25
+ and ((self.ymin is None and self.ymax is None) or (self.ymin <= self.ymax))
26
+ and ((self.zmin is None and self.zmax is None) or (self.zmin <= self.zmax))
27
+ )
28
+
29
+ @property
30
+ def origin(self):
31
+ return self.xmin, self.ymin, self.zmin
32
+
33
+ @property
34
+ def extent(self):
35
+ return self.xmax - self.xmin, self.ymax - self.ymin, self.zmax - self.zmin
@@ -0,0 +1,23 @@
1
+ Metadata-Version: 2.4
2
+ Name: forgeo-gmlib
3
+ Version: 0.6.2
4
+ Summary: A python robust implicit geological surfaces meshing algorithm.
5
+ Author-Email: BRGM <forgeo@brgm.fr>
6
+ Maintainer-Email: Simon LOPEZ <s.lopez@brgm.fr>
7
+ License-File: LICENSE
8
+ Project-URL: repository, https://gitlab.com/brgm/geomodelling/model/gmlib
9
+ Requires-Python: >=3.9
10
+ Requires-Dist: numpy>=1.17
11
+ Requires-Dist: pyyaml
12
+ Requires-Dist: lxml
13
+ Requires-Dist: verstr>=0.1.2
14
+ Requires-Dist: forgeo>0.6
15
+ Provides-Extra: test
16
+ Requires-Dist: pytest; extra == "test"
17
+ Requires-Dist: matplotlib; extra == "test"
18
+ Requires-Dist: pypng==0.0.19; extra == "test"
19
+ Requires-Dist: vtkwriters>=0.0.3; extra == "test"
20
+ Requires-Dist: pycgal>=0.2.5; extra == "test"
21
+ Description-Content-Type: text/markdown
22
+
23
+ You may start with the [installation instructions](INSTALL.md).