pyvpmr 241011__tar.gz → 241217__tar.gz

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 (804) hide show
  1. {pyvpmr-241011/pyvpmr.egg-info → pyvpmr-241217}/PKG-INFO +73 -63
  2. {pyvpmr-241011 → pyvpmr-241217}/README.md +72 -62
  3. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/Core +1 -0
  4. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/Core/Array.h +14 -12
  5. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/Core/AssignEvaluator.h +26 -12
  6. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/Core/Assign_MKL.h +1 -1
  7. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/Core/CoreEvaluators.h +18 -15
  8. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/Core/CwiseNullaryOp.h +16 -10
  9. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/Core/DenseBase.h +17 -3
  10. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/Core/DenseCoeffsBase.h +4 -4
  11. pyvpmr-241217/eigen/Eigen/src/Core/DenseStorage.h +578 -0
  12. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/Core/DiagonalMatrix.h +5 -2
  13. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/Core/EigenBase.h +2 -2
  14. pyvpmr-241217/eigen/Eigen/src/Core/Fill.h +138 -0
  15. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/Core/GeneralProduct.h +2 -0
  16. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/Core/GenericPacketMath.h +9 -4
  17. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/Core/GlobalFunctions.h +1 -0
  18. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/Core/IO.h +2 -2
  19. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/Core/MathFunctions.h +57 -0
  20. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/Core/Matrix.h +11 -10
  21. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/Core/MatrixBase.h +2 -2
  22. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/Core/PlainObjectBase.h +6 -19
  23. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/Core/RandomImpl.h +2 -0
  24. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/Core/Reverse.h +10 -4
  25. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/Core/StlIterators.h +1 -1
  26. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/Core/arch/AVX/MathFunctions.h +4 -5
  27. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/Core/arch/AVX/PacketMath.h +43 -0
  28. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/Core/arch/AVX512/MathFunctions.h +2 -0
  29. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/Core/arch/AVX512/PacketMath.h +17 -7
  30. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/Core/arch/AltiVec/PacketMath.h +8 -0
  31. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/Core/arch/Default/BFloat16.h +26 -0
  32. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/Core/arch/Default/GenericPacketMathFunctions.h +226 -295
  33. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/Core/arch/Default/GenericPacketMathFunctionsFwd.h +51 -38
  34. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/Core/arch/Default/Half.h +8 -0
  35. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/Core/arch/GPU/MathFunctions.h +11 -0
  36. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/Core/arch/NEON/MathFunctions.h +1 -0
  37. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/Core/arch/NEON/PacketMath.h +3 -1
  38. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/Core/arch/SSE/PacketMath.h +25 -5
  39. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/Core/arch/SVE/PacketMath.h +2 -1
  40. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/Core/functors/NullaryFunctors.h +13 -3
  41. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/Core/functors/UnaryFunctors.h +17 -1
  42. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/Core/products/GeneralMatrixMatrixTriangular.h +5 -1
  43. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/Core/products/SelfadjointMatrixVector.h +2 -0
  44. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/Core/products/TriangularMatrixMatrix.h +2 -9
  45. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/Core/products/TriangularMatrixVector.h +2 -0
  46. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/Core/util/DisableStupidWarnings.h +1 -1
  47. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/Core/util/ForwardDeclarations.h +11 -0
  48. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/Core/util/IndexedViewHelper.h +1 -1
  49. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/Core/util/Macros.h +1 -8
  50. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/Core/util/Memory.h +5 -4
  51. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/Geometry/arch/Geometry_SIMD.h +3 -1
  52. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/SVD/BDCSVD.h +9 -4
  53. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/SparseCore/SparseMatrix.h +2 -0
  54. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/SparseCore/SparseVector.h +9 -0
  55. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/plugins/ArrayCwiseUnaryOps.inc +12 -1
  56. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/plugins/BlockMethods.inc +2 -2
  57. {pyvpmr-241011 → pyvpmr-241217}/eigen/README.md +1 -1
  58. {pyvpmr-241011 → pyvpmr-241217}/eigen/unsupported/Eigen/CXX11/Tensor +1 -0
  59. {pyvpmr-241011 → pyvpmr-241217}/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorBase.h +16 -0
  60. {pyvpmr-241011 → pyvpmr-241217}/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorForwardDeclarations.h +2 -0
  61. pyvpmr-241217/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorRoll.h +361 -0
  62. {pyvpmr-241011 → pyvpmr-241217}/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorStorage.h +0 -2
  63. {pyvpmr-241011 → pyvpmr-241217}/eigen/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h +231 -57
  64. {pyvpmr-241011 → pyvpmr-241217}/exprtk/exprtk.hpp +9292 -4209
  65. {pyvpmr-241011 → pyvpmr-241217}/exprtk/exprtk_benchmark.cpp +49 -44
  66. {pyvpmr-241011 → pyvpmr-241217}/exprtk/exprtk_simple_example_01.cpp +4 -3
  67. {pyvpmr-241011 → pyvpmr-241217}/exprtk/exprtk_simple_example_02.cpp +13 -12
  68. {pyvpmr-241011 → pyvpmr-241217}/exprtk/exprtk_simple_example_03.cpp +4 -3
  69. {pyvpmr-241011 → pyvpmr-241217}/exprtk/exprtk_simple_example_04.cpp +27 -25
  70. {pyvpmr-241011 → pyvpmr-241217}/exprtk/exprtk_simple_example_05.cpp +6 -5
  71. {pyvpmr-241011 → pyvpmr-241217}/exprtk/exprtk_simple_example_06.cpp +7 -6
  72. {pyvpmr-241011 → pyvpmr-241217}/exprtk/exprtk_simple_example_07.cpp +3 -2
  73. {pyvpmr-241011 → pyvpmr-241217}/exprtk/exprtk_simple_example_08.cpp +15 -12
  74. pyvpmr-241217/exprtk/exprtk_simple_example_09.cpp +180 -0
  75. {pyvpmr-241011 → pyvpmr-241217}/exprtk/exprtk_simple_example_10.cpp +31 -26
  76. {pyvpmr-241011 → pyvpmr-241217}/exprtk/exprtk_simple_example_11.cpp +10 -7
  77. {pyvpmr-241011 → pyvpmr-241217}/exprtk/exprtk_simple_example_12.cpp +20 -20
  78. {pyvpmr-241011 → pyvpmr-241217}/exprtk/exprtk_simple_example_13.cpp +26 -25
  79. {pyvpmr-241011 → pyvpmr-241217}/exprtk/exprtk_simple_example_14.cpp +11 -10
  80. {pyvpmr-241011 → pyvpmr-241217}/exprtk/exprtk_simple_example_15.cpp +31 -30
  81. {pyvpmr-241011 → pyvpmr-241217}/exprtk/exprtk_simple_example_16.cpp +17 -16
  82. {pyvpmr-241011 → pyvpmr-241217}/exprtk/exprtk_simple_example_17.cpp +4 -3
  83. pyvpmr-241217/exprtk/exprtk_simple_example_18.cpp +80 -0
  84. {pyvpmr-241011 → pyvpmr-241217}/exprtk/exprtk_simple_example_19.cpp +27 -25
  85. pyvpmr-241217/exprtk/exprtk_simple_example_20.cpp +109 -0
  86. pyvpmr-241217/exprtk/exprtk_simple_example_21.cpp +117 -0
  87. pyvpmr-241217/exprtk/exprtk_simple_example_22.cpp +144 -0
  88. pyvpmr-241217/exprtk/exprtk_simple_example_23.cpp +136 -0
  89. pyvpmr-241217/exprtk/exprtk_simple_example_24.cpp +143 -0
  90. pyvpmr-241217/exprtk/exprtk_test.cpp +12866 -0
  91. pyvpmr-241217/exprtk-custom-types/complex/complex_type.hpp +323 -0
  92. pyvpmr-241217/exprtk-custom-types/complex/exprtk_complex_adaptor.hpp +390 -0
  93. pyvpmr-241217/exprtk-custom-types/complex/exprtk_complex_example.cpp +87 -0
  94. {pyvpmr-241011 → pyvpmr-241217}/exprtk-custom-types/mpfr/exprtk_mpfr_adaptor.hpp +31 -9
  95. {pyvpmr-241011 → pyvpmr-241217}/exprtk-custom-types/mpfr/exprtk_mpfr_benchmark.cpp +25 -26
  96. {pyvpmr-241011 → pyvpmr-241217}/exprtk-custom-types/mpfr/exprtk_mpfr_repl.cpp +180 -133
  97. pyvpmr-241217/exprtk-custom-types/mpfr/exprtk_mpfr_test.cpp +12672 -0
  98. {pyvpmr-241011 → pyvpmr-241217}/exprtk-custom-types/real/exprtk_real_adaptor.hpp +49 -45
  99. {pyvpmr-241011 → pyvpmr-241217}/exprtk-custom-types/real/exprtk_real_benchmark.cpp +26 -26
  100. pyvpmr-241217/exprtk-custom-types/real/exprtk_real_test.cpp +12668 -0
  101. {pyvpmr-241011 → pyvpmr-241217}/exprtk-custom-types/real/real_type.hpp +29 -21
  102. {pyvpmr-241011 → pyvpmr-241217}/patch_size.patch +15 -8
  103. {pyvpmr-241011 → pyvpmr-241217}/pybind11/include/pybind11/cast.h +62 -8
  104. pyvpmr-241217/pybind11/include/pybind11/conduit/pybind11_conduit_v1.h +111 -0
  105. pyvpmr-241217/pybind11/include/pybind11/conduit/pybind11_platform_abi_id.h +88 -0
  106. pyvpmr-241217/pybind11/include/pybind11/conduit/wrap_include_python_h.h +72 -0
  107. {pyvpmr-241011 → pyvpmr-241217}/pybind11/include/pybind11/detail/class.h +54 -11
  108. {pyvpmr-241011 → pyvpmr-241217}/pybind11/include/pybind11/detail/common.h +21 -70
  109. {pyvpmr-241011 → pyvpmr-241217}/pybind11/include/pybind11/detail/descr.h +2 -3
  110. {pyvpmr-241011 → pyvpmr-241217}/pybind11/include/pybind11/detail/init.h +1 -1
  111. {pyvpmr-241011 → pyvpmr-241217}/pybind11/include/pybind11/detail/internals.h +3 -63
  112. {pyvpmr-241011 → pyvpmr-241217}/pybind11/include/pybind11/detail/type_caster_base.h +5 -12
  113. {pyvpmr-241011 → pyvpmr-241217}/pybind11/include/pybind11/eigen/tensor.h +3 -3
  114. {pyvpmr-241011 → pyvpmr-241217}/pybind11/include/pybind11/numpy.h +95 -2
  115. {pyvpmr-241011 → pyvpmr-241217}/pybind11/include/pybind11/pybind11.h +61 -23
  116. {pyvpmr-241011 → pyvpmr-241217}/pybind11/include/pybind11/pytypes.h +27 -5
  117. {pyvpmr-241011 → pyvpmr-241217}/pybind11/include/pybind11/stl/filesystem.h +2 -0
  118. {pyvpmr-241011 → pyvpmr-241217}/pybind11/include/pybind11/typing.h +57 -6
  119. {pyvpmr-241011 → pyvpmr-241217}/pybind11/pyproject.toml +0 -1
  120. {pyvpmr-241011 → pyvpmr-241217}/pyproject.toml +5 -4
  121. {pyvpmr-241011 → pyvpmr-241217/pyvpmr.egg-info}/PKG-INFO +73 -63
  122. {pyvpmr-241011 → pyvpmr-241217}/pyvpmr.egg-info/SOURCES.txt +13 -0
  123. pyvpmr-241217/setup.py +75 -0
  124. {pyvpmr-241011 → pyvpmr-241217}/src/Gauss.hpp +6 -4
  125. pyvpmr-241011/eigen/Eigen/src/Core/DenseStorage.h +0 -650
  126. pyvpmr-241011/exprtk/exprtk_simple_example_09.cpp +0 -152
  127. pyvpmr-241011/exprtk/exprtk_simple_example_18.cpp +0 -79
  128. pyvpmr-241011/exprtk/exprtk_test.cpp +0 -9405
  129. pyvpmr-241011/exprtk-custom-types/mpfr/exprtk_mpfr_test.cpp +0 -9342
  130. pyvpmr-241011/exprtk-custom-types/real/exprtk_real_test.cpp +0 -9342
  131. pyvpmr-241011/setup.py +0 -38
  132. {pyvpmr-241011 → pyvpmr-241217}/LICENSE +0 -0
  133. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/AccelerateSupport +0 -0
  134. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/Cholesky +0 -0
  135. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/CholmodSupport +0 -0
  136. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/Dense +0 -0
  137. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/Eigen +0 -0
  138. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/Eigenvalues +0 -0
  139. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/Geometry +0 -0
  140. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/Householder +0 -0
  141. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/IterativeLinearSolvers +0 -0
  142. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/Jacobi +0 -0
  143. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/KLUSupport +0 -0
  144. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/LU +0 -0
  145. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/MetisSupport +0 -0
  146. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/OrderingMethods +0 -0
  147. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/PaStiXSupport +0 -0
  148. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/PardisoSupport +0 -0
  149. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/QR +0 -0
  150. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/QtAlignedMalloc +0 -0
  151. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/SPQRSupport +0 -0
  152. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/SVD +0 -0
  153. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/Sparse +0 -0
  154. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/SparseCholesky +0 -0
  155. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/SparseCore +0 -0
  156. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/SparseLU +0 -0
  157. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/SparseQR +0 -0
  158. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/StdDeque +0 -0
  159. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/StdList +0 -0
  160. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/StdVector +0 -0
  161. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/SuperLUSupport +0 -0
  162. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/ThreadPool +0 -0
  163. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/UmfPackSupport +0 -0
  164. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/AccelerateSupport/AccelerateSupport.h +0 -0
  165. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/AccelerateSupport/InternalHeaderCheck.h +0 -0
  166. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/Cholesky/InternalHeaderCheck.h +0 -0
  167. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/Cholesky/LDLT.h +0 -0
  168. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/Cholesky/LLT.h +0 -0
  169. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/Cholesky/LLT_LAPACKE.h +0 -0
  170. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/CholmodSupport/CholmodSupport.h +0 -0
  171. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/CholmodSupport/InternalHeaderCheck.h +0 -0
  172. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/Core/ArithmeticSequence.h +0 -0
  173. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/Core/ArrayBase.h +0 -0
  174. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/Core/ArrayWrapper.h +0 -0
  175. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/Core/Assign.h +0 -0
  176. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/Core/BandMatrix.h +0 -0
  177. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/Core/Block.h +0 -0
  178. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/Core/CommaInitializer.h +0 -0
  179. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/Core/ConditionEstimator.h +0 -0
  180. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/Core/CoreIterators.h +0 -0
  181. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/Core/CwiseBinaryOp.h +0 -0
  182. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/Core/CwiseTernaryOp.h +0 -0
  183. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/Core/CwiseUnaryOp.h +0 -0
  184. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/Core/CwiseUnaryView.h +0 -0
  185. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/Core/DeviceWrapper.h +0 -0
  186. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/Core/Diagonal.h +0 -0
  187. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/Core/DiagonalProduct.h +0 -0
  188. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/Core/Dot.h +0 -0
  189. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/Core/ForceAlignedAccess.h +0 -0
  190. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/Core/Fuzzy.h +0 -0
  191. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/Core/IndexedView.h +0 -0
  192. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/Core/InnerProduct.h +0 -0
  193. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/Core/InternalHeaderCheck.h +0 -0
  194. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/Core/Inverse.h +0 -0
  195. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/Core/Map.h +0 -0
  196. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/Core/MapBase.h +0 -0
  197. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/Core/MathFunctionsImpl.h +0 -0
  198. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/Core/NestByValue.h +0 -0
  199. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/Core/NoAlias.h +0 -0
  200. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/Core/NumTraits.h +0 -0
  201. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/Core/PartialReduxEvaluator.h +0 -0
  202. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/Core/PermutationMatrix.h +0 -0
  203. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/Core/Product.h +0 -0
  204. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/Core/ProductEvaluators.h +0 -0
  205. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/Core/Random.h +0 -0
  206. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/Core/Redux.h +0 -0
  207. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/Core/Ref.h +0 -0
  208. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/Core/Replicate.h +0 -0
  209. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/Core/Reshaped.h +0 -0
  210. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/Core/ReturnByValue.h +0 -0
  211. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/Core/Select.h +0 -0
  212. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/Core/SelfAdjointView.h +0 -0
  213. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/Core/SelfCwiseBinaryOp.h +0 -0
  214. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/Core/SkewSymmetricMatrix3.h +0 -0
  215. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/Core/Solve.h +0 -0
  216. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/Core/SolveTriangular.h +0 -0
  217. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/Core/SolverBase.h +0 -0
  218. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/Core/StableNorm.h +0 -0
  219. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/Core/Stride.h +0 -0
  220. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/Core/Swap.h +0 -0
  221. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/Core/Transpose.h +0 -0
  222. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/Core/Transpositions.h +0 -0
  223. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/Core/TriangularMatrix.h +0 -0
  224. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/Core/VectorBlock.h +0 -0
  225. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/Core/VectorwiseOp.h +0 -0
  226. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/Core/Visitor.h +0 -0
  227. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/Core/arch/AVX/Complex.h +0 -0
  228. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/Core/arch/AVX/TypeCasting.h +0 -0
  229. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/Core/arch/AVX512/Complex.h +0 -0
  230. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/Core/arch/AVX512/GemmKernel.h +0 -0
  231. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/Core/arch/AVX512/PacketMathFP16.h +0 -0
  232. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/Core/arch/AVX512/TrsmKernel.h +0 -0
  233. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/Core/arch/AVX512/TrsmUnrolls.inc +0 -0
  234. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/Core/arch/AVX512/TypeCasting.h +0 -0
  235. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/Core/arch/AltiVec/Complex.h +0 -0
  236. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/Core/arch/AltiVec/MathFunctions.h +0 -0
  237. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/Core/arch/AltiVec/MatrixProduct.h +0 -0
  238. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/Core/arch/AltiVec/MatrixProductCommon.h +0 -0
  239. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/Core/arch/AltiVec/MatrixProductMMA.h +0 -0
  240. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/Core/arch/AltiVec/MatrixProductMMAbfloat16.h +0 -0
  241. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/Core/arch/AltiVec/MatrixVectorProduct.h +0 -0
  242. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/Core/arch/AltiVec/TypeCasting.h +0 -0
  243. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/Core/arch/Default/ConjHelper.h +0 -0
  244. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/Core/arch/Default/Settings.h +0 -0
  245. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/Core/arch/GPU/Complex.h +0 -0
  246. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/Core/arch/GPU/PacketMath.h +0 -0
  247. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/Core/arch/GPU/Tuple.h +0 -0
  248. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/Core/arch/GPU/TypeCasting.h +0 -0
  249. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/Core/arch/HIP/hcc/math_constants.h +0 -0
  250. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/Core/arch/HVX/PacketMath.h +0 -0
  251. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/Core/arch/MSA/Complex.h +0 -0
  252. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/Core/arch/MSA/MathFunctions.h +0 -0
  253. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/Core/arch/MSA/PacketMath.h +0 -0
  254. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/Core/arch/NEON/Complex.h +0 -0
  255. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/Core/arch/NEON/GeneralBlockPanelKernel.h +0 -0
  256. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/Core/arch/NEON/TypeCasting.h +0 -0
  257. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/Core/arch/NEON/UnaryFunctors.h +0 -0
  258. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/Core/arch/SSE/Complex.h +0 -0
  259. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/Core/arch/SSE/MathFunctions.h +0 -0
  260. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/Core/arch/SSE/TypeCasting.h +0 -0
  261. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/Core/arch/SVE/MathFunctions.h +0 -0
  262. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/Core/arch/SVE/TypeCasting.h +0 -0
  263. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/Core/arch/SYCL/InteropHeaders.h +0 -0
  264. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/Core/arch/SYCL/MathFunctions.h +0 -0
  265. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/Core/arch/SYCL/PacketMath.h +0 -0
  266. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/Core/arch/SYCL/TypeCasting.h +0 -0
  267. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/Core/arch/ZVector/Complex.h +0 -0
  268. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/Core/arch/ZVector/MathFunctions.h +0 -0
  269. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/Core/arch/ZVector/PacketMath.h +0 -0
  270. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/Core/functors/AssignmentFunctors.h +0 -0
  271. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/Core/functors/BinaryFunctors.h +0 -0
  272. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/Core/functors/StlFunctors.h +0 -0
  273. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/Core/functors/TernaryFunctors.h +0 -0
  274. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/Core/products/GeneralBlockPanelKernel.h +0 -0
  275. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/Core/products/GeneralMatrixMatrix.h +0 -0
  276. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/Core/products/GeneralMatrixMatrixTriangular_BLAS.h +0 -0
  277. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/Core/products/GeneralMatrixMatrix_BLAS.h +0 -0
  278. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/Core/products/GeneralMatrixVector.h +0 -0
  279. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/Core/products/GeneralMatrixVector_BLAS.h +0 -0
  280. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/Core/products/Parallelizer.h +0 -0
  281. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/Core/products/SelfadjointMatrixMatrix.h +0 -0
  282. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/Core/products/SelfadjointMatrixMatrix_BLAS.h +0 -0
  283. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/Core/products/SelfadjointMatrixVector_BLAS.h +0 -0
  284. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/Core/products/SelfadjointProduct.h +0 -0
  285. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/Core/products/SelfadjointRank2Update.h +0 -0
  286. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/Core/products/TriangularMatrixMatrix_BLAS.h +0 -0
  287. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/Core/products/TriangularMatrixVector_BLAS.h +0 -0
  288. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/Core/products/TriangularSolverMatrix.h +0 -0
  289. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/Core/products/TriangularSolverMatrix_BLAS.h +0 -0
  290. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/Core/products/TriangularSolverVector.h +0 -0
  291. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/Core/util/Assert.h +0 -0
  292. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/Core/util/BlasUtil.h +0 -0
  293. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/Core/util/ConfigureVectorization.h +0 -0
  294. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/Core/util/Constants.h +0 -0
  295. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/Core/util/EmulateArray.h +0 -0
  296. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/Core/util/IntegralConstant.h +0 -0
  297. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/Core/util/MKL_support.h +0 -0
  298. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/Core/util/MaxSizeVector.h +0 -0
  299. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/Core/util/Meta.h +0 -0
  300. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/Core/util/MoreMeta.h +0 -0
  301. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/Core/util/ReenableStupidWarnings.h +0 -0
  302. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/Core/util/ReshapedHelper.h +0 -0
  303. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/Core/util/Serializer.h +0 -0
  304. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/Core/util/StaticAssert.h +0 -0
  305. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/Core/util/SymbolicIndex.h +0 -0
  306. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/Core/util/XprHelper.h +0 -0
  307. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/Eigenvalues/ComplexEigenSolver.h +0 -0
  308. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/Eigenvalues/ComplexSchur.h +0 -0
  309. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/Eigenvalues/ComplexSchur_LAPACKE.h +0 -0
  310. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/Eigenvalues/EigenSolver.h +0 -0
  311. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/Eigenvalues/GeneralizedEigenSolver.h +0 -0
  312. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/Eigenvalues/GeneralizedSelfAdjointEigenSolver.h +0 -0
  313. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/Eigenvalues/HessenbergDecomposition.h +0 -0
  314. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/Eigenvalues/InternalHeaderCheck.h +0 -0
  315. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/Eigenvalues/MatrixBaseEigenvalues.h +0 -0
  316. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/Eigenvalues/RealQZ.h +0 -0
  317. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/Eigenvalues/RealSchur.h +0 -0
  318. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/Eigenvalues/RealSchur_LAPACKE.h +0 -0
  319. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/Eigenvalues/SelfAdjointEigenSolver.h +0 -0
  320. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/Eigenvalues/SelfAdjointEigenSolver_LAPACKE.h +0 -0
  321. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/Eigenvalues/Tridiagonalization.h +0 -0
  322. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/Geometry/AlignedBox.h +0 -0
  323. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/Geometry/AngleAxis.h +0 -0
  324. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/Geometry/EulerAngles.h +0 -0
  325. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/Geometry/Homogeneous.h +0 -0
  326. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/Geometry/Hyperplane.h +0 -0
  327. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/Geometry/InternalHeaderCheck.h +0 -0
  328. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/Geometry/OrthoMethods.h +0 -0
  329. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/Geometry/ParametrizedLine.h +0 -0
  330. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/Geometry/Quaternion.h +0 -0
  331. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/Geometry/Rotation2D.h +0 -0
  332. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/Geometry/RotationBase.h +0 -0
  333. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/Geometry/Scaling.h +0 -0
  334. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/Geometry/Transform.h +0 -0
  335. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/Geometry/Translation.h +0 -0
  336. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/Geometry/Umeyama.h +0 -0
  337. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/Householder/BlockHouseholder.h +0 -0
  338. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/Householder/Householder.h +0 -0
  339. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/Householder/HouseholderSequence.h +0 -0
  340. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/Householder/InternalHeaderCheck.h +0 -0
  341. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/IterativeLinearSolvers/BasicPreconditioners.h +0 -0
  342. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/IterativeLinearSolvers/BiCGSTAB.h +0 -0
  343. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/IterativeLinearSolvers/ConjugateGradient.h +0 -0
  344. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/IterativeLinearSolvers/IncompleteCholesky.h +0 -0
  345. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/IterativeLinearSolvers/IncompleteLUT.h +0 -0
  346. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/IterativeLinearSolvers/InternalHeaderCheck.h +0 -0
  347. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/IterativeLinearSolvers/IterativeSolverBase.h +0 -0
  348. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/IterativeLinearSolvers/LeastSquareConjugateGradient.h +0 -0
  349. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/IterativeLinearSolvers/SolveWithGuess.h +0 -0
  350. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/Jacobi/InternalHeaderCheck.h +0 -0
  351. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/Jacobi/Jacobi.h +0 -0
  352. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/KLUSupport/InternalHeaderCheck.h +0 -0
  353. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/KLUSupport/KLUSupport.h +0 -0
  354. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/LU/Determinant.h +0 -0
  355. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/LU/FullPivLU.h +0 -0
  356. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/LU/InternalHeaderCheck.h +0 -0
  357. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/LU/InverseImpl.h +0 -0
  358. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/LU/PartialPivLU.h +0 -0
  359. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/LU/PartialPivLU_LAPACKE.h +0 -0
  360. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/LU/arch/InverseSize4.h +0 -0
  361. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/MetisSupport/InternalHeaderCheck.h +0 -0
  362. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/MetisSupport/MetisSupport.h +0 -0
  363. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/OrderingMethods/Amd.h +0 -0
  364. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/OrderingMethods/Eigen_Colamd.h +0 -0
  365. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/OrderingMethods/InternalHeaderCheck.h +0 -0
  366. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/OrderingMethods/Ordering.h +0 -0
  367. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/PaStiXSupport/InternalHeaderCheck.h +0 -0
  368. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/PaStiXSupport/PaStiXSupport.h +0 -0
  369. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/PardisoSupport/InternalHeaderCheck.h +0 -0
  370. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/PardisoSupport/PardisoSupport.h +0 -0
  371. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/QR/ColPivHouseholderQR.h +0 -0
  372. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/QR/ColPivHouseholderQR_LAPACKE.h +0 -0
  373. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/QR/CompleteOrthogonalDecomposition.h +0 -0
  374. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/QR/FullPivHouseholderQR.h +0 -0
  375. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/QR/HouseholderQR.h +0 -0
  376. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/QR/HouseholderQR_LAPACKE.h +0 -0
  377. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/QR/InternalHeaderCheck.h +0 -0
  378. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/SPQRSupport/InternalHeaderCheck.h +0 -0
  379. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/SPQRSupport/SuiteSparseQRSupport.h +0 -0
  380. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/SVD/BDCSVD_LAPACKE.h +0 -0
  381. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/SVD/InternalHeaderCheck.h +0 -0
  382. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/SVD/JacobiSVD.h +0 -0
  383. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/SVD/JacobiSVD_LAPACKE.h +0 -0
  384. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/SVD/SVDBase.h +0 -0
  385. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/SVD/UpperBidiagonalization.h +0 -0
  386. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/SparseCholesky/InternalHeaderCheck.h +0 -0
  387. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/SparseCholesky/SimplicialCholesky.h +0 -0
  388. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/SparseCholesky/SimplicialCholesky_impl.h +0 -0
  389. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/SparseCore/AmbiVector.h +0 -0
  390. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/SparseCore/CompressedStorage.h +0 -0
  391. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/SparseCore/ConservativeSparseSparseProduct.h +0 -0
  392. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/SparseCore/InternalHeaderCheck.h +0 -0
  393. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/SparseCore/SparseAssign.h +0 -0
  394. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/SparseCore/SparseBlock.h +0 -0
  395. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/SparseCore/SparseColEtree.h +0 -0
  396. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/SparseCore/SparseCompressedBase.h +0 -0
  397. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/SparseCore/SparseCwiseBinaryOp.h +0 -0
  398. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/SparseCore/SparseCwiseUnaryOp.h +0 -0
  399. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/SparseCore/SparseDenseProduct.h +0 -0
  400. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/SparseCore/SparseDiagonalProduct.h +0 -0
  401. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/SparseCore/SparseDot.h +0 -0
  402. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/SparseCore/SparseFuzzy.h +0 -0
  403. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/SparseCore/SparseMap.h +0 -0
  404. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/SparseCore/SparseMatrixBase.h +0 -0
  405. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/SparseCore/SparsePermutation.h +0 -0
  406. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/SparseCore/SparseProduct.h +0 -0
  407. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/SparseCore/SparseRedux.h +0 -0
  408. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/SparseCore/SparseRef.h +0 -0
  409. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/SparseCore/SparseSelfAdjointView.h +0 -0
  410. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/SparseCore/SparseSolverBase.h +0 -0
  411. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/SparseCore/SparseSparseProductWithPruning.h +0 -0
  412. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/SparseCore/SparseTranspose.h +0 -0
  413. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/SparseCore/SparseTriangularView.h +0 -0
  414. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/SparseCore/SparseUtil.h +0 -0
  415. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/SparseCore/SparseView.h +0 -0
  416. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/SparseCore/TriangularSolver.h +0 -0
  417. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/SparseLU/InternalHeaderCheck.h +0 -0
  418. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/SparseLU/SparseLU.h +0 -0
  419. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/SparseLU/SparseLUImpl.h +0 -0
  420. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/SparseLU/SparseLU_Memory.h +0 -0
  421. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/SparseLU/SparseLU_Structs.h +0 -0
  422. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/SparseLU/SparseLU_SupernodalMatrix.h +0 -0
  423. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/SparseLU/SparseLU_Utils.h +0 -0
  424. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/SparseLU/SparseLU_column_bmod.h +0 -0
  425. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/SparseLU/SparseLU_column_dfs.h +0 -0
  426. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/SparseLU/SparseLU_copy_to_ucol.h +0 -0
  427. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/SparseLU/SparseLU_heap_relax_snode.h +0 -0
  428. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/SparseLU/SparseLU_kernel_bmod.h +0 -0
  429. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/SparseLU/SparseLU_panel_bmod.h +0 -0
  430. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/SparseLU/SparseLU_panel_dfs.h +0 -0
  431. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/SparseLU/SparseLU_pivotL.h +0 -0
  432. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/SparseLU/SparseLU_pruneL.h +0 -0
  433. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/SparseLU/SparseLU_relax_snode.h +0 -0
  434. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/SparseQR/InternalHeaderCheck.h +0 -0
  435. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/SparseQR/SparseQR.h +0 -0
  436. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/StlSupport/StdDeque.h +0 -0
  437. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/StlSupport/StdList.h +0 -0
  438. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/StlSupport/StdVector.h +0 -0
  439. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/StlSupport/details.h +0 -0
  440. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/SuperLUSupport/InternalHeaderCheck.h +0 -0
  441. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/SuperLUSupport/SuperLUSupport.h +0 -0
  442. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/ThreadPool/Barrier.h +0 -0
  443. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/ThreadPool/CoreThreadPoolDevice.h +0 -0
  444. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/ThreadPool/EventCount.h +0 -0
  445. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/ThreadPool/InternalHeaderCheck.h +0 -0
  446. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/ThreadPool/NonBlockingThreadPool.h +0 -0
  447. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/ThreadPool/RunQueue.h +0 -0
  448. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/ThreadPool/ThreadCancel.h +0 -0
  449. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/ThreadPool/ThreadEnvironment.h +0 -0
  450. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/ThreadPool/ThreadLocal.h +0 -0
  451. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/ThreadPool/ThreadPoolInterface.h +0 -0
  452. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/ThreadPool/ThreadYield.h +0 -0
  453. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/UmfPackSupport/InternalHeaderCheck.h +0 -0
  454. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/UmfPackSupport/UmfPackSupport.h +0 -0
  455. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/misc/Image.h +0 -0
  456. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/misc/InternalHeaderCheck.h +0 -0
  457. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/misc/Kernel.h +0 -0
  458. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/misc/RealSvd2x2.h +0 -0
  459. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/misc/blas.h +0 -0
  460. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/misc/lapacke.h +0 -0
  461. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/misc/lapacke_helpers.h +0 -0
  462. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/misc/lapacke_mangling.h +0 -0
  463. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/plugins/ArrayCwiseBinaryOps.inc +0 -0
  464. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/plugins/CommonCwiseBinaryOps.inc +0 -0
  465. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/plugins/CommonCwiseUnaryOps.inc +0 -0
  466. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/plugins/IndexedViewMethods.inc +0 -0
  467. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/plugins/InternalHeaderCheck.inc +0 -0
  468. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/plugins/MatrixCwiseBinaryOps.inc +0 -0
  469. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/plugins/MatrixCwiseUnaryOps.inc +0 -0
  470. {pyvpmr-241011 → pyvpmr-241217}/eigen/Eigen/src/plugins/ReshapedMethods.inc +0 -0
  471. {pyvpmr-241011 → pyvpmr-241217}/eigen/blas/BandTriangularSolver.h +0 -0
  472. {pyvpmr-241011 → pyvpmr-241217}/eigen/blas/GeneralRank1Update.h +0 -0
  473. {pyvpmr-241011 → pyvpmr-241217}/eigen/blas/PackedSelfadjointProduct.h +0 -0
  474. {pyvpmr-241011 → pyvpmr-241217}/eigen/blas/PackedTriangularMatrixVector.h +0 -0
  475. {pyvpmr-241011 → pyvpmr-241217}/eigen/blas/PackedTriangularSolverVector.h +0 -0
  476. {pyvpmr-241011 → pyvpmr-241217}/eigen/blas/Rank2Update.h +0 -0
  477. {pyvpmr-241011 → pyvpmr-241217}/eigen/blas/blas.h +0 -0
  478. {pyvpmr-241011 → pyvpmr-241217}/eigen/blas/common.h +0 -0
  479. {pyvpmr-241011 → pyvpmr-241217}/eigen/blas/complex_double.cpp +0 -0
  480. {pyvpmr-241011 → pyvpmr-241217}/eigen/blas/complex_single.cpp +0 -0
  481. {pyvpmr-241011 → pyvpmr-241217}/eigen/blas/double.cpp +0 -0
  482. {pyvpmr-241011 → pyvpmr-241217}/eigen/blas/f2c/chbmv.c +0 -0
  483. {pyvpmr-241011 → pyvpmr-241217}/eigen/blas/f2c/chpmv.c +0 -0
  484. {pyvpmr-241011 → pyvpmr-241217}/eigen/blas/f2c/complexdots.c +0 -0
  485. {pyvpmr-241011 → pyvpmr-241217}/eigen/blas/f2c/ctbmv.c +0 -0
  486. {pyvpmr-241011 → pyvpmr-241217}/eigen/blas/f2c/datatypes.h +0 -0
  487. {pyvpmr-241011 → pyvpmr-241217}/eigen/blas/f2c/drotm.c +0 -0
  488. {pyvpmr-241011 → pyvpmr-241217}/eigen/blas/f2c/drotmg.c +0 -0
  489. {pyvpmr-241011 → pyvpmr-241217}/eigen/blas/f2c/dsbmv.c +0 -0
  490. {pyvpmr-241011 → pyvpmr-241217}/eigen/blas/f2c/dspmv.c +0 -0
  491. {pyvpmr-241011 → pyvpmr-241217}/eigen/blas/f2c/dtbmv.c +0 -0
  492. {pyvpmr-241011 → pyvpmr-241217}/eigen/blas/f2c/lsame.c +0 -0
  493. {pyvpmr-241011 → pyvpmr-241217}/eigen/blas/f2c/srotm.c +0 -0
  494. {pyvpmr-241011 → pyvpmr-241217}/eigen/blas/f2c/srotmg.c +0 -0
  495. {pyvpmr-241011 → pyvpmr-241217}/eigen/blas/f2c/ssbmv.c +0 -0
  496. {pyvpmr-241011 → pyvpmr-241217}/eigen/blas/f2c/sspmv.c +0 -0
  497. {pyvpmr-241011 → pyvpmr-241217}/eigen/blas/f2c/stbmv.c +0 -0
  498. {pyvpmr-241011 → pyvpmr-241217}/eigen/blas/f2c/zhbmv.c +0 -0
  499. {pyvpmr-241011 → pyvpmr-241217}/eigen/blas/f2c/zhpmv.c +0 -0
  500. {pyvpmr-241011 → pyvpmr-241217}/eigen/blas/f2c/ztbmv.c +0 -0
  501. {pyvpmr-241011 → pyvpmr-241217}/eigen/blas/fortran/complexdots.f +0 -0
  502. {pyvpmr-241011 → pyvpmr-241217}/eigen/blas/level1_cplx_impl.h +0 -0
  503. {pyvpmr-241011 → pyvpmr-241217}/eigen/blas/level1_impl.h +0 -0
  504. {pyvpmr-241011 → pyvpmr-241217}/eigen/blas/level1_real_impl.h +0 -0
  505. {pyvpmr-241011 → pyvpmr-241217}/eigen/blas/level2_cplx_impl.h +0 -0
  506. {pyvpmr-241011 → pyvpmr-241217}/eigen/blas/level2_impl.h +0 -0
  507. {pyvpmr-241011 → pyvpmr-241217}/eigen/blas/level2_real_impl.h +0 -0
  508. {pyvpmr-241011 → pyvpmr-241217}/eigen/blas/level3_impl.h +0 -0
  509. {pyvpmr-241011 → pyvpmr-241217}/eigen/blas/single.cpp +0 -0
  510. {pyvpmr-241011 → pyvpmr-241217}/eigen/blas/testing/cblat1.f +0 -0
  511. {pyvpmr-241011 → pyvpmr-241217}/eigen/blas/testing/cblat2.f +0 -0
  512. {pyvpmr-241011 → pyvpmr-241217}/eigen/blas/testing/cblat3.f +0 -0
  513. {pyvpmr-241011 → pyvpmr-241217}/eigen/blas/testing/dblat1.f +0 -0
  514. {pyvpmr-241011 → pyvpmr-241217}/eigen/blas/testing/dblat2.f +0 -0
  515. {pyvpmr-241011 → pyvpmr-241217}/eigen/blas/testing/dblat3.f +0 -0
  516. {pyvpmr-241011 → pyvpmr-241217}/eigen/blas/testing/sblat1.f +0 -0
  517. {pyvpmr-241011 → pyvpmr-241217}/eigen/blas/testing/sblat2.f +0 -0
  518. {pyvpmr-241011 → pyvpmr-241217}/eigen/blas/testing/sblat3.f +0 -0
  519. {pyvpmr-241011 → pyvpmr-241217}/eigen/blas/testing/zblat1.f +0 -0
  520. {pyvpmr-241011 → pyvpmr-241217}/eigen/blas/testing/zblat2.f +0 -0
  521. {pyvpmr-241011 → pyvpmr-241217}/eigen/blas/testing/zblat3.f +0 -0
  522. {pyvpmr-241011 → pyvpmr-241217}/eigen/blas/xerbla.cpp +0 -0
  523. {pyvpmr-241011 → pyvpmr-241217}/eigen/lapack/cholesky.inc +0 -0
  524. {pyvpmr-241011 → pyvpmr-241217}/eigen/lapack/clacgv.f +0 -0
  525. {pyvpmr-241011 → pyvpmr-241217}/eigen/lapack/cladiv.f +0 -0
  526. {pyvpmr-241011 → pyvpmr-241217}/eigen/lapack/clarf.f +0 -0
  527. {pyvpmr-241011 → pyvpmr-241217}/eigen/lapack/clarfb.f +0 -0
  528. {pyvpmr-241011 → pyvpmr-241217}/eigen/lapack/clarfg.f +0 -0
  529. {pyvpmr-241011 → pyvpmr-241217}/eigen/lapack/clarft.f +0 -0
  530. {pyvpmr-241011 → pyvpmr-241217}/eigen/lapack/complex_double.cpp +0 -0
  531. {pyvpmr-241011 → pyvpmr-241217}/eigen/lapack/complex_single.cpp +0 -0
  532. {pyvpmr-241011 → pyvpmr-241217}/eigen/lapack/dladiv.f +0 -0
  533. {pyvpmr-241011 → pyvpmr-241217}/eigen/lapack/dlamch.f +0 -0
  534. {pyvpmr-241011 → pyvpmr-241217}/eigen/lapack/dlapy2.f +0 -0
  535. {pyvpmr-241011 → pyvpmr-241217}/eigen/lapack/dlapy3.f +0 -0
  536. {pyvpmr-241011 → pyvpmr-241217}/eigen/lapack/dlarf.f +0 -0
  537. {pyvpmr-241011 → pyvpmr-241217}/eigen/lapack/dlarfb.f +0 -0
  538. {pyvpmr-241011 → pyvpmr-241217}/eigen/lapack/dlarfg.f +0 -0
  539. {pyvpmr-241011 → pyvpmr-241217}/eigen/lapack/dlarft.f +0 -0
  540. {pyvpmr-241011 → pyvpmr-241217}/eigen/lapack/double.cpp +0 -0
  541. {pyvpmr-241011 → pyvpmr-241217}/eigen/lapack/dsecnd_INT_CPU_TIME.cpp +0 -0
  542. {pyvpmr-241011 → pyvpmr-241217}/eigen/lapack/dsecnd_NONE.f +0 -0
  543. {pyvpmr-241011 → pyvpmr-241217}/eigen/lapack/eigenvalues.inc +0 -0
  544. {pyvpmr-241011 → pyvpmr-241217}/eigen/lapack/ilaclc.f +0 -0
  545. {pyvpmr-241011 → pyvpmr-241217}/eigen/lapack/ilaclr.f +0 -0
  546. {pyvpmr-241011 → pyvpmr-241217}/eigen/lapack/iladlc.f +0 -0
  547. {pyvpmr-241011 → pyvpmr-241217}/eigen/lapack/iladlr.f +0 -0
  548. {pyvpmr-241011 → pyvpmr-241217}/eigen/lapack/ilaslc.f +0 -0
  549. {pyvpmr-241011 → pyvpmr-241217}/eigen/lapack/ilaslr.f +0 -0
  550. {pyvpmr-241011 → pyvpmr-241217}/eigen/lapack/ilazlc.f +0 -0
  551. {pyvpmr-241011 → pyvpmr-241217}/eigen/lapack/ilazlr.f +0 -0
  552. {pyvpmr-241011 → pyvpmr-241217}/eigen/lapack/lapack.h +0 -0
  553. {pyvpmr-241011 → pyvpmr-241217}/eigen/lapack/lapack_common.h +0 -0
  554. {pyvpmr-241011 → pyvpmr-241217}/eigen/lapack/lu.inc +0 -0
  555. {pyvpmr-241011 → pyvpmr-241217}/eigen/lapack/second_INT_CPU_TIME.cpp +0 -0
  556. {pyvpmr-241011 → pyvpmr-241217}/eigen/lapack/second_NONE.f +0 -0
  557. {pyvpmr-241011 → pyvpmr-241217}/eigen/lapack/single.cpp +0 -0
  558. {pyvpmr-241011 → pyvpmr-241217}/eigen/lapack/sladiv.f +0 -0
  559. {pyvpmr-241011 → pyvpmr-241217}/eigen/lapack/slamch.f +0 -0
  560. {pyvpmr-241011 → pyvpmr-241217}/eigen/lapack/slapy2.f +0 -0
  561. {pyvpmr-241011 → pyvpmr-241217}/eigen/lapack/slapy3.f +0 -0
  562. {pyvpmr-241011 → pyvpmr-241217}/eigen/lapack/slarf.f +0 -0
  563. {pyvpmr-241011 → pyvpmr-241217}/eigen/lapack/slarfb.f +0 -0
  564. {pyvpmr-241011 → pyvpmr-241217}/eigen/lapack/slarfg.f +0 -0
  565. {pyvpmr-241011 → pyvpmr-241217}/eigen/lapack/slarft.f +0 -0
  566. {pyvpmr-241011 → pyvpmr-241217}/eigen/lapack/svd.inc +0 -0
  567. {pyvpmr-241011 → pyvpmr-241217}/eigen/lapack/zlacgv.f +0 -0
  568. {pyvpmr-241011 → pyvpmr-241217}/eigen/lapack/zladiv.f +0 -0
  569. {pyvpmr-241011 → pyvpmr-241217}/eigen/lapack/zlarf.f +0 -0
  570. {pyvpmr-241011 → pyvpmr-241217}/eigen/lapack/zlarfb.f +0 -0
  571. {pyvpmr-241011 → pyvpmr-241217}/eigen/lapack/zlarfg.f +0 -0
  572. {pyvpmr-241011 → pyvpmr-241217}/eigen/lapack/zlarft.f +0 -0
  573. {pyvpmr-241011 → pyvpmr-241217}/eigen/signature_of_eigen3_matrix_library +0 -0
  574. {pyvpmr-241011 → pyvpmr-241217}/eigen/unsupported/Eigen/AdolcForward +0 -0
  575. {pyvpmr-241011 → pyvpmr-241217}/eigen/unsupported/Eigen/AlignedVector3 +0 -0
  576. {pyvpmr-241011 → pyvpmr-241217}/eigen/unsupported/Eigen/ArpackSupport +0 -0
  577. {pyvpmr-241011 → pyvpmr-241217}/eigen/unsupported/Eigen/AutoDiff +0 -0
  578. {pyvpmr-241011 → pyvpmr-241217}/eigen/unsupported/Eigen/BVH +0 -0
  579. {pyvpmr-241011 → pyvpmr-241217}/eigen/unsupported/Eigen/CXX11/TensorSymmetry +0 -0
  580. {pyvpmr-241011 → pyvpmr-241217}/eigen/unsupported/Eigen/CXX11/ThreadPool +0 -0
  581. {pyvpmr-241011 → pyvpmr-241217}/eigen/unsupported/Eigen/CXX11/src/Tensor/InternalHeaderCheck.h +0 -0
  582. {pyvpmr-241011 → pyvpmr-241217}/eigen/unsupported/Eigen/CXX11/src/Tensor/README.md +0 -0
  583. {pyvpmr-241011 → pyvpmr-241217}/eigen/unsupported/Eigen/CXX11/src/Tensor/Tensor.h +0 -0
  584. {pyvpmr-241011 → pyvpmr-241217}/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorArgMax.h +0 -0
  585. {pyvpmr-241011 → pyvpmr-241217}/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorAssign.h +0 -0
  586. {pyvpmr-241011 → pyvpmr-241217}/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorBlock.h +0 -0
  587. {pyvpmr-241011 → pyvpmr-241217}/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorBroadcasting.h +0 -0
  588. {pyvpmr-241011 → pyvpmr-241217}/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorChipping.h +0 -0
  589. {pyvpmr-241011 → pyvpmr-241217}/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorConcatenation.h +0 -0
  590. {pyvpmr-241011 → pyvpmr-241217}/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorContraction.h +0 -0
  591. {pyvpmr-241011 → pyvpmr-241217}/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorContractionBlocking.h +0 -0
  592. {pyvpmr-241011 → pyvpmr-241217}/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorContractionCuda.h +0 -0
  593. {pyvpmr-241011 → pyvpmr-241217}/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorContractionGpu.h +0 -0
  594. {pyvpmr-241011 → pyvpmr-241217}/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorContractionMapper.h +0 -0
  595. {pyvpmr-241011 → pyvpmr-241217}/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorContractionSycl.h +0 -0
  596. {pyvpmr-241011 → pyvpmr-241217}/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorContractionThreadPool.h +0 -0
  597. {pyvpmr-241011 → pyvpmr-241217}/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorConversion.h +0 -0
  598. {pyvpmr-241011 → pyvpmr-241217}/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorConvolution.h +0 -0
  599. {pyvpmr-241011 → pyvpmr-241217}/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorConvolutionSycl.h +0 -0
  600. {pyvpmr-241011 → pyvpmr-241217}/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorCostModel.h +0 -0
  601. {pyvpmr-241011 → pyvpmr-241217}/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorCustomOp.h +0 -0
  602. {pyvpmr-241011 → pyvpmr-241217}/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorDevice.h +0 -0
  603. {pyvpmr-241011 → pyvpmr-241217}/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorDeviceCuda.h +0 -0
  604. {pyvpmr-241011 → pyvpmr-241217}/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorDeviceDefault.h +0 -0
  605. {pyvpmr-241011 → pyvpmr-241217}/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorDeviceGpu.h +0 -0
  606. {pyvpmr-241011 → pyvpmr-241217}/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorDeviceSycl.h +0 -0
  607. {pyvpmr-241011 → pyvpmr-241217}/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorDeviceThreadPool.h +0 -0
  608. {pyvpmr-241011 → pyvpmr-241217}/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorDimensionList.h +0 -0
  609. {pyvpmr-241011 → pyvpmr-241217}/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorDimensions.h +0 -0
  610. {pyvpmr-241011 → pyvpmr-241217}/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorEvalTo.h +0 -0
  611. {pyvpmr-241011 → pyvpmr-241217}/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorEvaluator.h +0 -0
  612. {pyvpmr-241011 → pyvpmr-241217}/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorExecutor.h +0 -0
  613. {pyvpmr-241011 → pyvpmr-241217}/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorExpr.h +0 -0
  614. {pyvpmr-241011 → pyvpmr-241217}/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorFFT.h +0 -0
  615. {pyvpmr-241011 → pyvpmr-241217}/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorFixedSize.h +0 -0
  616. {pyvpmr-241011 → pyvpmr-241217}/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorForcedEval.h +0 -0
  617. {pyvpmr-241011 → pyvpmr-241217}/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorFunctors.h +0 -0
  618. {pyvpmr-241011 → pyvpmr-241217}/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorGenerator.h +0 -0
  619. {pyvpmr-241011 → pyvpmr-241217}/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorGlobalFunctions.h +0 -0
  620. {pyvpmr-241011 → pyvpmr-241217}/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorGpuHipCudaDefines.h +0 -0
  621. {pyvpmr-241011 → pyvpmr-241217}/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorGpuHipCudaUndefines.h +0 -0
  622. {pyvpmr-241011 → pyvpmr-241217}/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorIO.h +0 -0
  623. {pyvpmr-241011 → pyvpmr-241217}/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorImagePatch.h +0 -0
  624. {pyvpmr-241011 → pyvpmr-241217}/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorIndexList.h +0 -0
  625. {pyvpmr-241011 → pyvpmr-241217}/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorInflation.h +0 -0
  626. {pyvpmr-241011 → pyvpmr-241217}/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorInitializer.h +0 -0
  627. {pyvpmr-241011 → pyvpmr-241217}/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorIntDiv.h +0 -0
  628. {pyvpmr-241011 → pyvpmr-241217}/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorLayoutSwap.h +0 -0
  629. {pyvpmr-241011 → pyvpmr-241217}/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorMacros.h +0 -0
  630. {pyvpmr-241011 → pyvpmr-241217}/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorMap.h +0 -0
  631. {pyvpmr-241011 → pyvpmr-241217}/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorMeta.h +0 -0
  632. {pyvpmr-241011 → pyvpmr-241217}/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorMorphing.h +0 -0
  633. {pyvpmr-241011 → pyvpmr-241217}/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorPadding.h +0 -0
  634. {pyvpmr-241011 → pyvpmr-241217}/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorPatch.h +0 -0
  635. {pyvpmr-241011 → pyvpmr-241217}/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorRandom.h +0 -0
  636. {pyvpmr-241011 → pyvpmr-241217}/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorReduction.h +0 -0
  637. {pyvpmr-241011 → pyvpmr-241217}/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorReductionGpu.h +0 -0
  638. {pyvpmr-241011 → pyvpmr-241217}/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorReductionSycl.h +0 -0
  639. {pyvpmr-241011 → pyvpmr-241217}/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorRef.h +0 -0
  640. {pyvpmr-241011 → pyvpmr-241217}/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorReverse.h +0 -0
  641. {pyvpmr-241011 → pyvpmr-241217}/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorScan.h +0 -0
  642. {pyvpmr-241011 → pyvpmr-241217}/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorScanSycl.h +0 -0
  643. {pyvpmr-241011 → pyvpmr-241217}/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorShuffling.h +0 -0
  644. {pyvpmr-241011 → pyvpmr-241217}/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorStriding.h +0 -0
  645. {pyvpmr-241011 → pyvpmr-241217}/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorTrace.h +0 -0
  646. {pyvpmr-241011 → pyvpmr-241217}/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorTraits.h +0 -0
  647. {pyvpmr-241011 → pyvpmr-241217}/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorUInt128.h +0 -0
  648. {pyvpmr-241011 → pyvpmr-241217}/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorVolumePatch.h +0 -0
  649. {pyvpmr-241011 → pyvpmr-241217}/eigen/unsupported/Eigen/CXX11/src/TensorSymmetry/DynamicSymmetry.h +0 -0
  650. {pyvpmr-241011 → pyvpmr-241217}/eigen/unsupported/Eigen/CXX11/src/TensorSymmetry/InternalHeaderCheck.h +0 -0
  651. {pyvpmr-241011 → pyvpmr-241217}/eigen/unsupported/Eigen/CXX11/src/TensorSymmetry/StaticSymmetry.h +0 -0
  652. {pyvpmr-241011 → pyvpmr-241217}/eigen/unsupported/Eigen/CXX11/src/TensorSymmetry/Symmetry.h +0 -0
  653. {pyvpmr-241011 → pyvpmr-241217}/eigen/unsupported/Eigen/CXX11/src/TensorSymmetry/util/TemplateGroupTheory.h +0 -0
  654. {pyvpmr-241011 → pyvpmr-241217}/eigen/unsupported/Eigen/CXX11/src/util/CXX11Meta.h +0 -0
  655. {pyvpmr-241011 → pyvpmr-241217}/eigen/unsupported/Eigen/CXX11/src/util/CXX11Workarounds.h +0 -0
  656. {pyvpmr-241011 → pyvpmr-241217}/eigen/unsupported/Eigen/EulerAngles +0 -0
  657. {pyvpmr-241011 → pyvpmr-241217}/eigen/unsupported/Eigen/FFT +0 -0
  658. {pyvpmr-241011 → pyvpmr-241217}/eigen/unsupported/Eigen/IterativeSolvers +0 -0
  659. {pyvpmr-241011 → pyvpmr-241217}/eigen/unsupported/Eigen/KroneckerProduct +0 -0
  660. {pyvpmr-241011 → pyvpmr-241217}/eigen/unsupported/Eigen/LevenbergMarquardt +0 -0
  661. {pyvpmr-241011 → pyvpmr-241217}/eigen/unsupported/Eigen/MPRealSupport +0 -0
  662. {pyvpmr-241011 → pyvpmr-241217}/eigen/unsupported/Eigen/MatrixFunctions +0 -0
  663. {pyvpmr-241011 → pyvpmr-241217}/eigen/unsupported/Eigen/NNLS +0 -0
  664. {pyvpmr-241011 → pyvpmr-241217}/eigen/unsupported/Eigen/NonLinearOptimization +0 -0
  665. {pyvpmr-241011 → pyvpmr-241217}/eigen/unsupported/Eigen/NumericalDiff +0 -0
  666. {pyvpmr-241011 → pyvpmr-241217}/eigen/unsupported/Eigen/OpenGLSupport +0 -0
  667. {pyvpmr-241011 → pyvpmr-241217}/eigen/unsupported/Eigen/Polynomials +0 -0
  668. {pyvpmr-241011 → pyvpmr-241217}/eigen/unsupported/Eigen/SparseExtra +0 -0
  669. {pyvpmr-241011 → pyvpmr-241217}/eigen/unsupported/Eigen/SpecialFunctions +0 -0
  670. {pyvpmr-241011 → pyvpmr-241217}/eigen/unsupported/Eigen/Splines +0 -0
  671. {pyvpmr-241011 → pyvpmr-241217}/eigen/unsupported/Eigen/src/AutoDiff/AutoDiffJacobian.h +0 -0
  672. {pyvpmr-241011 → pyvpmr-241217}/eigen/unsupported/Eigen/src/AutoDiff/AutoDiffScalar.h +0 -0
  673. {pyvpmr-241011 → pyvpmr-241217}/eigen/unsupported/Eigen/src/AutoDiff/AutoDiffVector.h +0 -0
  674. {pyvpmr-241011 → pyvpmr-241217}/eigen/unsupported/Eigen/src/AutoDiff/CoherentPadOp.h +0 -0
  675. {pyvpmr-241011 → pyvpmr-241217}/eigen/unsupported/Eigen/src/AutoDiff/InternalHeaderCheck.h +0 -0
  676. {pyvpmr-241011 → pyvpmr-241217}/eigen/unsupported/Eigen/src/BVH/BVAlgorithms.h +0 -0
  677. {pyvpmr-241011 → pyvpmr-241217}/eigen/unsupported/Eigen/src/BVH/InternalHeaderCheck.h +0 -0
  678. {pyvpmr-241011 → pyvpmr-241217}/eigen/unsupported/Eigen/src/BVH/KdBVH.h +0 -0
  679. {pyvpmr-241011 → pyvpmr-241217}/eigen/unsupported/Eigen/src/Eigenvalues/ArpackSelfAdjointEigenSolver.h +0 -0
  680. {pyvpmr-241011 → pyvpmr-241217}/eigen/unsupported/Eigen/src/Eigenvalues/InternalHeaderCheck.h +0 -0
  681. {pyvpmr-241011 → pyvpmr-241217}/eigen/unsupported/Eigen/src/EulerAngles/EulerAngles.h +0 -0
  682. {pyvpmr-241011 → pyvpmr-241217}/eigen/unsupported/Eigen/src/EulerAngles/EulerSystem.h +0 -0
  683. {pyvpmr-241011 → pyvpmr-241217}/eigen/unsupported/Eigen/src/EulerAngles/InternalHeaderCheck.h +0 -0
  684. {pyvpmr-241011 → pyvpmr-241217}/eigen/unsupported/Eigen/src/FFT/InternalHeaderCheck.h +0 -0
  685. {pyvpmr-241011 → pyvpmr-241217}/eigen/unsupported/Eigen/src/FFT/ei_fftw_impl.h +0 -0
  686. {pyvpmr-241011 → pyvpmr-241217}/eigen/unsupported/Eigen/src/FFT/ei_imklfft_impl.h +0 -0
  687. {pyvpmr-241011 → pyvpmr-241217}/eigen/unsupported/Eigen/src/FFT/ei_kissfft_impl.h +0 -0
  688. {pyvpmr-241011 → pyvpmr-241217}/eigen/unsupported/Eigen/src/FFT/ei_pocketfft_impl.h +0 -0
  689. {pyvpmr-241011 → pyvpmr-241217}/eigen/unsupported/Eigen/src/IterativeSolvers/BiCGSTABL.h +0 -0
  690. {pyvpmr-241011 → pyvpmr-241217}/eigen/unsupported/Eigen/src/IterativeSolvers/DGMRES.h +0 -0
  691. {pyvpmr-241011 → pyvpmr-241217}/eigen/unsupported/Eigen/src/IterativeSolvers/GMRES.h +0 -0
  692. {pyvpmr-241011 → pyvpmr-241217}/eigen/unsupported/Eigen/src/IterativeSolvers/IDRS.h +0 -0
  693. {pyvpmr-241011 → pyvpmr-241217}/eigen/unsupported/Eigen/src/IterativeSolvers/IDRSTABL.h +0 -0
  694. {pyvpmr-241011 → pyvpmr-241217}/eigen/unsupported/Eigen/src/IterativeSolvers/IncompleteLU.h +0 -0
  695. {pyvpmr-241011 → pyvpmr-241217}/eigen/unsupported/Eigen/src/IterativeSolvers/InternalHeaderCheck.h +0 -0
  696. {pyvpmr-241011 → pyvpmr-241217}/eigen/unsupported/Eigen/src/IterativeSolvers/MINRES.h +0 -0
  697. {pyvpmr-241011 → pyvpmr-241217}/eigen/unsupported/Eigen/src/IterativeSolvers/Scaling.h +0 -0
  698. {pyvpmr-241011 → pyvpmr-241217}/eigen/unsupported/Eigen/src/KroneckerProduct/InternalHeaderCheck.h +0 -0
  699. {pyvpmr-241011 → pyvpmr-241217}/eigen/unsupported/Eigen/src/KroneckerProduct/KroneckerTensorProduct.h +0 -0
  700. {pyvpmr-241011 → pyvpmr-241217}/eigen/unsupported/Eigen/src/LevenbergMarquardt/InternalHeaderCheck.h +0 -0
  701. {pyvpmr-241011 → pyvpmr-241217}/eigen/unsupported/Eigen/src/LevenbergMarquardt/LMcovar.h +0 -0
  702. {pyvpmr-241011 → pyvpmr-241217}/eigen/unsupported/Eigen/src/LevenbergMarquardt/LMonestep.h +0 -0
  703. {pyvpmr-241011 → pyvpmr-241217}/eigen/unsupported/Eigen/src/LevenbergMarquardt/LMpar.h +0 -0
  704. {pyvpmr-241011 → pyvpmr-241217}/eigen/unsupported/Eigen/src/LevenbergMarquardt/LMqrsolv.h +0 -0
  705. {pyvpmr-241011 → pyvpmr-241217}/eigen/unsupported/Eigen/src/LevenbergMarquardt/LevenbergMarquardt.h +0 -0
  706. {pyvpmr-241011 → pyvpmr-241217}/eigen/unsupported/Eigen/src/MatrixFunctions/InternalHeaderCheck.h +0 -0
  707. {pyvpmr-241011 → pyvpmr-241217}/eigen/unsupported/Eigen/src/MatrixFunctions/MatrixExponential.h +0 -0
  708. {pyvpmr-241011 → pyvpmr-241217}/eigen/unsupported/Eigen/src/MatrixFunctions/MatrixFunction.h +0 -0
  709. {pyvpmr-241011 → pyvpmr-241217}/eigen/unsupported/Eigen/src/MatrixFunctions/MatrixLogarithm.h +0 -0
  710. {pyvpmr-241011 → pyvpmr-241217}/eigen/unsupported/Eigen/src/MatrixFunctions/MatrixPower.h +0 -0
  711. {pyvpmr-241011 → pyvpmr-241217}/eigen/unsupported/Eigen/src/MatrixFunctions/MatrixSquareRoot.h +0 -0
  712. {pyvpmr-241011 → pyvpmr-241217}/eigen/unsupported/Eigen/src/MatrixFunctions/StemFunction.h +0 -0
  713. {pyvpmr-241011 → pyvpmr-241217}/eigen/unsupported/Eigen/src/NonLinearOptimization/HybridNonLinearSolver.h +0 -0
  714. {pyvpmr-241011 → pyvpmr-241217}/eigen/unsupported/Eigen/src/NonLinearOptimization/InternalHeaderCheck.h +0 -0
  715. {pyvpmr-241011 → pyvpmr-241217}/eigen/unsupported/Eigen/src/NonLinearOptimization/LevenbergMarquardt.h +0 -0
  716. {pyvpmr-241011 → pyvpmr-241217}/eigen/unsupported/Eigen/src/NonLinearOptimization/chkder.h +0 -0
  717. {pyvpmr-241011 → pyvpmr-241217}/eigen/unsupported/Eigen/src/NonLinearOptimization/covar.h +0 -0
  718. {pyvpmr-241011 → pyvpmr-241217}/eigen/unsupported/Eigen/src/NonLinearOptimization/dogleg.h +0 -0
  719. {pyvpmr-241011 → pyvpmr-241217}/eigen/unsupported/Eigen/src/NonLinearOptimization/fdjac1.h +0 -0
  720. {pyvpmr-241011 → pyvpmr-241217}/eigen/unsupported/Eigen/src/NonLinearOptimization/lmpar.h +0 -0
  721. {pyvpmr-241011 → pyvpmr-241217}/eigen/unsupported/Eigen/src/NonLinearOptimization/qrsolv.h +0 -0
  722. {pyvpmr-241011 → pyvpmr-241217}/eigen/unsupported/Eigen/src/NonLinearOptimization/r1mpyq.h +0 -0
  723. {pyvpmr-241011 → pyvpmr-241217}/eigen/unsupported/Eigen/src/NonLinearOptimization/r1updt.h +0 -0
  724. {pyvpmr-241011 → pyvpmr-241217}/eigen/unsupported/Eigen/src/NonLinearOptimization/rwupdt.h +0 -0
  725. {pyvpmr-241011 → pyvpmr-241217}/eigen/unsupported/Eigen/src/NumericalDiff/InternalHeaderCheck.h +0 -0
  726. {pyvpmr-241011 → pyvpmr-241217}/eigen/unsupported/Eigen/src/NumericalDiff/NumericalDiff.h +0 -0
  727. {pyvpmr-241011 → pyvpmr-241217}/eigen/unsupported/Eigen/src/Polynomials/Companion.h +0 -0
  728. {pyvpmr-241011 → pyvpmr-241217}/eigen/unsupported/Eigen/src/Polynomials/InternalHeaderCheck.h +0 -0
  729. {pyvpmr-241011 → pyvpmr-241217}/eigen/unsupported/Eigen/src/Polynomials/PolynomialSolver.h +0 -0
  730. {pyvpmr-241011 → pyvpmr-241217}/eigen/unsupported/Eigen/src/Polynomials/PolynomialUtils.h +0 -0
  731. {pyvpmr-241011 → pyvpmr-241217}/eigen/unsupported/Eigen/src/SparseExtra/BlockSparseMatrix.h +0 -0
  732. {pyvpmr-241011 → pyvpmr-241217}/eigen/unsupported/Eigen/src/SparseExtra/InternalHeaderCheck.h +0 -0
  733. {pyvpmr-241011 → pyvpmr-241217}/eigen/unsupported/Eigen/src/SparseExtra/MarketIO.h +0 -0
  734. {pyvpmr-241011 → pyvpmr-241217}/eigen/unsupported/Eigen/src/SparseExtra/MatrixMarketIterator.h +0 -0
  735. {pyvpmr-241011 → pyvpmr-241217}/eigen/unsupported/Eigen/src/SparseExtra/RandomSetter.h +0 -0
  736. {pyvpmr-241011 → pyvpmr-241217}/eigen/unsupported/Eigen/src/SparseExtra/SparseInverse.h +0 -0
  737. {pyvpmr-241011 → pyvpmr-241217}/eigen/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsArrayAPI.h +0 -0
  738. {pyvpmr-241011 → pyvpmr-241217}/eigen/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsBFloat16.h +0 -0
  739. {pyvpmr-241011 → pyvpmr-241217}/eigen/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsFunctors.h +0 -0
  740. {pyvpmr-241011 → pyvpmr-241217}/eigen/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsHalf.h +0 -0
  741. {pyvpmr-241011 → pyvpmr-241217}/eigen/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h +0 -0
  742. {pyvpmr-241011 → pyvpmr-241217}/eigen/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsPacketMath.h +0 -0
  743. {pyvpmr-241011 → pyvpmr-241217}/eigen/unsupported/Eigen/src/SpecialFunctions/HipVectorCompatibility.h +0 -0
  744. {pyvpmr-241011 → pyvpmr-241217}/eigen/unsupported/Eigen/src/SpecialFunctions/InternalHeaderCheck.h +0 -0
  745. {pyvpmr-241011 → pyvpmr-241217}/eigen/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsArrayAPI.h +0 -0
  746. {pyvpmr-241011 → pyvpmr-241217}/eigen/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsBFloat16.h +0 -0
  747. {pyvpmr-241011 → pyvpmr-241217}/eigen/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsFunctors.h +0 -0
  748. {pyvpmr-241011 → pyvpmr-241217}/eigen/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsHalf.h +0 -0
  749. {pyvpmr-241011 → pyvpmr-241217}/eigen/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsPacketMath.h +0 -0
  750. {pyvpmr-241011 → pyvpmr-241217}/eigen/unsupported/Eigen/src/SpecialFunctions/arch/AVX/BesselFunctions.h +0 -0
  751. {pyvpmr-241011 → pyvpmr-241217}/eigen/unsupported/Eigen/src/SpecialFunctions/arch/AVX/SpecialFunctions.h +0 -0
  752. {pyvpmr-241011 → pyvpmr-241217}/eigen/unsupported/Eigen/src/SpecialFunctions/arch/AVX512/BesselFunctions.h +0 -0
  753. {pyvpmr-241011 → pyvpmr-241217}/eigen/unsupported/Eigen/src/SpecialFunctions/arch/AVX512/SpecialFunctions.h +0 -0
  754. {pyvpmr-241011 → pyvpmr-241217}/eigen/unsupported/Eigen/src/SpecialFunctions/arch/GPU/SpecialFunctions.h +0 -0
  755. {pyvpmr-241011 → pyvpmr-241217}/eigen/unsupported/Eigen/src/SpecialFunctions/arch/NEON/BesselFunctions.h +0 -0
  756. {pyvpmr-241011 → pyvpmr-241217}/eigen/unsupported/Eigen/src/SpecialFunctions/arch/NEON/SpecialFunctions.h +0 -0
  757. {pyvpmr-241011 → pyvpmr-241217}/eigen/unsupported/Eigen/src/Splines/InternalHeaderCheck.h +0 -0
  758. {pyvpmr-241011 → pyvpmr-241217}/eigen/unsupported/Eigen/src/Splines/Spline.h +0 -0
  759. {pyvpmr-241011 → pyvpmr-241217}/eigen/unsupported/Eigen/src/Splines/SplineFitting.h +0 -0
  760. {pyvpmr-241011 → pyvpmr-241217}/eigen/unsupported/Eigen/src/Splines/SplineFwd.h +0 -0
  761. {pyvpmr-241011 → pyvpmr-241217}/mpreal/README.md +0 -0
  762. {pyvpmr-241011 → pyvpmr-241217}/mpreal/mpreal.h +0 -0
  763. {pyvpmr-241011 → pyvpmr-241217}/pybind11/README.rst +0 -0
  764. {pyvpmr-241011 → pyvpmr-241217}/pybind11/SECURITY.md +0 -0
  765. {pyvpmr-241011 → pyvpmr-241217}/pybind11/include/pybind11/attr.h +0 -0
  766. {pyvpmr-241011 → pyvpmr-241217}/pybind11/include/pybind11/buffer_info.h +0 -0
  767. {pyvpmr-241011 → pyvpmr-241217}/pybind11/include/pybind11/chrono.h +0 -0
  768. {pyvpmr-241011 → pyvpmr-241217}/pybind11/include/pybind11/common.h +0 -0
  769. {pyvpmr-241011 → pyvpmr-241217}/pybind11/include/pybind11/complex.h +0 -0
  770. {pyvpmr-241011 → pyvpmr-241217}/pybind11/include/pybind11/detail/cpp_conduit.h +0 -0
  771. {pyvpmr-241011 → pyvpmr-241217}/pybind11/include/pybind11/detail/exception_translation.h +0 -0
  772. {pyvpmr-241011 → pyvpmr-241217}/pybind11/include/pybind11/detail/typeid.h +0 -0
  773. {pyvpmr-241011 → pyvpmr-241217}/pybind11/include/pybind11/detail/value_and_holder.h +0 -0
  774. {pyvpmr-241011 → pyvpmr-241217}/pybind11/include/pybind11/eigen/common.h +0 -0
  775. {pyvpmr-241011 → pyvpmr-241217}/pybind11/include/pybind11/eigen/matrix.h +0 -0
  776. {pyvpmr-241011 → pyvpmr-241217}/pybind11/include/pybind11/eigen.h +0 -0
  777. {pyvpmr-241011 → pyvpmr-241217}/pybind11/include/pybind11/embed.h +0 -0
  778. {pyvpmr-241011 → pyvpmr-241217}/pybind11/include/pybind11/eval.h +0 -0
  779. {pyvpmr-241011 → pyvpmr-241217}/pybind11/include/pybind11/functional.h +0 -0
  780. {pyvpmr-241011 → pyvpmr-241217}/pybind11/include/pybind11/gil.h +0 -0
  781. {pyvpmr-241011 → pyvpmr-241217}/pybind11/include/pybind11/gil_safe_call_once.h +0 -0
  782. {pyvpmr-241011 → pyvpmr-241217}/pybind11/include/pybind11/iostream.h +0 -0
  783. {pyvpmr-241011 → pyvpmr-241217}/pybind11/include/pybind11/operators.h +0 -0
  784. {pyvpmr-241011 → pyvpmr-241217}/pybind11/include/pybind11/options.h +0 -0
  785. {pyvpmr-241011 → pyvpmr-241217}/pybind11/include/pybind11/stl.h +0 -0
  786. {pyvpmr-241011 → pyvpmr-241217}/pybind11/include/pybind11/stl_bind.h +0 -0
  787. {pyvpmr-241011 → pyvpmr-241217}/pybind11/include/pybind11/type_caster_pyobject_ptr.h +0 -0
  788. {pyvpmr-241011 → pyvpmr-241217}/pybind11/include/pybind11/warnings.h +0 -0
  789. {pyvpmr-241011 → pyvpmr-241217}/pybind11/noxfile.py +0 -0
  790. {pyvpmr-241011 → pyvpmr-241217}/pybind11/pybind11/__init__.py +0 -0
  791. {pyvpmr-241011 → pyvpmr-241217}/pybind11/pybind11/__main__.py +0 -0
  792. {pyvpmr-241011 → pyvpmr-241217}/pybind11/pybind11/_version.py +0 -0
  793. {pyvpmr-241011 → pyvpmr-241217}/pybind11/pybind11/commands.py +0 -0
  794. {pyvpmr-241011 → pyvpmr-241217}/pybind11/pybind11/py.typed +0 -0
  795. {pyvpmr-241011 → pyvpmr-241217}/pybind11/pybind11/setup_helpers.py +0 -0
  796. {pyvpmr-241011 → pyvpmr-241217}/pybind11/setup.cfg +0 -0
  797. {pyvpmr-241011 → pyvpmr-241217}/pybind11/setup.py +0 -0
  798. {pyvpmr-241011 → pyvpmr-241217}/pyvpmr/__init__.py +0 -0
  799. {pyvpmr-241011 → pyvpmr-241217}/pyvpmr.egg-info/not-zip-safe +0 -0
  800. {pyvpmr-241011 → pyvpmr-241217}/setup.cfg +0 -0
  801. {pyvpmr-241011 → pyvpmr-241217}/src/BigInt.hpp +0 -0
  802. {pyvpmr-241011 → pyvpmr-241217}/src/Cache.hpp +0 -0
  803. {pyvpmr-241011 → pyvpmr-241217}/src/VPMR.cpp +0 -0
  804. {pyvpmr-241011 → pyvpmr-241217}/src/VPMR.h +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: pyvpmr
3
- Version: 241011
3
+ Version: 241217
4
4
  Summary: The VPMR Algorithm
5
5
  Author-email: Theodore Chang <tlcfem@gmail.com>
6
6
  Maintainer-email: Theodore Chang <tlcfem@gmail.com>
@@ -704,6 +704,8 @@ Requires-Dist: matplotlib
704
704
 
705
705
  # VPMR C++ Implementation
706
706
 
707
+ <img src="https://raw.githubusercontent.com/TLCFEM/vpmr/master/resource/vpmr.svg" width="150" align="middle"/>
708
+
707
709
  [![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.7770193.svg)](https://doi.org/10.5281/zenodo.7770193)
708
710
  [![codecov](https://codecov.io/gh/TLCFEM/vpmr/branch/master/graph/badge.svg?token=9QE6SQC3ZG)](https://codecov.io/gh/TLCFEM/vpmr)
709
711
  [![PyPI version](https://badge.fury.io/py/pyvpmr.svg)](https://pypi.org/project/pyvpmr/)
@@ -766,13 +768,13 @@ On RPM-based Linux distributions (using `dnf`), if you are:
766
768
  available), `sudo dnf install -y gcc-c++ tbb-devel mpfr-devel gmp-devel`
767
769
  2. using the packaged binary (wheels are available), `sudo dnf install -y gmp mpfr tbb`
768
770
 
769
- On DEB-based Linux distributions (using `apt`), you need to `sudo apt install -y libtbb-dev libmpfr-dev libgmp-dev`.
771
+ On DEB-based Linux distributions (using `apt`), you need to `sudo apt install -y g++ libtbb-dev libmpfr-dev libgmp-dev`.
770
772
 
771
773
  On macOS, you need to `brew install tbb mpfr gmp`.
772
774
 
773
775
  Then install the package with `pip`.
774
776
 
775
- ```
777
+ ```bash
776
778
  pip install pyvpmr
777
779
  ```
778
780
 
@@ -796,66 +798,6 @@ if __name__ == '__main__':
796
798
  plot(m, s, kernel)
797
799
  ```
798
800
 
799
- ### Compile Binary
800
-
801
- > [!WARNING]
802
- > The application relies on `eigen` and `exprtk`, which depend on very heavy usage of templates.
803
- > The compilation would take minutes and around 2 GB memory.
804
- > You need to install libraries `gmp`, `mpfr` and `tbb` before compiling.
805
-
806
- #### Docker
807
-
808
- To avoid the hassle of installing dependencies, you can use the provided `Dockerfile`.
809
- For example,
810
-
811
- ```bash
812
- wget -q https://raw.githubusercontent.com/TLCFEM/vpmr/master/Dockerfile
813
- docker build -t vpmr -f Dockerfile .
814
- ```
815
-
816
- Or you simply pull using the following command.
817
-
818
- ```bash
819
- docker pull tlcfem/vpmr
820
- # or using GitHub Container Registry
821
- docker pull ghcr.io/tlcfem/vmpr
822
- ```
823
-
824
- #### Windows
825
-
826
- Use the following instructions based on [MSYS2](https://www.msys2.org/), or follow the Linux instructions below with
827
- WSL.
828
-
829
- ```bash
830
- # install necessary packages
831
- pacman -S git mingw-w64-x86_64-cmake mingw-w64-x86_64-tbb mingw-w64-x86_64-gcc mingw-w64-x86_64-ninja mingw-w64-x86_64-gmp mingw-w64-x86_64-mpfr
832
- # clone the repository
833
- git clone --depth 1 https://github.com/TLCFEM/vpmr.git
834
- # initialise submodules
835
- cd vpmr
836
- git submodule update --init --recursive
837
- # apply patch to enable parallel evaluation of some loops in SVD
838
- cd eigen && git apply --ignore-space-change --ignore-whitespace ../patch_size.patch && cd ..
839
- # configure and compile
840
- cmake -G Ninja -DCMAKE_BUILD_TYPE=Release .
841
- ninja
842
- ```
843
-
844
- #### Linux
845
-
846
- The following is based on Fedora.
847
-
848
- ```bash
849
- sudo dnf install gcc g++ gfortran cmake git -y
850
- sudo dnf install tbb-devel mpfr-devel gmp-devel -y
851
- git clone --depth 1 https://github.com/TLCFEM/vpmr.git
852
- cd vpmr
853
- git submodule update --init --recursive
854
- cd eigen && git apply --ignore-space-change --ignore-whitespace ../patch_size.patch && cd ..
855
- cmake -DCMAKE_BUILD_TYPE=Release .
856
- make
857
- ```
858
-
859
801
  ### Usage
860
802
 
861
803
  All available options are:
@@ -942,6 +884,7 @@ The file should contain the kernel expressed as a function of variable `t`.
942
884
 
943
885
  The `exprtk` is used to parse the expression and compute the value.
944
886
  The provided kernel function must be valid and supported by `exprtk`.
887
+ Check the [documentation](https://www.partow.net/programming/exprtk/) regarding how to write a valid expression.
945
888
 
946
889
  For example, to compute the approximation of `exp(-t^2/10)`, one can create a file `kernel.txt` with the following
947
890
  content:
@@ -959,6 +902,73 @@ echo "exp(-t*t/10)" > kernel.txt
959
902
 
960
903
  ![exp(-t^2/10)](https://raw.githubusercontent.com/TLCFEM/vpmr/master/resource/arbitrary.png)
961
904
 
905
+ ## Performance
906
+
907
+ The computation of weights, that involves integrals, and SVD are parallelised.
908
+ A typical profiling would yield something similar to the following.
909
+
910
+ ![profiling](https://raw.githubusercontent.com/TLCFEM/vpmr/master/resource/profile.png)
911
+
912
+ ## Compilation
913
+
914
+ > [!WARNING]
915
+ > The application relies on `eigen` and `exprtk`, which depend on very heavy usage of templates.
916
+ > The compilation would take minutes and around 2 GB memory.
917
+ > You need to install libraries `gmp`, `mpfr` and `tbb` before compiling.
918
+
919
+ ### Docker
920
+
921
+ To avoid the hassle of installing dependencies, you can use the provided `Dockerfile`.
922
+ For example,
923
+
924
+ ```bash
925
+ wget -q https://raw.githubusercontent.com/TLCFEM/vpmr/master/Dockerfile
926
+ docker build -t vpmr -f Dockerfile .
927
+ ```
928
+
929
+ Or you simply pull using the following command.
930
+
931
+ ```bash
932
+ docker pull tlcfem/vpmr
933
+ # or using GitHub Container Registry
934
+ docker pull ghcr.io/tlcfem/vmpr
935
+ ```
936
+
937
+ ### Windows
938
+
939
+ Use the following instructions based on [MSYS2](https://www.msys2.org/), or follow the Linux instructions below with
940
+ WSL.
941
+
942
+ ```bash
943
+ # install necessary packages
944
+ pacman -S git mingw-w64-x86_64-cmake mingw-w64-x86_64-tbb mingw-w64-x86_64-gcc mingw-w64-x86_64-ninja mingw-w64-x86_64-gmp mingw-w64-x86_64-mpfr
945
+ # clone the repository
946
+ git clone --depth 1 https://github.com/TLCFEM/vpmr.git
947
+ # initialise submodules
948
+ cd vpmr
949
+ git submodule update --init --recursive
950
+ # apply patch to enable parallel evaluation of some loops in SVD
951
+ cd eigen && git apply --ignore-space-change --ignore-whitespace ../patch_size.patch && cd ..
952
+ # configure and compile
953
+ cmake -G Ninja -DCMAKE_BUILD_TYPE=Release .
954
+ ninja
955
+ ```
956
+
957
+ ### Linux
958
+
959
+ The following is based on Fedora.
960
+
961
+ ```bash
962
+ sudo dnf install gcc g++ gfortran cmake git -y
963
+ sudo dnf install tbb-devel mpfr-devel gmp-devel -y
964
+ git clone --depth 1 https://github.com/TLCFEM/vpmr.git
965
+ cd vpmr
966
+ git submodule update --init --recursive
967
+ cd eigen && git apply --ignore-space-change --ignore-whitespace ../patch_size.patch && cd ..
968
+ cmake -DCMAKE_BUILD_TYPE=Release .
969
+ make
970
+ ```
971
+
962
972
  ## Binary
963
973
 
964
974
  The binary requires available `gmp`, `mpfr` and `tbb` libraries.
@@ -1,5 +1,7 @@
1
1
  # VPMR C++ Implementation
2
2
 
3
+ <img src="resource/vpmr.svg" width="150" align="middle"/>
4
+
3
5
  [![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.7770193.svg)](https://doi.org/10.5281/zenodo.7770193)
4
6
  [![codecov](https://codecov.io/gh/TLCFEM/vpmr/branch/master/graph/badge.svg?token=9QE6SQC3ZG)](https://codecov.io/gh/TLCFEM/vpmr)
5
7
  [![PyPI version](https://badge.fury.io/py/pyvpmr.svg)](https://pypi.org/project/pyvpmr/)
@@ -62,13 +64,13 @@ On RPM-based Linux distributions (using `dnf`), if you are:
62
64
  available), `sudo dnf install -y gcc-c++ tbb-devel mpfr-devel gmp-devel`
63
65
  2. using the packaged binary (wheels are available), `sudo dnf install -y gmp mpfr tbb`
64
66
 
65
- On DEB-based Linux distributions (using `apt`), you need to `sudo apt install -y libtbb-dev libmpfr-dev libgmp-dev`.
67
+ On DEB-based Linux distributions (using `apt`), you need to `sudo apt install -y g++ libtbb-dev libmpfr-dev libgmp-dev`.
66
68
 
67
69
  On macOS, you need to `brew install tbb mpfr gmp`.
68
70
 
69
71
  Then install the package with `pip`.
70
72
 
71
- ```
73
+ ```bash
72
74
  pip install pyvpmr
73
75
  ```
74
76
 
@@ -92,66 +94,6 @@ if __name__ == '__main__':
92
94
  plot(m, s, kernel)
93
95
  ```
94
96
 
95
- ### Compile Binary
96
-
97
- > [!WARNING]
98
- > The application relies on `eigen` and `exprtk`, which depend on very heavy usage of templates.
99
- > The compilation would take minutes and around 2 GB memory.
100
- > You need to install libraries `gmp`, `mpfr` and `tbb` before compiling.
101
-
102
- #### Docker
103
-
104
- To avoid the hassle of installing dependencies, you can use the provided `Dockerfile`.
105
- For example,
106
-
107
- ```bash
108
- wget -q https://raw.githubusercontent.com/TLCFEM/vpmr/master/Dockerfile
109
- docker build -t vpmr -f Dockerfile .
110
- ```
111
-
112
- Or you simply pull using the following command.
113
-
114
- ```bash
115
- docker pull tlcfem/vpmr
116
- # or using GitHub Container Registry
117
- docker pull ghcr.io/tlcfem/vmpr
118
- ```
119
-
120
- #### Windows
121
-
122
- Use the following instructions based on [MSYS2](https://www.msys2.org/), or follow the Linux instructions below with
123
- WSL.
124
-
125
- ```bash
126
- # install necessary packages
127
- pacman -S git mingw-w64-x86_64-cmake mingw-w64-x86_64-tbb mingw-w64-x86_64-gcc mingw-w64-x86_64-ninja mingw-w64-x86_64-gmp mingw-w64-x86_64-mpfr
128
- # clone the repository
129
- git clone --depth 1 https://github.com/TLCFEM/vpmr.git
130
- # initialise submodules
131
- cd vpmr
132
- git submodule update --init --recursive
133
- # apply patch to enable parallel evaluation of some loops in SVD
134
- cd eigen && git apply --ignore-space-change --ignore-whitespace ../patch_size.patch && cd ..
135
- # configure and compile
136
- cmake -G Ninja -DCMAKE_BUILD_TYPE=Release .
137
- ninja
138
- ```
139
-
140
- #### Linux
141
-
142
- The following is based on Fedora.
143
-
144
- ```bash
145
- sudo dnf install gcc g++ gfortran cmake git -y
146
- sudo dnf install tbb-devel mpfr-devel gmp-devel -y
147
- git clone --depth 1 https://github.com/TLCFEM/vpmr.git
148
- cd vpmr
149
- git submodule update --init --recursive
150
- cd eigen && git apply --ignore-space-change --ignore-whitespace ../patch_size.patch && cd ..
151
- cmake -DCMAKE_BUILD_TYPE=Release .
152
- make
153
- ```
154
-
155
97
  ### Usage
156
98
 
157
99
  All available options are:
@@ -238,6 +180,7 @@ The file should contain the kernel expressed as a function of variable `t`.
238
180
 
239
181
  The `exprtk` is used to parse the expression and compute the value.
240
182
  The provided kernel function must be valid and supported by `exprtk`.
183
+ Check the [documentation](https://www.partow.net/programming/exprtk/) regarding how to write a valid expression.
241
184
 
242
185
  For example, to compute the approximation of `exp(-t^2/10)`, one can create a file `kernel.txt` with the following
243
186
  content:
@@ -255,6 +198,73 @@ echo "exp(-t*t/10)" > kernel.txt
255
198
 
256
199
  ![exp(-t^2/10)](resource/arbitrary.png)
257
200
 
201
+ ## Performance
202
+
203
+ The computation of weights, that involves integrals, and SVD are parallelised.
204
+ A typical profiling would yield something similar to the following.
205
+
206
+ ![profiling](resource/profile.png)
207
+
208
+ ## Compilation
209
+
210
+ > [!WARNING]
211
+ > The application relies on `eigen` and `exprtk`, which depend on very heavy usage of templates.
212
+ > The compilation would take minutes and around 2 GB memory.
213
+ > You need to install libraries `gmp`, `mpfr` and `tbb` before compiling.
214
+
215
+ ### Docker
216
+
217
+ To avoid the hassle of installing dependencies, you can use the provided `Dockerfile`.
218
+ For example,
219
+
220
+ ```bash
221
+ wget -q https://raw.githubusercontent.com/TLCFEM/vpmr/master/Dockerfile
222
+ docker build -t vpmr -f Dockerfile .
223
+ ```
224
+
225
+ Or you simply pull using the following command.
226
+
227
+ ```bash
228
+ docker pull tlcfem/vpmr
229
+ # or using GitHub Container Registry
230
+ docker pull ghcr.io/tlcfem/vmpr
231
+ ```
232
+
233
+ ### Windows
234
+
235
+ Use the following instructions based on [MSYS2](https://www.msys2.org/), or follow the Linux instructions below with
236
+ WSL.
237
+
238
+ ```bash
239
+ # install necessary packages
240
+ pacman -S git mingw-w64-x86_64-cmake mingw-w64-x86_64-tbb mingw-w64-x86_64-gcc mingw-w64-x86_64-ninja mingw-w64-x86_64-gmp mingw-w64-x86_64-mpfr
241
+ # clone the repository
242
+ git clone --depth 1 https://github.com/TLCFEM/vpmr.git
243
+ # initialise submodules
244
+ cd vpmr
245
+ git submodule update --init --recursive
246
+ # apply patch to enable parallel evaluation of some loops in SVD
247
+ cd eigen && git apply --ignore-space-change --ignore-whitespace ../patch_size.patch && cd ..
248
+ # configure and compile
249
+ cmake -G Ninja -DCMAKE_BUILD_TYPE=Release .
250
+ ninja
251
+ ```
252
+
253
+ ### Linux
254
+
255
+ The following is based on Fedora.
256
+
257
+ ```bash
258
+ sudo dnf install gcc g++ gfortran cmake git -y
259
+ sudo dnf install tbb-devel mpfr-devel gmp-devel -y
260
+ git clone --depth 1 https://github.com/TLCFEM/vpmr.git
261
+ cd vpmr
262
+ git submodule update --init --recursive
263
+ cd eigen && git apply --ignore-space-change --ignore-whitespace ../patch_size.patch && cd ..
264
+ cmake -DCMAKE_BUILD_TYPE=Release .
265
+ make
266
+ ```
267
+
258
268
  ## Binary
259
269
 
260
270
  The binary requires available `gmp`, `mpfr` and `tbb` libraries.
@@ -318,6 +318,7 @@ using std::ptrdiff_t;
318
318
  #include "src/Core/PlainObjectBase.h"
319
319
  #include "src/Core/Matrix.h"
320
320
  #include "src/Core/Array.h"
321
+ #include "src/Core/Fill.h"
321
322
  #include "src/Core/CwiseTernaryOp.h"
322
323
  #include "src/Core/CwiseBinaryOp.h"
323
324
  #include "src/Core/CwiseUnaryOp.h"
@@ -102,8 +102,13 @@ class Array : public PlainObjectBase<Array<Scalar_, Rows_, Cols_, Options_, MaxR
102
102
  return Base::_set(other);
103
103
  }
104
104
 
105
- /** This is a special case of the templated operator=. Its purpose is to
106
- * prevent a default operator= from hiding the templated operator=.
105
+ /**
106
+ * \brief Assigns arrays to each other.
107
+ *
108
+ * \note This is a special case of the templated operator=. Its purpose is
109
+ * to prevent a default operator= from hiding the templated operator=.
110
+ *
111
+ * \callgraph
107
112
  */
108
113
  EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Array& operator=(const Array& other) { return Base::_set(other); }
109
114
 
@@ -117,16 +122,13 @@ class Array : public PlainObjectBase<Array<Scalar_, Rows_, Cols_, Options_, MaxR
117
122
  *
118
123
  * \sa resize(Index,Index)
119
124
  */
120
- EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Array() : Base() { EIGEN_INITIALIZE_COEFFS_IF_THAT_OPTION_IS_ENABLED }
121
-
122
- #ifndef EIGEN_PARSED_BY_DOXYGEN
123
- // FIXME is it still needed ??
124
- /** \internal */
125
- EIGEN_DEVICE_FUNC Array(internal::constructor_without_unaligned_array_assert)
126
- : Base(internal::constructor_without_unaligned_array_assert()){EIGEN_INITIALIZE_COEFFS_IF_THAT_OPTION_IS_ENABLED}
125
+ #ifdef EIGEN_INITIALIZE_COEFFS
126
+ EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE constexpr Array() : Base() { EIGEN_INITIALIZE_COEFFS_IF_THAT_OPTION_IS_ENABLED }
127
+ #else
128
+ EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE constexpr Array() = default;
127
129
  #endif
128
-
129
- EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE constexpr Array(Array && other) = default;
130
+ /** \brief Move constructor */
131
+ EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE constexpr Array(Array&&) = default;
130
132
  EIGEN_DEVICE_FUNC Array& operator=(Array&& other) EIGEN_NOEXCEPT_IF(std::is_nothrow_move_assignable<Scalar>::value) {
131
133
  Base::operator=(std::move(other));
132
134
  return *this;
@@ -230,7 +232,7 @@ class Array : public PlainObjectBase<Array<Scalar_, Rows_, Cols_, Options_, MaxR
230
232
  }
231
233
 
232
234
  /** Copy constructor */
233
- EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE constexpr Array(const Array& other) = default;
235
+ EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE constexpr Array(const Array&) = default;
234
236
 
235
237
  private:
236
238
  struct PrivateType {};
@@ -737,18 +737,6 @@ EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE EIGEN_CONSTEXPR void call_dense_assignment
737
737
  dense_assignment_loop<Kernel>::run(kernel);
738
738
  }
739
739
 
740
- // Specialization for filling the destination with a constant value.
741
- #ifndef EIGEN_GPU_COMPILE_PHASE
742
- template <typename DstXprType>
743
- EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE void call_dense_assignment_loop(
744
- DstXprType& dst,
745
- const Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op<typename DstXprType::Scalar>, DstXprType>& src,
746
- const internal::assign_op<typename DstXprType::Scalar, typename DstXprType::Scalar>& func) {
747
- resize_if_allowed(dst, src, func);
748
- std::fill_n(dst.data(), dst.size(), src.functor()());
749
- }
750
- #endif
751
-
752
740
  template <typename DstXprType, typename SrcXprType>
753
741
  EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE void call_dense_assignment_loop(DstXprType& dst, const SrcXprType& src) {
754
742
  call_dense_assignment_loop(dst, src, internal::assign_op<typename DstXprType::Scalar, typename SrcXprType::Scalar>());
@@ -900,6 +888,32 @@ struct Assignment<DstXprType, SrcXprType, Functor, Dense2Dense, Weak> {
900
888
  }
901
889
  };
902
890
 
891
+ template <typename DstXprType, typename SrcPlainObject, typename Weak>
892
+ struct Assignment<DstXprType, CwiseNullaryOp<scalar_constant_op<typename DstXprType::Scalar>, SrcPlainObject>,
893
+ assign_op<typename DstXprType::Scalar, typename DstXprType::Scalar>, Dense2Dense, Weak> {
894
+ using Scalar = typename DstXprType::Scalar;
895
+ using NullaryOp = scalar_constant_op<Scalar>;
896
+ using SrcXprType = CwiseNullaryOp<NullaryOp, SrcPlainObject>;
897
+ using Functor = assign_op<Scalar, Scalar>;
898
+ EIGEN_DEVICE_FUNC static EIGEN_STRONG_INLINE void run(DstXprType& dst, const SrcXprType& src,
899
+ const Functor& /*func*/) {
900
+ eigen_fill_impl<DstXprType>::run(dst, src);
901
+ }
902
+ };
903
+
904
+ template <typename DstXprType, typename SrcPlainObject, typename Weak>
905
+ struct Assignment<DstXprType, CwiseNullaryOp<scalar_zero_op<typename DstXprType::Scalar>, SrcPlainObject>,
906
+ assign_op<typename DstXprType::Scalar, typename DstXprType::Scalar>, Dense2Dense, Weak> {
907
+ using Scalar = typename DstXprType::Scalar;
908
+ using NullaryOp = scalar_zero_op<Scalar>;
909
+ using SrcXprType = CwiseNullaryOp<NullaryOp, SrcPlainObject>;
910
+ using Functor = assign_op<Scalar, Scalar>;
911
+ EIGEN_DEVICE_FUNC static EIGEN_STRONG_INLINE void run(DstXprType& dst, const SrcXprType& src,
912
+ const Functor& /*func*/) {
913
+ eigen_zero_impl<DstXprType>::run(dst, src);
914
+ }
915
+ };
916
+
903
917
  // Generic assignment through evalTo.
904
918
  // TODO: not sure we have to keep that one, but it helps porting current code to new evaluator mechanism.
905
919
  // Note that the last template argument "Weak" is needed to make it possible to perform
@@ -89,7 +89,7 @@ class vml_assign_traits {
89
89
  static void run(DstXprType &dst, const SrcXprType &src, const assign_op<EIGENTYPE, EIGENTYPE> &func) { \
90
90
  resize_if_allowed(dst, src, func); \
91
91
  eigen_assert(dst.rows() == src.rows() && dst.cols() == src.cols()); \
92
- if (vml_assign_traits<DstXprType, SrcXprNested>::Traversal == LinearTraversal) { \
92
+ if (vml_assign_traits<DstXprType, SrcXprNested>::Traversal == (int)LinearTraversal) { \
93
93
  VMLOP(dst.size(), (const VMLTYPE *)src.nestedExpression().data(), \
94
94
  (VMLTYPE *)dst.data() EIGEN_PP_EXPAND(EIGEN_VMLMODE_EXPAND_x##VMLMODE)); \
95
95
  } else { \
@@ -124,8 +124,7 @@ struct evaluator_base {
124
124
  // noncopyable:
125
125
  // Don't make this class inherit noncopyable as this kills EBO (Empty Base Optimization)
126
126
  // and make complex evaluator much larger than then should do.
127
- EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE evaluator_base() {}
128
- EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE ~evaluator_base() {}
127
+ EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE constexpr evaluator_base() = default;
129
128
 
130
129
  private:
131
130
  EIGEN_DEVICE_FUNC evaluator_base(const evaluator_base&);
@@ -143,7 +142,7 @@ struct evaluator_base {
143
142
  template <typename Scalar, int OuterStride>
144
143
  class plainobjectbase_evaluator_data {
145
144
  public:
146
- EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE plainobjectbase_evaluator_data(const Scalar* ptr, Index outerStride)
145
+ EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE constexpr plainobjectbase_evaluator_data(const Scalar* ptr, Index outerStride)
147
146
  : data(ptr) {
148
147
  #ifndef EIGEN_INTERNAL_DEBUGGING
149
148
  EIGEN_UNUSED_VARIABLE(outerStride);
@@ -157,9 +156,9 @@ class plainobjectbase_evaluator_data {
157
156
  template <typename Scalar>
158
157
  class plainobjectbase_evaluator_data<Scalar, Dynamic> {
159
158
  public:
160
- EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE plainobjectbase_evaluator_data(const Scalar* ptr, Index outerStride)
159
+ EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE constexpr plainobjectbase_evaluator_data(const Scalar* ptr, Index outerStride)
161
160
  : data(ptr), m_outerStride(outerStride) {}
162
- EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Index outerStride() const { return m_outerStride; }
161
+ EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE constexpr Index outerStride() const { return m_outerStride; }
163
162
  const Scalar* data;
164
163
 
165
164
  protected:
@@ -189,32 +188,34 @@ struct evaluator<PlainObjectBase<Derived>> : evaluator_base<Derived> {
189
188
  : RowsAtCompileTime
190
189
  };
191
190
 
192
- EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE evaluator() : m_d(0, OuterStrideAtCompileTime) {
191
+ EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE constexpr evaluator() : m_d(0, OuterStrideAtCompileTime) {
193
192
  EIGEN_INTERNAL_CHECK_COST_VALUE(CoeffReadCost);
194
193
  }
195
194
 
196
- EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE explicit evaluator(const PlainObjectType& m)
195
+ EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE constexpr explicit evaluator(const PlainObjectType& m)
197
196
  : m_d(m.data(), IsVectorAtCompileTime ? 0 : m.outerStride()) {
198
197
  EIGEN_INTERNAL_CHECK_COST_VALUE(CoeffReadCost);
199
198
  }
200
199
 
201
- EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE CoeffReturnType coeff(Index row, Index col) const {
200
+ EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE constexpr CoeffReturnType coeff(Index row, Index col) const {
202
201
  if (IsRowMajor)
203
202
  return m_d.data[row * m_d.outerStride() + col];
204
203
  else
205
204
  return m_d.data[row + col * m_d.outerStride()];
206
205
  }
207
206
 
208
- EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE CoeffReturnType coeff(Index index) const { return m_d.data[index]; }
207
+ EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE constexpr CoeffReturnType coeff(Index index) const { return m_d.data[index]; }
209
208
 
210
- EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Scalar& coeffRef(Index row, Index col) {
209
+ EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE constexpr Scalar& coeffRef(Index row, Index col) {
211
210
  if (IsRowMajor)
212
211
  return const_cast<Scalar*>(m_d.data)[row * m_d.outerStride() + col];
213
212
  else
214
213
  return const_cast<Scalar*>(m_d.data)[row + col * m_d.outerStride()];
215
214
  }
216
215
 
217
- EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Scalar& coeffRef(Index index) { return const_cast<Scalar*>(m_d.data)[index]; }
216
+ EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE constexpr Scalar& coeffRef(Index index) {
217
+ return const_cast<Scalar*>(m_d.data)[index];
218
+ }
218
219
 
219
220
  template <int LoadMode, typename PacketType>
220
221
  EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE PacketType packet(Index row, Index col) const {
@@ -251,9 +252,10 @@ struct evaluator<Matrix<Scalar, Rows, Cols, Options, MaxRows, MaxCols>>
251
252
  : evaluator<PlainObjectBase<Matrix<Scalar, Rows, Cols, Options, MaxRows, MaxCols>>> {
252
253
  typedef Matrix<Scalar, Rows, Cols, Options, MaxRows, MaxCols> XprType;
253
254
 
254
- EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE evaluator() {}
255
+ EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE constexpr evaluator() = default;
255
256
 
256
- EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE explicit evaluator(const XprType& m) : evaluator<PlainObjectBase<XprType>>(m) {}
257
+ EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE constexpr explicit evaluator(const XprType& m)
258
+ : evaluator<PlainObjectBase<XprType>>(m) {}
257
259
  };
258
260
 
259
261
  template <typename Scalar, int Rows, int Cols, int Options, int MaxRows, int MaxCols>
@@ -261,9 +263,10 @@ struct evaluator<Array<Scalar, Rows, Cols, Options, MaxRows, MaxCols>>
261
263
  : evaluator<PlainObjectBase<Array<Scalar, Rows, Cols, Options, MaxRows, MaxCols>>> {
262
264
  typedef Array<Scalar, Rows, Cols, Options, MaxRows, MaxCols> XprType;
263
265
 
264
- EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE evaluator() {}
266
+ EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE constexpr evaluator() = default;
265
267
 
266
- EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE explicit evaluator(const XprType& m) : evaluator<PlainObjectBase<XprType>>(m) {}
268
+ EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE constexpr explicit evaluator(const XprType& m)
269
+ : evaluator<PlainObjectBase<XprType>>(m) {}
267
270
  };
268
271
 
269
272
  // -------------------- Transpose --------------------
@@ -71,6 +71,10 @@ class CwiseNullaryOp : public internal::dense_xpr_base<CwiseNullaryOp<NullaryOp,
71
71
  eigen_assert(rows >= 0 && (RowsAtCompileTime == Dynamic || RowsAtCompileTime == rows) && cols >= 0 &&
72
72
  (ColsAtCompileTime == Dynamic || ColsAtCompileTime == cols));
73
73
  }
74
+ EIGEN_DEVICE_FUNC CwiseNullaryOp(Index size, const NullaryOp& func = NullaryOp())
75
+ : CwiseNullaryOp(RowsAtCompileTime == 1 ? 1 : size, RowsAtCompileTime == 1 ? size : 1, func) {
76
+ EIGEN_STATIC_ASSERT(CwiseNullaryOp::IsVectorAtCompileTime, YOU_TRIED_CALLING_A_VECTOR_METHOD_ON_A_MATRIX);
77
+ }
74
78
 
75
79
  EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE EIGEN_CONSTEXPR Index rows() const { return m_rows.value(); }
76
80
  EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE EIGEN_CONSTEXPR Index cols() const { return m_cols.value(); }
@@ -343,7 +347,8 @@ EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE void DenseBase<Derived>::fill(const Scalar
343
347
  */
344
348
  template <typename Derived>
345
349
  EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Derived& DenseBase<Derived>::setConstant(const Scalar& val) {
346
- return derived() = Constant(rows(), cols(), val);
350
+ internal::eigen_fill_impl<Derived>::run(derived(), val);
351
+ return derived();
347
352
  }
348
353
 
349
354
  /** Resizes to the given \a size, and sets all coefficients in this expression to the given value \a val.
@@ -479,9 +484,9 @@ EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Derived& DenseBase<Derived>::setEqualSpace
479
484
  * \sa Zero(), Zero(Index)
480
485
  */
481
486
  template <typename Derived>
482
- EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const typename DenseBase<Derived>::ConstantReturnType DenseBase<Derived>::Zero(
487
+ EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const typename DenseBase<Derived>::ZeroReturnType DenseBase<Derived>::Zero(
483
488
  Index rows, Index cols) {
484
- return Constant(rows, cols, Scalar(0));
489
+ return ZeroReturnType(rows, cols);
485
490
  }
486
491
 
487
492
  /** \returns an expression of a zero vector.
@@ -501,9 +506,9 @@ EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const typename DenseBase<Derived>::Constan
501
506
  * \sa Zero(), Zero(Index,Index)
502
507
  */
503
508
  template <typename Derived>
504
- EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const typename DenseBase<Derived>::ConstantReturnType DenseBase<Derived>::Zero(
509
+ EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const typename DenseBase<Derived>::ZeroReturnType DenseBase<Derived>::Zero(
505
510
  Index size) {
506
- return Constant(size, Scalar(0));
511
+ return ZeroReturnType(size);
507
512
  }
508
513
 
509
514
  /** \returns an expression of a fixed-size zero matrix or vector.
@@ -517,8 +522,8 @@ EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const typename DenseBase<Derived>::Constan
517
522
  * \sa Zero(Index), Zero(Index,Index)
518
523
  */
519
524
  template <typename Derived>
520
- EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const typename DenseBase<Derived>::ConstantReturnType DenseBase<Derived>::Zero() {
521
- return Constant(Scalar(0));
525
+ EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const typename DenseBase<Derived>::ZeroReturnType DenseBase<Derived>::Zero() {
526
+ return ZeroReturnType(RowsAtCompileTime, ColsAtCompileTime);
522
527
  }
523
528
 
524
529
  /** \returns true if *this is approximately equal to the zero matrix,
@@ -547,7 +552,8 @@ EIGEN_DEVICE_FUNC bool DenseBase<Derived>::isZero(const RealScalar& prec) const
547
552
  */
548
553
  template <typename Derived>
549
554
  EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Derived& DenseBase<Derived>::setZero() {
550
- return setConstant(Scalar(0));
555
+ internal::eigen_zero_impl<Derived>::run(derived());
556
+ return derived();
551
557
  }
552
558
 
553
559
  /** Resizes to the given \a size, and sets all coefficients in this expression to zero.
@@ -562,7 +568,7 @@ EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Derived& DenseBase<Derived>::setZero() {
562
568
  template <typename Derived>
563
569
  EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Derived& PlainObjectBase<Derived>::setZero(Index newSize) {
564
570
  resize(newSize);
565
- return setConstant(Scalar(0));
571
+ return setZero();
566
572
  }
567
573
 
568
574
  /** Resizes to the given size, and sets all coefficients in this expression to zero.
@@ -578,7 +584,7 @@ EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Derived& PlainObjectBase<Derived>::setZero
578
584
  template <typename Derived>
579
585
  EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Derived& PlainObjectBase<Derived>::setZero(Index rows, Index cols) {
580
586
  resize(rows, cols);
581
- return setConstant(Scalar(0));
587
+ return setZero();
582
588
  }
583
589
 
584
590
  /** Resizes to the given size, changing only the number of columns, and sets all