deriweave 0.4.0__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 (583) hide show
  1. deriweave-0.4.0/.gitattributes +6 -0
  2. deriweave-0.4.0/.github/workflows/tests.yml +42 -0
  3. deriweave-0.4.0/.gitignore +18 -0
  4. deriweave-0.4.0/CHANGELOG.md +22 -0
  5. deriweave-0.4.0/CMakeLists.txt +60 -0
  6. deriweave-0.4.0/INSTALL_WINDOWS.bat +36 -0
  7. deriweave-0.4.0/LICENSE +21 -0
  8. deriweave-0.4.0/PKG-INFO +227 -0
  9. deriweave-0.4.0/README.md +205 -0
  10. deriweave-0.4.0/benchmarks/benchmark.py +45 -0
  11. deriweave-0.4.0/benchmarks/results_windows.json +56 -0
  12. deriweave-0.4.0/bindings/composition.cpp +538 -0
  13. deriweave-0.4.0/bindings/module.cpp +242 -0
  14. deriweave-0.4.0/cmake/Eigen3Config.cmake.in +9 -0
  15. deriweave-0.4.0/compat/deriweave-python/.gitignore +4 -0
  16. deriweave-0.4.0/compat/deriweave-python/LICENSE +21 -0
  17. deriweave-0.4.0/compat/deriweave-python/README.md +32 -0
  18. deriweave-0.4.0/compat/deriweave-python/pyproject.toml +29 -0
  19. deriweave-0.4.0/compat/deriweave-python/src/deriweave_py/__init__.py +9 -0
  20. deriweave-0.4.0/compat/deriweave-python/src/deriweave_py/_core.pyi +1 -0
  21. deriweave-0.4.0/compat/deriweave-python/src/deriweave_py/composition.py +2 -0
  22. deriweave-0.4.0/compat/deriweave-python/src/deriweave_py/py.typed +0 -0
  23. deriweave-0.4.0/compat/deriweave-python/src/deriweave_py/structured.py +2 -0
  24. deriweave-0.4.0/docs/AUDIT.md +263 -0
  25. deriweave-0.4.0/docs/MIGRATION.md +77 -0
  26. deriweave-0.4.0/docs/coverage.md +120 -0
  27. deriweave-0.4.0/docs/files-changed.md +93 -0
  28. deriweave-0.4.0/docs/guide.md +265 -0
  29. deriweave-0.4.0/docs/native-changes.patch +288 -0
  30. deriweave-0.4.0/docs/release.md +102 -0
  31. deriweave-0.4.0/examples/composition_demo.py +50 -0
  32. deriweave-0.4.0/examples/demo.py +30 -0
  33. deriweave-0.4.0/examples/exercise_demo.py +16 -0
  34. deriweave-0.4.0/examples/models_demo.py +25 -0
  35. deriweave-0.4.0/examples/structured_demo.py +19 -0
  36. deriweave-0.4.0/native-engine.json +67 -0
  37. deriweave-0.4.0/prepare_windows.py +147 -0
  38. deriweave-0.4.0/pyproject.toml +55 -0
  39. deriweave-0.4.0/src/deriweave/__init__.py +112 -0
  40. deriweave-0.4.0/src/deriweave/_core.pyi +108 -0
  41. deriweave-0.4.0/src/deriweave/composition.py +560 -0
  42. deriweave-0.4.0/src/deriweave/py.typed +0 -0
  43. deriweave-0.4.0/src/deriweave/structured.py +165 -0
  44. deriweave-0.4.0/tests/native_reference.cpp +129 -0
  45. deriweave-0.4.0/tests/reference_cases.py +78 -0
  46. deriweave-0.4.0/tests/test_composition.py +122 -0
  47. deriweave-0.4.0/tests/test_contracts.py +93 -0
  48. deriweave-0.4.0/tests/test_exercise.py +81 -0
  49. deriweave-0.4.0/tests/test_financial.py +89 -0
  50. deriweave-0.4.0/tests/test_migration.py +30 -0
  51. deriweave-0.4.0/tests/test_native_parity.py +49 -0
  52. deriweave-0.4.0/tests/test_numeric_limits.py +37 -0
  53. deriweave-0.4.0/tests/test_preparation.py +72 -0
  54. deriweave-0.4.0/tests/test_robustness.py +166 -0
  55. deriweave-0.4.0/tests/test_smoke.py +52 -0
  56. deriweave-0.4.0/tools/build_local.py +47 -0
  57. deriweave-0.4.0/tools/check_distribution.py +207 -0
  58. deriweave-0.4.0/tools/memory_check.py +53 -0
  59. deriweave-0.4.0/vendor/deriweave/AGENTS.md +59 -0
  60. deriweave-0.4.0/vendor/deriweave/CMakeLists.txt +392 -0
  61. deriweave-0.4.0/vendor/deriweave/LICENSE +21 -0
  62. deriweave-0.4.0/vendor/deriweave/README.md +146 -0
  63. deriweave-0.4.0/vendor/deriweave/cmake/DeriWeaveConfig.cmake.in +12 -0
  64. deriweave-0.4.0/vendor/deriweave/examples/support/heston_reference.cpp +110 -0
  65. deriweave-0.4.0/vendor/deriweave/examples/support/heston_reference.hpp +22 -0
  66. deriweave-0.4.0/vendor/deriweave/examples/support/kou_reference.hpp +42 -0
  67. deriweave-0.4.0/vendor/deriweave/examples/support/merton_fixed_jump_reference.hpp +46 -0
  68. deriweave-0.4.0/vendor/deriweave/examples/support/merton_reference.hpp +42 -0
  69. deriweave-0.4.0/vendor/deriweave/examples/support/nig_reference.hpp +39 -0
  70. deriweave-0.4.0/vendor/deriweave/examples/support/quantlib-reference-requirements.txt +2 -0
  71. deriweave-0.4.0/vendor/deriweave/examples/support/variance_gamma_reference.hpp +40 -0
  72. deriweave-0.4.0/vendor/deriweave/include/cashflow/cashflow.hpp +16 -0
  73. deriweave-0.4.0/vendor/deriweave/include/deriweave.hpp +67 -0
  74. deriweave-0.4.0/vendor/deriweave/include/market/market_data.hpp +46 -0
  75. deriweave-0.4.0/vendor/deriweave/include/market/market_path.hpp +63 -0
  76. deriweave-0.4.0/vendor/deriweave/include/market/underlying.hpp +19 -0
  77. deriweave-0.4.0/vendor/deriweave/include/model/black_scholes_model.hpp +53 -0
  78. deriweave-0.4.0/vendor/deriweave/include/model/heston_model.hpp +57 -0
  79. deriweave-0.4.0/vendor/deriweave/include/model/kou_model.hpp +59 -0
  80. deriweave-0.4.0/vendor/deriweave/include/model/merton_model.hpp +59 -0
  81. deriweave-0.4.0/vendor/deriweave/include/model/model.hpp +31 -0
  82. deriweave-0.4.0/vendor/deriweave/include/model/nig_model.hpp +59 -0
  83. deriweave-0.4.0/vendor/deriweave/include/model/variance_gamma_model.hpp +59 -0
  84. deriweave-0.4.0/vendor/deriweave/include/monte_carlo/antithetic_random_source.hpp +42 -0
  85. deriweave-0.4.0/vendor/deriweave/include/monte_carlo/bivariate_statistics.hpp +42 -0
  86. deriweave-0.4.0/vendor/deriweave/include/monte_carlo/block_seed.hpp +14 -0
  87. deriweave-0.4.0/vendor/deriweave/include/monte_carlo/control_variate.hpp +37 -0
  88. deriweave-0.4.0/vendor/deriweave/include/monte_carlo/erlang_transform.hpp +15 -0
  89. deriweave-0.4.0/vendor/deriweave/include/monte_carlo/gamma_transform.hpp +21 -0
  90. deriweave-0.4.0/vendor/deriweave/include/monte_carlo/inverse_gaussian_transform.hpp +17 -0
  91. deriweave-0.4.0/vendor/deriweave/include/monte_carlo/poisson_transform.hpp +22 -0
  92. deriweave-0.4.0/vendor/deriweave/include/monte_carlo/pseudo_random_source.hpp +26 -0
  93. deriweave-0.4.0/vendor/deriweave/include/monte_carlo/random_source.hpp +26 -0
  94. deriweave-0.4.0/vendor/deriweave/include/monte_carlo/simulation_config.hpp +55 -0
  95. deriweave-0.4.0/vendor/deriweave/include/monte_carlo/statistics.hpp +42 -0
  96. deriweave-0.4.0/vendor/deriweave/include/pricing/black_scholes_spot_control.hpp +28 -0
  97. deriweave-0.4.0/vendor/deriweave/include/pricing/kou_spot_control.hpp +29 -0
  98. deriweave-0.4.0/vendor/deriweave/include/pricing/longstaff_schwartz.hpp +32 -0
  99. deriweave-0.4.0/vendor/deriweave/include/pricing/merton_spot_control.hpp +28 -0
  100. deriweave-0.4.0/vendor/deriweave/include/pricing/nig_spot_control.hpp +29 -0
  101. deriweave-0.4.0/vendor/deriweave/include/pricing/pricer.hpp +41 -0
  102. deriweave-0.4.0/vendor/deriweave/include/pricing/pricing_context.hpp +33 -0
  103. deriweave-0.4.0/vendor/deriweave/include/pricing/pricing_control.hpp +28 -0
  104. deriweave-0.4.0/vendor/deriweave/include/pricing/pricing_result.hpp +25 -0
  105. deriweave-0.4.0/vendor/deriweave/include/pricing/simulation_dates.hpp +31 -0
  106. deriweave-0.4.0/vendor/deriweave/include/pricing/variance_gamma_spot_control.hpp +29 -0
  107. deriweave-0.4.0/vendor/deriweave/include/product/aggregation/arithmetic_average.hpp +18 -0
  108. deriweave-0.4.0/vendor/deriweave/include/product/aggregation/geometric_average.hpp +18 -0
  109. deriweave-0.4.0/vendor/deriweave/include/product/aggregation/value_aggregation.hpp +17 -0
  110. deriweave-0.4.0/vendor/deriweave/include/product/composition/average_value.hpp +24 -0
  111. deriweave-0.4.0/vendor/deriweave/include/product/composition/basket.hpp +21 -0
  112. deriweave-0.4.0/vendor/deriweave/include/product/composition/best_of.hpp +19 -0
  113. deriweave-0.4.0/vendor/deriweave/include/product/composition/call.hpp +22 -0
  114. deriweave-0.4.0/vendor/deriweave/include/product/composition/cashflow_rule.hpp +29 -0
  115. deriweave-0.4.0/vendor/deriweave/include/product/composition/composed_product.hpp +27 -0
  116. deriweave-0.4.0/vendor/deriweave/include/product/composition/conditional_value.hpp +21 -0
  117. deriweave-0.4.0/vendor/deriweave/include/product/composition/constant_value.hpp +18 -0
  118. deriweave-0.4.0/vendor/deriweave/include/product/composition/digital.hpp +28 -0
  119. deriweave-0.4.0/vendor/deriweave/include/product/composition/put.hpp +22 -0
  120. deriweave-0.4.0/vendor/deriweave/include/product/composition/scaled_value.hpp +20 -0
  121. deriweave-0.4.0/vendor/deriweave/include/product/composition/terminal_value.hpp +19 -0
  122. deriweave-0.4.0/vendor/deriweave/include/product/composition/value_expression.hpp +42 -0
  123. deriweave-0.4.0/vendor/deriweave/include/product/composition/variance_value.hpp +17 -0
  124. deriweave-0.4.0/vendor/deriweave/include/product/composition/worst_of.hpp +19 -0
  125. deriweave-0.4.0/vendor/deriweave/include/product/features/discrete_barrier.hpp +62 -0
  126. deriweave-0.4.0/vendor/deriweave/include/product/features/product_feature.hpp +31 -0
  127. deriweave-0.4.0/vendor/deriweave/include/product/product.hpp +39 -0
  128. deriweave-0.4.0/vendor/deriweave/include/product/structured/autocall_product.hpp +76 -0
  129. deriweave-0.4.0/vendor/deriweave/include/product/structured/exercise_contract.hpp +71 -0
  130. deriweave-0.4.0/vendor/deriweave/include/product/structured/exercise_policy_product.hpp +68 -0
  131. deriweave-0.4.0/vendor/deriweave/src/cashflow/cashflow.cpp +21 -0
  132. deriweave-0.4.0/vendor/deriweave/src/market/market_data.cpp +117 -0
  133. deriweave-0.4.0/vendor/deriweave/src/market/market_path.cpp +154 -0
  134. deriweave-0.4.0/vendor/deriweave/src/market/underlying.cpp +18 -0
  135. deriweave-0.4.0/vendor/deriweave/src/model/black_scholes_model.cpp +211 -0
  136. deriweave-0.4.0/vendor/deriweave/src/model/heston_model.cpp +260 -0
  137. deriweave-0.4.0/vendor/deriweave/src/model/kou_model.cpp +170 -0
  138. deriweave-0.4.0/vendor/deriweave/src/model/merton_model.cpp +158 -0
  139. deriweave-0.4.0/vendor/deriweave/src/model/nig_model.cpp +182 -0
  140. deriweave-0.4.0/vendor/deriweave/src/model/variance_gamma_model.cpp +179 -0
  141. deriweave-0.4.0/vendor/deriweave/src/monte_carlo/antithetic_random_source.cpp +78 -0
  142. deriweave-0.4.0/vendor/deriweave/src/monte_carlo/bivariate_statistics.cpp +129 -0
  143. deriweave-0.4.0/vendor/deriweave/src/monte_carlo/block_seed.cpp +17 -0
  144. deriweave-0.4.0/vendor/deriweave/src/monte_carlo/control_variate.cpp +106 -0
  145. deriweave-0.4.0/vendor/deriweave/src/monte_carlo/erlang_transform.cpp +127 -0
  146. deriweave-0.4.0/vendor/deriweave/src/monte_carlo/gamma_transform.cpp +180 -0
  147. deriweave-0.4.0/vendor/deriweave/src/monte_carlo/inverse_gaussian_transform.cpp +62 -0
  148. deriweave-0.4.0/vendor/deriweave/src/monte_carlo/poisson_transform.cpp +100 -0
  149. deriweave-0.4.0/vendor/deriweave/src/monte_carlo/pseudo_random_source.cpp +31 -0
  150. deriweave-0.4.0/vendor/deriweave/src/monte_carlo/random_source.cpp +62 -0
  151. deriweave-0.4.0/vendor/deriweave/src/monte_carlo/simulation_config.cpp +55 -0
  152. deriweave-0.4.0/vendor/deriweave/src/monte_carlo/statistics.cpp +123 -0
  153. deriweave-0.4.0/vendor/deriweave/src/pricing/black_scholes_spot_control.cpp +85 -0
  154. deriweave-0.4.0/vendor/deriweave/src/pricing/kou_spot_control.cpp +89 -0
  155. deriweave-0.4.0/vendor/deriweave/src/pricing/longstaff_schwartz.cpp +273 -0
  156. deriweave-0.4.0/vendor/deriweave/src/pricing/merton_spot_control.cpp +87 -0
  157. deriweave-0.4.0/vendor/deriweave/src/pricing/nig_spot_control.cpp +89 -0
  158. deriweave-0.4.0/vendor/deriweave/src/pricing/pricer.cpp +276 -0
  159. deriweave-0.4.0/vendor/deriweave/src/pricing/pricing_context.cpp +27 -0
  160. deriweave-0.4.0/vendor/deriweave/src/pricing/simulation_dates.cpp +88 -0
  161. deriweave-0.4.0/vendor/deriweave/src/pricing/variance_gamma_spot_control.cpp +89 -0
  162. deriweave-0.4.0/vendor/deriweave/src/product/aggregation/arithmetic_average.cpp +30 -0
  163. deriweave-0.4.0/vendor/deriweave/src/product/aggregation/geometric_average.cpp +32 -0
  164. deriweave-0.4.0/vendor/deriweave/src/product/composition/average_value.cpp +42 -0
  165. deriweave-0.4.0/vendor/deriweave/src/product/composition/basket.cpp +38 -0
  166. deriweave-0.4.0/vendor/deriweave/src/product/composition/best_of.cpp +25 -0
  167. deriweave-0.4.0/vendor/deriweave/src/product/composition/call.cpp +28 -0
  168. deriweave-0.4.0/vendor/deriweave/src/product/composition/cashflow_rule.cpp +31 -0
  169. deriweave-0.4.0/vendor/deriweave/src/product/composition/composed_product.cpp +63 -0
  170. deriweave-0.4.0/vendor/deriweave/src/product/composition/conditional_value.cpp +21 -0
  171. deriweave-0.4.0/vendor/deriweave/src/product/composition/constant_value.cpp +16 -0
  172. deriweave-0.4.0/vendor/deriweave/src/product/composition/digital.cpp +59 -0
  173. deriweave-0.4.0/vendor/deriweave/src/product/composition/numeric.hpp +33 -0
  174. deriweave-0.4.0/vendor/deriweave/src/product/composition/put.cpp +28 -0
  175. deriweave-0.4.0/vendor/deriweave/src/product/composition/scaled_value.cpp +27 -0
  176. deriweave-0.4.0/vendor/deriweave/src/product/composition/terminal_value.cpp +16 -0
  177. deriweave-0.4.0/vendor/deriweave/src/product/composition/value_expression.cpp +67 -0
  178. deriweave-0.4.0/vendor/deriweave/src/product/composition/variance_value.cpp +16 -0
  179. deriweave-0.4.0/vendor/deriweave/src/product/composition/worst_of.cpp +25 -0
  180. deriweave-0.4.0/vendor/deriweave/src/product/features/discrete_barrier.cpp +135 -0
  181. deriweave-0.4.0/vendor/deriweave/src/product/features/product_feature.cpp +27 -0
  182. deriweave-0.4.0/vendor/deriweave/src/product/product.cpp +19 -0
  183. deriweave-0.4.0/vendor/deriweave/src/product/structured/autocall_product.cpp +156 -0
  184. deriweave-0.4.0/vendor/deriweave/src/product/structured/exercise_contract.cpp +103 -0
  185. deriweave-0.4.0/vendor/deriweave/src/product/structured/exercise_policy_product.cpp +105 -0
  186. deriweave-0.4.0/vendor/deriweave/tests/antithetic_random_source_tests.cpp +197 -0
  187. deriweave-0.4.0/vendor/deriweave/tests/asian_composition_tests.cpp +176 -0
  188. deriweave-0.4.0/vendor/deriweave/tests/autocall_product_tests.cpp +320 -0
  189. deriweave-0.4.0/vendor/deriweave/tests/average_aggregation_tests.cpp +150 -0
  190. deriweave-0.4.0/vendor/deriweave/tests/basket_composition_tests.cpp +187 -0
  191. deriweave-0.4.0/vendor/deriweave/tests/bivariate_statistics_tests.cpp +196 -0
  192. deriweave-0.4.0/vendor/deriweave/tests/black_scholes_model_tests.cpp +265 -0
  193. deriweave-0.4.0/vendor/deriweave/tests/black_scholes_spot_control_tests.cpp +196 -0
  194. deriweave-0.4.0/vendor/deriweave/tests/blocked_pricer_tests.cpp +228 -0
  195. deriweave-0.4.0/vendor/deriweave/tests/composed_product_tests.cpp +518 -0
  196. deriweave-0.4.0/vendor/deriweave/tests/conditional_value_tests.cpp +91 -0
  197. deriweave-0.4.0/vendor/deriweave/tests/consumer/CMakeLists.txt +42 -0
  198. deriweave-0.4.0/vendor/deriweave/tests/consumer/main.cpp +173 -0
  199. deriweave-0.4.0/vendor/deriweave/tests/consumer/shared.cpp +12 -0
  200. deriweave-0.4.0/vendor/deriweave/tests/control_variate_tests.cpp +216 -0
  201. deriweave-0.4.0/vendor/deriweave/tests/coupon_memory_tests.cpp +252 -0
  202. deriweave-0.4.0/vendor/deriweave/tests/digital_expression_tests.cpp +243 -0
  203. deriweave-0.4.0/vendor/deriweave/tests/discrete_barrier_tests.cpp +353 -0
  204. deriweave-0.4.0/vendor/deriweave/tests/early_exercise_tests.cpp +371 -0
  205. deriweave-0.4.0/vendor/deriweave/tests/erlang_transform_tests.cpp +83 -0
  206. deriweave-0.4.0/vendor/deriweave/tests/expression_barrier_tests.cpp +251 -0
  207. deriweave-0.4.0/vendor/deriweave/tests/extrema_expression_tests.cpp +276 -0
  208. deriweave-0.4.0/vendor/deriweave/tests/gamma_transform_tests.cpp +101 -0
  209. deriweave-0.4.0/vendor/deriweave/tests/heston_model_tests.cpp +393 -0
  210. deriweave-0.4.0/vendor/deriweave/tests/heston_reference_tests.cpp +71 -0
  211. deriweave-0.4.0/vendor/deriweave/tests/inverse_gaussian_transform_tests.cpp +94 -0
  212. deriweave-0.4.0/vendor/deriweave/tests/kou_model_tests.cpp +203 -0
  213. deriweave-0.4.0/vendor/deriweave/tests/kou_pricing_tests.cpp +204 -0
  214. deriweave-0.4.0/vendor/deriweave/tests/lookback_composition_tests.cpp +186 -0
  215. deriweave-0.4.0/vendor/deriweave/tests/market_data_tests.cpp +193 -0
  216. deriweave-0.4.0/vendor/deriweave/tests/market_path_tests.cpp +111 -0
  217. deriweave-0.4.0/vendor/deriweave/tests/merton_early_exercise_tests.cpp +132 -0
  218. deriweave-0.4.0/vendor/deriweave/tests/merton_model_tests.cpp +227 -0
  219. deriweave-0.4.0/vendor/deriweave/tests/merton_multi_asset_tests.cpp +136 -0
  220. deriweave-0.4.0/vendor/deriweave/tests/merton_product_integration_tests.cpp +190 -0
  221. deriweave-0.4.0/vendor/deriweave/tests/merton_spot_control_tests.cpp +94 -0
  222. deriweave-0.4.0/vendor/deriweave/tests/multivariate_lsm_tests.cpp +213 -0
  223. deriweave-0.4.0/vendor/deriweave/tests/nig_model_tests.cpp +179 -0
  224. deriweave-0.4.0/vendor/deriweave/tests/nig_pricing_tests.cpp +377 -0
  225. deriweave-0.4.0/vendor/deriweave/tests/openmp_pricer_tests.cpp +309 -0
  226. deriweave-0.4.0/vendor/deriweave/tests/poisson_transform_tests.cpp +103 -0
  227. deriweave-0.4.0/vendor/deriweave/tests/pricer_tests.cpp +326 -0
  228. deriweave-0.4.0/vendor/deriweave/tests/pricing_context_tests.cpp +122 -0
  229. deriweave-0.4.0/vendor/deriweave/tests/pseudo_random_source_tests.cpp +97 -0
  230. deriweave-0.4.0/vendor/deriweave/tests/put_expression_tests.cpp +214 -0
  231. deriweave-0.4.0/vendor/deriweave/tests/random_source_tests.cpp +143 -0
  232. deriweave-0.4.0/vendor/deriweave/tests/simulation_config_tests.cpp +125 -0
  233. deriweave-0.4.0/vendor/deriweave/tests/simulation_dates_tests.cpp +183 -0
  234. deriweave-0.4.0/vendor/deriweave/tests/statistics_tests.cpp +223 -0
  235. deriweave-0.4.0/vendor/deriweave/tests/support/composed_contracts.hpp +68 -0
  236. deriweave-0.4.0/vendor/deriweave/tests/support/reference_product.hpp +83 -0
  237. deriweave-0.4.0/vendor/deriweave/tests/variance_gamma_model_tests.cpp +314 -0
  238. deriweave-0.4.0/vendor/deriweave/tests/variance_gamma_pricing_tests.cpp +370 -0
  239. deriweave-0.4.0/vendor/eigen-source/COPYING.APACHE +203 -0
  240. deriweave-0.4.0/vendor/eigen-source/COPYING.BSD +26 -0
  241. deriweave-0.4.0/vendor/eigen-source/COPYING.GPL +674 -0
  242. deriweave-0.4.0/vendor/eigen-source/COPYING.LGPL +502 -0
  243. deriweave-0.4.0/vendor/eigen-source/COPYING.MINPACK +51 -0
  244. deriweave-0.4.0/vendor/eigen-source/COPYING.MPL2 +373 -0
  245. deriweave-0.4.0/vendor/eigen-source/COPYING.README +18 -0
  246. deriweave-0.4.0/vendor/eigen-source/Eigen/.gitignore +4 -0
  247. deriweave-0.4.0/vendor/eigen-source/Eigen/Cholesky +45 -0
  248. deriweave-0.4.0/vendor/eigen-source/Eigen/CholmodSupport +48 -0
  249. deriweave-0.4.0/vendor/eigen-source/Eigen/Core +384 -0
  250. deriweave-0.4.0/vendor/eigen-source/Eigen/Dense +7 -0
  251. deriweave-0.4.0/vendor/eigen-source/Eigen/Eigen +2 -0
  252. deriweave-0.4.0/vendor/eigen-source/Eigen/Eigenvalues +60 -0
  253. deriweave-0.4.0/vendor/eigen-source/Eigen/Geometry +59 -0
  254. deriweave-0.4.0/vendor/eigen-source/Eigen/Householder +29 -0
  255. deriweave-0.4.0/vendor/eigen-source/Eigen/IterativeLinearSolvers +48 -0
  256. deriweave-0.4.0/vendor/eigen-source/Eigen/Jacobi +32 -0
  257. deriweave-0.4.0/vendor/eigen-source/Eigen/KLUSupport +41 -0
  258. deriweave-0.4.0/vendor/eigen-source/Eigen/LU +47 -0
  259. deriweave-0.4.0/vendor/eigen-source/Eigen/MetisSupport +35 -0
  260. deriweave-0.4.0/vendor/eigen-source/Eigen/OrderingMethods +70 -0
  261. deriweave-0.4.0/vendor/eigen-source/Eigen/PaStiXSupport +49 -0
  262. deriweave-0.4.0/vendor/eigen-source/Eigen/PardisoSupport +35 -0
  263. deriweave-0.4.0/vendor/eigen-source/Eigen/QR +50 -0
  264. deriweave-0.4.0/vendor/eigen-source/Eigen/QtAlignedMalloc +39 -0
  265. deriweave-0.4.0/vendor/eigen-source/Eigen/SPQRSupport +34 -0
  266. deriweave-0.4.0/vendor/eigen-source/Eigen/SVD +50 -0
  267. deriweave-0.4.0/vendor/eigen-source/Eigen/Sparse +34 -0
  268. deriweave-0.4.0/vendor/eigen-source/Eigen/SparseCholesky +37 -0
  269. deriweave-0.4.0/vendor/eigen-source/Eigen/SparseCore +69 -0
  270. deriweave-0.4.0/vendor/eigen-source/Eigen/SparseLU +50 -0
  271. deriweave-0.4.0/vendor/eigen-source/Eigen/SparseQR +36 -0
  272. deriweave-0.4.0/vendor/eigen-source/Eigen/StdDeque +27 -0
  273. deriweave-0.4.0/vendor/eigen-source/Eigen/StdList +26 -0
  274. deriweave-0.4.0/vendor/eigen-source/Eigen/StdVector +27 -0
  275. deriweave-0.4.0/vendor/eigen-source/Eigen/SuperLUSupport +64 -0
  276. deriweave-0.4.0/vendor/eigen-source/Eigen/UmfPackSupport +40 -0
  277. deriweave-0.4.0/vendor/eigen-source/Eigen/src/Cholesky/LDLT.h +688 -0
  278. deriweave-0.4.0/vendor/eigen-source/Eigen/src/Cholesky/LLT.h +558 -0
  279. deriweave-0.4.0/vendor/eigen-source/Eigen/src/Cholesky/LLT_LAPACKE.h +99 -0
  280. deriweave-0.4.0/vendor/eigen-source/Eigen/src/CholmodSupport/CholmodSupport.h +682 -0
  281. deriweave-0.4.0/vendor/eigen-source/Eigen/src/Core/ArithmeticSequence.h +413 -0
  282. deriweave-0.4.0/vendor/eigen-source/Eigen/src/Core/Array.h +417 -0
  283. deriweave-0.4.0/vendor/eigen-source/Eigen/src/Core/ArrayBase.h +226 -0
  284. deriweave-0.4.0/vendor/eigen-source/Eigen/src/Core/ArrayWrapper.h +209 -0
  285. deriweave-0.4.0/vendor/eigen-source/Eigen/src/Core/Assign.h +90 -0
  286. deriweave-0.4.0/vendor/eigen-source/Eigen/src/Core/AssignEvaluator.h +1010 -0
  287. deriweave-0.4.0/vendor/eigen-source/Eigen/src/Core/Assign_MKL.h +178 -0
  288. deriweave-0.4.0/vendor/eigen-source/Eigen/src/Core/BandMatrix.h +353 -0
  289. deriweave-0.4.0/vendor/eigen-source/Eigen/src/Core/Block.h +448 -0
  290. deriweave-0.4.0/vendor/eigen-source/Eigen/src/Core/BooleanRedux.h +162 -0
  291. deriweave-0.4.0/vendor/eigen-source/Eigen/src/Core/CommaInitializer.h +164 -0
  292. deriweave-0.4.0/vendor/eigen-source/Eigen/src/Core/ConditionEstimator.h +175 -0
  293. deriweave-0.4.0/vendor/eigen-source/Eigen/src/Core/CoreEvaluators.h +1741 -0
  294. deriweave-0.4.0/vendor/eigen-source/Eigen/src/Core/CoreIterators.h +132 -0
  295. deriweave-0.4.0/vendor/eigen-source/Eigen/src/Core/CwiseBinaryOp.h +183 -0
  296. deriweave-0.4.0/vendor/eigen-source/Eigen/src/Core/CwiseNullaryOp.h +1001 -0
  297. deriweave-0.4.0/vendor/eigen-source/Eigen/src/Core/CwiseTernaryOp.h +197 -0
  298. deriweave-0.4.0/vendor/eigen-source/Eigen/src/Core/CwiseUnaryOp.h +103 -0
  299. deriweave-0.4.0/vendor/eigen-source/Eigen/src/Core/CwiseUnaryView.h +132 -0
  300. deriweave-0.4.0/vendor/eigen-source/Eigen/src/Core/DenseBase.h +701 -0
  301. deriweave-0.4.0/vendor/eigen-source/Eigen/src/Core/DenseCoeffsBase.h +685 -0
  302. deriweave-0.4.0/vendor/eigen-source/Eigen/src/Core/DenseStorage.h +652 -0
  303. deriweave-0.4.0/vendor/eigen-source/Eigen/src/Core/Diagonal.h +258 -0
  304. deriweave-0.4.0/vendor/eigen-source/Eigen/src/Core/DiagonalMatrix.h +391 -0
  305. deriweave-0.4.0/vendor/eigen-source/Eigen/src/Core/DiagonalProduct.h +28 -0
  306. deriweave-0.4.0/vendor/eigen-source/Eigen/src/Core/Dot.h +318 -0
  307. deriweave-0.4.0/vendor/eigen-source/Eigen/src/Core/EigenBase.h +160 -0
  308. deriweave-0.4.0/vendor/eigen-source/Eigen/src/Core/ForceAlignedAccess.h +150 -0
  309. deriweave-0.4.0/vendor/eigen-source/Eigen/src/Core/Fuzzy.h +155 -0
  310. deriweave-0.4.0/vendor/eigen-source/Eigen/src/Core/GeneralProduct.h +465 -0
  311. deriweave-0.4.0/vendor/eigen-source/Eigen/src/Core/GenericPacketMath.h +1040 -0
  312. deriweave-0.4.0/vendor/eigen-source/Eigen/src/Core/GlobalFunctions.h +194 -0
  313. deriweave-0.4.0/vendor/eigen-source/Eigen/src/Core/IO.h +258 -0
  314. deriweave-0.4.0/vendor/eigen-source/Eigen/src/Core/IndexedView.h +237 -0
  315. deriweave-0.4.0/vendor/eigen-source/Eigen/src/Core/Inverse.h +117 -0
  316. deriweave-0.4.0/vendor/eigen-source/Eigen/src/Core/Map.h +171 -0
  317. deriweave-0.4.0/vendor/eigen-source/Eigen/src/Core/MapBase.h +310 -0
  318. deriweave-0.4.0/vendor/eigen-source/Eigen/src/Core/MathFunctions.h +2057 -0
  319. deriweave-0.4.0/vendor/eigen-source/Eigen/src/Core/MathFunctionsImpl.h +200 -0
  320. deriweave-0.4.0/vendor/eigen-source/Eigen/src/Core/Matrix.h +565 -0
  321. deriweave-0.4.0/vendor/eigen-source/Eigen/src/Core/MatrixBase.h +547 -0
  322. deriweave-0.4.0/vendor/eigen-source/Eigen/src/Core/NestByValue.h +85 -0
  323. deriweave-0.4.0/vendor/eigen-source/Eigen/src/Core/NoAlias.h +109 -0
  324. deriweave-0.4.0/vendor/eigen-source/Eigen/src/Core/NumTraits.h +335 -0
  325. deriweave-0.4.0/vendor/eigen-source/Eigen/src/Core/PartialReduxEvaluator.h +232 -0
  326. deriweave-0.4.0/vendor/eigen-source/Eigen/src/Core/PermutationMatrix.h +605 -0
  327. deriweave-0.4.0/vendor/eigen-source/Eigen/src/Core/PlainObjectBase.h +1128 -0
  328. deriweave-0.4.0/vendor/eigen-source/Eigen/src/Core/Product.h +191 -0
  329. deriweave-0.4.0/vendor/eigen-source/Eigen/src/Core/ProductEvaluators.h +1179 -0
  330. deriweave-0.4.0/vendor/eigen-source/Eigen/src/Core/Random.h +218 -0
  331. deriweave-0.4.0/vendor/eigen-source/Eigen/src/Core/Redux.h +515 -0
  332. deriweave-0.4.0/vendor/eigen-source/Eigen/src/Core/Ref.h +381 -0
  333. deriweave-0.4.0/vendor/eigen-source/Eigen/src/Core/Replicate.h +142 -0
  334. deriweave-0.4.0/vendor/eigen-source/Eigen/src/Core/Reshaped.h +454 -0
  335. deriweave-0.4.0/vendor/eigen-source/Eigen/src/Core/ReturnByValue.h +119 -0
  336. deriweave-0.4.0/vendor/eigen-source/Eigen/src/Core/Reverse.h +217 -0
  337. deriweave-0.4.0/vendor/eigen-source/Eigen/src/Core/Select.h +164 -0
  338. deriweave-0.4.0/vendor/eigen-source/Eigen/src/Core/SelfAdjointView.h +365 -0
  339. deriweave-0.4.0/vendor/eigen-source/Eigen/src/Core/SelfCwiseBinaryOp.h +47 -0
  340. deriweave-0.4.0/vendor/eigen-source/Eigen/src/Core/Solve.h +188 -0
  341. deriweave-0.4.0/vendor/eigen-source/Eigen/src/Core/SolveTriangular.h +235 -0
  342. deriweave-0.4.0/vendor/eigen-source/Eigen/src/Core/SolverBase.h +168 -0
  343. deriweave-0.4.0/vendor/eigen-source/Eigen/src/Core/StableNorm.h +251 -0
  344. deriweave-0.4.0/vendor/eigen-source/Eigen/src/Core/StlIterators.h +463 -0
  345. deriweave-0.4.0/vendor/eigen-source/Eigen/src/Core/Stride.h +116 -0
  346. deriweave-0.4.0/vendor/eigen-source/Eigen/src/Core/Swap.h +68 -0
  347. deriweave-0.4.0/vendor/eigen-source/Eigen/src/Core/Transpose.h +464 -0
  348. deriweave-0.4.0/vendor/eigen-source/Eigen/src/Core/Transpositions.h +386 -0
  349. deriweave-0.4.0/vendor/eigen-source/Eigen/src/Core/TriangularMatrix.h +1001 -0
  350. deriweave-0.4.0/vendor/eigen-source/Eigen/src/Core/VectorBlock.h +96 -0
  351. deriweave-0.4.0/vendor/eigen-source/Eigen/src/Core/VectorwiseOp.h +784 -0
  352. deriweave-0.4.0/vendor/eigen-source/Eigen/src/Core/Visitor.h +381 -0
  353. deriweave-0.4.0/vendor/eigen-source/Eigen/src/Core/arch/AVX/Complex.h +372 -0
  354. deriweave-0.4.0/vendor/eigen-source/Eigen/src/Core/arch/AVX/MathFunctions.h +228 -0
  355. deriweave-0.4.0/vendor/eigen-source/Eigen/src/Core/arch/AVX/PacketMath.h +1574 -0
  356. deriweave-0.4.0/vendor/eigen-source/Eigen/src/Core/arch/AVX/TypeCasting.h +115 -0
  357. deriweave-0.4.0/vendor/eigen-source/Eigen/src/Core/arch/AVX512/Complex.h +422 -0
  358. deriweave-0.4.0/vendor/eigen-source/Eigen/src/Core/arch/AVX512/MathFunctions.h +362 -0
  359. deriweave-0.4.0/vendor/eigen-source/Eigen/src/Core/arch/AVX512/PacketMath.h +2303 -0
  360. deriweave-0.4.0/vendor/eigen-source/Eigen/src/Core/arch/AVX512/TypeCasting.h +89 -0
  361. deriweave-0.4.0/vendor/eigen-source/Eigen/src/Core/arch/AltiVec/Complex.h +417 -0
  362. deriweave-0.4.0/vendor/eigen-source/Eigen/src/Core/arch/AltiVec/MathFunctions.h +90 -0
  363. deriweave-0.4.0/vendor/eigen-source/Eigen/src/Core/arch/AltiVec/MatrixProduct.h +2937 -0
  364. deriweave-0.4.0/vendor/eigen-source/Eigen/src/Core/arch/AltiVec/MatrixProductCommon.h +221 -0
  365. deriweave-0.4.0/vendor/eigen-source/Eigen/src/Core/arch/AltiVec/MatrixProductMMA.h +629 -0
  366. deriweave-0.4.0/vendor/eigen-source/Eigen/src/Core/arch/AltiVec/PacketMath.h +2711 -0
  367. deriweave-0.4.0/vendor/eigen-source/Eigen/src/Core/arch/CUDA/Complex.h +258 -0
  368. deriweave-0.4.0/vendor/eigen-source/Eigen/src/Core/arch/Default/BFloat16.h +700 -0
  369. deriweave-0.4.0/vendor/eigen-source/Eigen/src/Core/arch/Default/ConjHelper.h +117 -0
  370. deriweave-0.4.0/vendor/eigen-source/Eigen/src/Core/arch/Default/GenericPacketMathFunctions.h +1649 -0
  371. deriweave-0.4.0/vendor/eigen-source/Eigen/src/Core/arch/Default/GenericPacketMathFunctionsFwd.h +110 -0
  372. deriweave-0.4.0/vendor/eigen-source/Eigen/src/Core/arch/Default/Half.h +942 -0
  373. deriweave-0.4.0/vendor/eigen-source/Eigen/src/Core/arch/Default/Settings.h +49 -0
  374. deriweave-0.4.0/vendor/eigen-source/Eigen/src/Core/arch/Default/TypeCasting.h +120 -0
  375. deriweave-0.4.0/vendor/eigen-source/Eigen/src/Core/arch/GPU/MathFunctions.h +103 -0
  376. deriweave-0.4.0/vendor/eigen-source/Eigen/src/Core/arch/GPU/PacketMath.h +1685 -0
  377. deriweave-0.4.0/vendor/eigen-source/Eigen/src/Core/arch/GPU/TypeCasting.h +80 -0
  378. deriweave-0.4.0/vendor/eigen-source/Eigen/src/Core/arch/HIP/hcc/math_constants.h +23 -0
  379. deriweave-0.4.0/vendor/eigen-source/Eigen/src/Core/arch/MSA/Complex.h +648 -0
  380. deriweave-0.4.0/vendor/eigen-source/Eigen/src/Core/arch/MSA/MathFunctions.h +387 -0
  381. deriweave-0.4.0/vendor/eigen-source/Eigen/src/Core/arch/MSA/PacketMath.h +1233 -0
  382. deriweave-0.4.0/vendor/eigen-source/Eigen/src/Core/arch/NEON/Complex.h +584 -0
  383. deriweave-0.4.0/vendor/eigen-source/Eigen/src/Core/arch/NEON/GeneralBlockPanelKernel.h +183 -0
  384. deriweave-0.4.0/vendor/eigen-source/Eigen/src/Core/arch/NEON/MathFunctions.h +75 -0
  385. deriweave-0.4.0/vendor/eigen-source/Eigen/src/Core/arch/NEON/PacketMath.h +4587 -0
  386. deriweave-0.4.0/vendor/eigen-source/Eigen/src/Core/arch/NEON/TypeCasting.h +1419 -0
  387. deriweave-0.4.0/vendor/eigen-source/Eigen/src/Core/arch/SSE/Complex.h +351 -0
  388. deriweave-0.4.0/vendor/eigen-source/Eigen/src/Core/arch/SSE/MathFunctions.h +199 -0
  389. deriweave-0.4.0/vendor/eigen-source/Eigen/src/Core/arch/SSE/PacketMath.h +1505 -0
  390. deriweave-0.4.0/vendor/eigen-source/Eigen/src/Core/arch/SSE/TypeCasting.h +142 -0
  391. deriweave-0.4.0/vendor/eigen-source/Eigen/src/Core/arch/SVE/MathFunctions.h +44 -0
  392. deriweave-0.4.0/vendor/eigen-source/Eigen/src/Core/arch/SVE/PacketMath.h +752 -0
  393. deriweave-0.4.0/vendor/eigen-source/Eigen/src/Core/arch/SVE/TypeCasting.h +49 -0
  394. deriweave-0.4.0/vendor/eigen-source/Eigen/src/Core/arch/SYCL/InteropHeaders.h +232 -0
  395. deriweave-0.4.0/vendor/eigen-source/Eigen/src/Core/arch/SYCL/MathFunctions.h +301 -0
  396. deriweave-0.4.0/vendor/eigen-source/Eigen/src/Core/arch/SYCL/PacketMath.h +670 -0
  397. deriweave-0.4.0/vendor/eigen-source/Eigen/src/Core/arch/SYCL/SyclMemoryModel.h +694 -0
  398. deriweave-0.4.0/vendor/eigen-source/Eigen/src/Core/arch/SYCL/TypeCasting.h +85 -0
  399. deriweave-0.4.0/vendor/eigen-source/Eigen/src/Core/arch/ZVector/Complex.h +426 -0
  400. deriweave-0.4.0/vendor/eigen-source/Eigen/src/Core/arch/ZVector/MathFunctions.h +233 -0
  401. deriweave-0.4.0/vendor/eigen-source/Eigen/src/Core/arch/ZVector/PacketMath.h +1060 -0
  402. deriweave-0.4.0/vendor/eigen-source/Eigen/src/Core/functors/AssignmentFunctors.h +177 -0
  403. deriweave-0.4.0/vendor/eigen-source/Eigen/src/Core/functors/BinaryFunctors.h +541 -0
  404. deriweave-0.4.0/vendor/eigen-source/Eigen/src/Core/functors/NullaryFunctors.h +189 -0
  405. deriweave-0.4.0/vendor/eigen-source/Eigen/src/Core/functors/StlFunctors.h +166 -0
  406. deriweave-0.4.0/vendor/eigen-source/Eigen/src/Core/functors/TernaryFunctors.h +25 -0
  407. deriweave-0.4.0/vendor/eigen-source/Eigen/src/Core/functors/UnaryFunctors.h +1131 -0
  408. deriweave-0.4.0/vendor/eigen-source/Eigen/src/Core/products/GeneralBlockPanelKernel.h +2645 -0
  409. deriweave-0.4.0/vendor/eigen-source/Eigen/src/Core/products/GeneralMatrixMatrix.h +517 -0
  410. deriweave-0.4.0/vendor/eigen-source/Eigen/src/Core/products/GeneralMatrixMatrixTriangular.h +317 -0
  411. deriweave-0.4.0/vendor/eigen-source/Eigen/src/Core/products/GeneralMatrixMatrixTriangular_BLAS.h +145 -0
  412. deriweave-0.4.0/vendor/eigen-source/Eigen/src/Core/products/GeneralMatrixMatrix_BLAS.h +124 -0
  413. deriweave-0.4.0/vendor/eigen-source/Eigen/src/Core/products/GeneralMatrixVector.h +518 -0
  414. deriweave-0.4.0/vendor/eigen-source/Eigen/src/Core/products/GeneralMatrixVector_BLAS.h +136 -0
  415. deriweave-0.4.0/vendor/eigen-source/Eigen/src/Core/products/Parallelizer.h +180 -0
  416. deriweave-0.4.0/vendor/eigen-source/Eigen/src/Core/products/SelfadjointMatrixMatrix.h +544 -0
  417. deriweave-0.4.0/vendor/eigen-source/Eigen/src/Core/products/SelfadjointMatrixMatrix_BLAS.h +295 -0
  418. deriweave-0.4.0/vendor/eigen-source/Eigen/src/Core/products/SelfadjointMatrixVector.h +262 -0
  419. deriweave-0.4.0/vendor/eigen-source/Eigen/src/Core/products/SelfadjointMatrixVector_BLAS.h +118 -0
  420. deriweave-0.4.0/vendor/eigen-source/Eigen/src/Core/products/SelfadjointProduct.h +133 -0
  421. deriweave-0.4.0/vendor/eigen-source/Eigen/src/Core/products/SelfadjointRank2Update.h +94 -0
  422. deriweave-0.4.0/vendor/eigen-source/Eigen/src/Core/products/TriangularMatrixMatrix.h +472 -0
  423. deriweave-0.4.0/vendor/eigen-source/Eigen/src/Core/products/TriangularMatrixMatrix_BLAS.h +317 -0
  424. deriweave-0.4.0/vendor/eigen-source/Eigen/src/Core/products/TriangularMatrixVector.h +350 -0
  425. deriweave-0.4.0/vendor/eigen-source/Eigen/src/Core/products/TriangularMatrixVector_BLAS.h +255 -0
  426. deriweave-0.4.0/vendor/eigen-source/Eigen/src/Core/products/TriangularSolverMatrix.h +337 -0
  427. deriweave-0.4.0/vendor/eigen-source/Eigen/src/Core/products/TriangularSolverMatrix_BLAS.h +167 -0
  428. deriweave-0.4.0/vendor/eigen-source/Eigen/src/Core/products/TriangularSolverVector.h +148 -0
  429. deriweave-0.4.0/vendor/eigen-source/Eigen/src/Core/util/BlasUtil.h +583 -0
  430. deriweave-0.4.0/vendor/eigen-source/Eigen/src/Core/util/ConfigureVectorization.h +512 -0
  431. deriweave-0.4.0/vendor/eigen-source/Eigen/src/Core/util/Constants.h +563 -0
  432. deriweave-0.4.0/vendor/eigen-source/Eigen/src/Core/util/DisableStupidWarnings.h +106 -0
  433. deriweave-0.4.0/vendor/eigen-source/Eigen/src/Core/util/ForwardDeclarations.h +322 -0
  434. deriweave-0.4.0/vendor/eigen-source/Eigen/src/Core/util/IndexedViewHelper.h +186 -0
  435. deriweave-0.4.0/vendor/eigen-source/Eigen/src/Core/util/IntegralConstant.h +272 -0
  436. deriweave-0.4.0/vendor/eigen-source/Eigen/src/Core/util/MKL_support.h +137 -0
  437. deriweave-0.4.0/vendor/eigen-source/Eigen/src/Core/util/Macros.h +1464 -0
  438. deriweave-0.4.0/vendor/eigen-source/Eigen/src/Core/util/Memory.h +1163 -0
  439. deriweave-0.4.0/vendor/eigen-source/Eigen/src/Core/util/Meta.h +812 -0
  440. deriweave-0.4.0/vendor/eigen-source/Eigen/src/Core/util/NonMPL2.h +3 -0
  441. deriweave-0.4.0/vendor/eigen-source/Eigen/src/Core/util/ReenableStupidWarnings.h +31 -0
  442. deriweave-0.4.0/vendor/eigen-source/Eigen/src/Core/util/ReshapedHelper.h +51 -0
  443. deriweave-0.4.0/vendor/eigen-source/Eigen/src/Core/util/StaticAssert.h +221 -0
  444. deriweave-0.4.0/vendor/eigen-source/Eigen/src/Core/util/SymbolicIndex.h +293 -0
  445. deriweave-0.4.0/vendor/eigen-source/Eigen/src/Core/util/XprHelper.h +856 -0
  446. deriweave-0.4.0/vendor/eigen-source/Eigen/src/Eigenvalues/ComplexEigenSolver.h +346 -0
  447. deriweave-0.4.0/vendor/eigen-source/Eigen/src/Eigenvalues/ComplexSchur.h +462 -0
  448. deriweave-0.4.0/vendor/eigen-source/Eigen/src/Eigenvalues/ComplexSchur_LAPACKE.h +91 -0
  449. deriweave-0.4.0/vendor/eigen-source/Eigen/src/Eigenvalues/EigenSolver.h +622 -0
  450. deriweave-0.4.0/vendor/eigen-source/Eigen/src/Eigenvalues/GeneralizedEigenSolver.h +418 -0
  451. deriweave-0.4.0/vendor/eigen-source/Eigen/src/Eigenvalues/GeneralizedSelfAdjointEigenSolver.h +226 -0
  452. deriweave-0.4.0/vendor/eigen-source/Eigen/src/Eigenvalues/HessenbergDecomposition.h +374 -0
  453. deriweave-0.4.0/vendor/eigen-source/Eigen/src/Eigenvalues/MatrixBaseEigenvalues.h +158 -0
  454. deriweave-0.4.0/vendor/eigen-source/Eigen/src/Eigenvalues/RealQZ.h +657 -0
  455. deriweave-0.4.0/vendor/eigen-source/Eigen/src/Eigenvalues/RealSchur.h +558 -0
  456. deriweave-0.4.0/vendor/eigen-source/Eigen/src/Eigenvalues/RealSchur_LAPACKE.h +77 -0
  457. deriweave-0.4.0/vendor/eigen-source/Eigen/src/Eigenvalues/SelfAdjointEigenSolver.h +904 -0
  458. deriweave-0.4.0/vendor/eigen-source/Eigen/src/Eigenvalues/SelfAdjointEigenSolver_LAPACKE.h +87 -0
  459. deriweave-0.4.0/vendor/eigen-source/Eigen/src/Eigenvalues/Tridiagonalization.h +561 -0
  460. deriweave-0.4.0/vendor/eigen-source/Eigen/src/Geometry/AlignedBox.h +486 -0
  461. deriweave-0.4.0/vendor/eigen-source/Eigen/src/Geometry/AngleAxis.h +247 -0
  462. deriweave-0.4.0/vendor/eigen-source/Eigen/src/Geometry/EulerAngles.h +114 -0
  463. deriweave-0.4.0/vendor/eigen-source/Eigen/src/Geometry/Homogeneous.h +501 -0
  464. deriweave-0.4.0/vendor/eigen-source/Eigen/src/Geometry/Hyperplane.h +282 -0
  465. deriweave-0.4.0/vendor/eigen-source/Eigen/src/Geometry/OrthoMethods.h +235 -0
  466. deriweave-0.4.0/vendor/eigen-source/Eigen/src/Geometry/ParametrizedLine.h +232 -0
  467. deriweave-0.4.0/vendor/eigen-source/Eigen/src/Geometry/Quaternion.h +870 -0
  468. deriweave-0.4.0/vendor/eigen-source/Eigen/src/Geometry/Rotation2D.h +199 -0
  469. deriweave-0.4.0/vendor/eigen-source/Eigen/src/Geometry/RotationBase.h +206 -0
  470. deriweave-0.4.0/vendor/eigen-source/Eigen/src/Geometry/Scaling.h +188 -0
  471. deriweave-0.4.0/vendor/eigen-source/Eigen/src/Geometry/Transform.h +1563 -0
  472. deriweave-0.4.0/vendor/eigen-source/Eigen/src/Geometry/Translation.h +202 -0
  473. deriweave-0.4.0/vendor/eigen-source/Eigen/src/Geometry/Umeyama.h +166 -0
  474. deriweave-0.4.0/vendor/eigen-source/Eigen/src/Geometry/arch/Geometry_SIMD.h +168 -0
  475. deriweave-0.4.0/vendor/eigen-source/Eigen/src/Householder/BlockHouseholder.h +110 -0
  476. deriweave-0.4.0/vendor/eigen-source/Eigen/src/Householder/Householder.h +176 -0
  477. deriweave-0.4.0/vendor/eigen-source/Eigen/src/Householder/HouseholderSequence.h +545 -0
  478. deriweave-0.4.0/vendor/eigen-source/Eigen/src/IterativeLinearSolvers/BasicPreconditioners.h +226 -0
  479. deriweave-0.4.0/vendor/eigen-source/Eigen/src/IterativeLinearSolvers/BiCGSTAB.h +212 -0
  480. deriweave-0.4.0/vendor/eigen-source/Eigen/src/IterativeLinearSolvers/ConjugateGradient.h +229 -0
  481. deriweave-0.4.0/vendor/eigen-source/Eigen/src/IterativeLinearSolvers/IncompleteCholesky.h +394 -0
  482. deriweave-0.4.0/vendor/eigen-source/Eigen/src/IterativeLinearSolvers/IncompleteLUT.h +453 -0
  483. deriweave-0.4.0/vendor/eigen-source/Eigen/src/IterativeLinearSolvers/IterativeSolverBase.h +444 -0
  484. deriweave-0.4.0/vendor/eigen-source/Eigen/src/IterativeLinearSolvers/LeastSquareConjugateGradient.h +198 -0
  485. deriweave-0.4.0/vendor/eigen-source/Eigen/src/IterativeLinearSolvers/SolveWithGuess.h +117 -0
  486. deriweave-0.4.0/vendor/eigen-source/Eigen/src/Jacobi/Jacobi.h +483 -0
  487. deriweave-0.4.0/vendor/eigen-source/Eigen/src/KLUSupport/KLUSupport.h +358 -0
  488. deriweave-0.4.0/vendor/eigen-source/Eigen/src/LU/Determinant.h +117 -0
  489. deriweave-0.4.0/vendor/eigen-source/Eigen/src/LU/FullPivLU.h +877 -0
  490. deriweave-0.4.0/vendor/eigen-source/Eigen/src/LU/InverseImpl.h +432 -0
  491. deriweave-0.4.0/vendor/eigen-source/Eigen/src/LU/PartialPivLU.h +624 -0
  492. deriweave-0.4.0/vendor/eigen-source/Eigen/src/LU/PartialPivLU_LAPACKE.h +83 -0
  493. deriweave-0.4.0/vendor/eigen-source/Eigen/src/LU/arch/InverseSize4.h +351 -0
  494. deriweave-0.4.0/vendor/eigen-source/Eigen/src/MetisSupport/MetisSupport.h +137 -0
  495. deriweave-0.4.0/vendor/eigen-source/Eigen/src/OrderingMethods/Amd.h +435 -0
  496. deriweave-0.4.0/vendor/eigen-source/Eigen/src/OrderingMethods/Eigen_Colamd.h +1863 -0
  497. deriweave-0.4.0/vendor/eigen-source/Eigen/src/OrderingMethods/Ordering.h +153 -0
  498. deriweave-0.4.0/vendor/eigen-source/Eigen/src/PaStiXSupport/PaStiXSupport.h +678 -0
  499. deriweave-0.4.0/vendor/eigen-source/Eigen/src/PardisoSupport/PardisoSupport.h +545 -0
  500. deriweave-0.4.0/vendor/eigen-source/Eigen/src/QR/ColPivHouseholderQR.h +674 -0
  501. deriweave-0.4.0/vendor/eigen-source/Eigen/src/QR/ColPivHouseholderQR_LAPACKE.h +97 -0
  502. deriweave-0.4.0/vendor/eigen-source/Eigen/src/QR/CompleteOrthogonalDecomposition.h +635 -0
  503. deriweave-0.4.0/vendor/eigen-source/Eigen/src/QR/FullPivHouseholderQR.h +713 -0
  504. deriweave-0.4.0/vendor/eigen-source/Eigen/src/QR/HouseholderQR.h +434 -0
  505. deriweave-0.4.0/vendor/eigen-source/Eigen/src/QR/HouseholderQR_LAPACKE.h +68 -0
  506. deriweave-0.4.0/vendor/eigen-source/Eigen/src/SPQRSupport/SuiteSparseQRSupport.h +335 -0
  507. deriweave-0.4.0/vendor/eigen-source/Eigen/src/SVD/BDCSVD.h +1366 -0
  508. deriweave-0.4.0/vendor/eigen-source/Eigen/src/SVD/JacobiSVD.h +812 -0
  509. deriweave-0.4.0/vendor/eigen-source/Eigen/src/SVD/JacobiSVD_LAPACKE.h +91 -0
  510. deriweave-0.4.0/vendor/eigen-source/Eigen/src/SVD/SVDBase.h +376 -0
  511. deriweave-0.4.0/vendor/eigen-source/Eigen/src/SVD/UpperBidiagonalization.h +414 -0
  512. deriweave-0.4.0/vendor/eigen-source/Eigen/src/SparseCholesky/SimplicialCholesky.h +697 -0
  513. deriweave-0.4.0/vendor/eigen-source/Eigen/src/SparseCholesky/SimplicialCholesky_impl.h +174 -0
  514. deriweave-0.4.0/vendor/eigen-source/Eigen/src/SparseCore/AmbiVector.h +378 -0
  515. deriweave-0.4.0/vendor/eigen-source/Eigen/src/SparseCore/CompressedStorage.h +274 -0
  516. deriweave-0.4.0/vendor/eigen-source/Eigen/src/SparseCore/ConservativeSparseSparseProduct.h +352 -0
  517. deriweave-0.4.0/vendor/eigen-source/Eigen/src/SparseCore/MappedSparseMatrix.h +67 -0
  518. deriweave-0.4.0/vendor/eigen-source/Eigen/src/SparseCore/SparseAssign.h +270 -0
  519. deriweave-0.4.0/vendor/eigen-source/Eigen/src/SparseCore/SparseBlock.h +571 -0
  520. deriweave-0.4.0/vendor/eigen-source/Eigen/src/SparseCore/SparseColEtree.h +206 -0
  521. deriweave-0.4.0/vendor/eigen-source/Eigen/src/SparseCore/SparseCompressedBase.h +370 -0
  522. deriweave-0.4.0/vendor/eigen-source/Eigen/src/SparseCore/SparseCwiseBinaryOp.h +722 -0
  523. deriweave-0.4.0/vendor/eigen-source/Eigen/src/SparseCore/SparseCwiseUnaryOp.h +150 -0
  524. deriweave-0.4.0/vendor/eigen-source/Eigen/src/SparseCore/SparseDenseProduct.h +342 -0
  525. deriweave-0.4.0/vendor/eigen-source/Eigen/src/SparseCore/SparseDiagonalProduct.h +138 -0
  526. deriweave-0.4.0/vendor/eigen-source/Eigen/src/SparseCore/SparseDot.h +98 -0
  527. deriweave-0.4.0/vendor/eigen-source/Eigen/src/SparseCore/SparseFuzzy.h +29 -0
  528. deriweave-0.4.0/vendor/eigen-source/Eigen/src/SparseCore/SparseMap.h +305 -0
  529. deriweave-0.4.0/vendor/eigen-source/Eigen/src/SparseCore/SparseMatrix.h +1518 -0
  530. deriweave-0.4.0/vendor/eigen-source/Eigen/src/SparseCore/SparseMatrixBase.h +398 -0
  531. deriweave-0.4.0/vendor/eigen-source/Eigen/src/SparseCore/SparsePermutation.h +178 -0
  532. deriweave-0.4.0/vendor/eigen-source/Eigen/src/SparseCore/SparseProduct.h +181 -0
  533. deriweave-0.4.0/vendor/eigen-source/Eigen/src/SparseCore/SparseRedux.h +49 -0
  534. deriweave-0.4.0/vendor/eigen-source/Eigen/src/SparseCore/SparseRef.h +397 -0
  535. deriweave-0.4.0/vendor/eigen-source/Eigen/src/SparseCore/SparseSelfAdjointView.h +659 -0
  536. deriweave-0.4.0/vendor/eigen-source/Eigen/src/SparseCore/SparseSolverBase.h +124 -0
  537. deriweave-0.4.0/vendor/eigen-source/Eigen/src/SparseCore/SparseSparseProductWithPruning.h +198 -0
  538. deriweave-0.4.0/vendor/eigen-source/Eigen/src/SparseCore/SparseTranspose.h +92 -0
  539. deriweave-0.4.0/vendor/eigen-source/Eigen/src/SparseCore/SparseTriangularView.h +189 -0
  540. deriweave-0.4.0/vendor/eigen-source/Eigen/src/SparseCore/SparseUtil.h +186 -0
  541. deriweave-0.4.0/vendor/eigen-source/Eigen/src/SparseCore/SparseVector.h +478 -0
  542. deriweave-0.4.0/vendor/eigen-source/Eigen/src/SparseCore/SparseView.h +254 -0
  543. deriweave-0.4.0/vendor/eigen-source/Eigen/src/SparseCore/TriangularSolver.h +315 -0
  544. deriweave-0.4.0/vendor/eigen-source/Eigen/src/SparseLU/SparseLU.h +923 -0
  545. deriweave-0.4.0/vendor/eigen-source/Eigen/src/SparseLU/SparseLUImpl.h +66 -0
  546. deriweave-0.4.0/vendor/eigen-source/Eigen/src/SparseLU/SparseLU_Memory.h +226 -0
  547. deriweave-0.4.0/vendor/eigen-source/Eigen/src/SparseLU/SparseLU_Structs.h +110 -0
  548. deriweave-0.4.0/vendor/eigen-source/Eigen/src/SparseLU/SparseLU_SupernodalMatrix.h +375 -0
  549. deriweave-0.4.0/vendor/eigen-source/Eigen/src/SparseLU/SparseLU_Utils.h +80 -0
  550. deriweave-0.4.0/vendor/eigen-source/Eigen/src/SparseLU/SparseLU_column_bmod.h +181 -0
  551. deriweave-0.4.0/vendor/eigen-source/Eigen/src/SparseLU/SparseLU_column_dfs.h +179 -0
  552. deriweave-0.4.0/vendor/eigen-source/Eigen/src/SparseLU/SparseLU_copy_to_ucol.h +107 -0
  553. deriweave-0.4.0/vendor/eigen-source/Eigen/src/SparseLU/SparseLU_gemm_kernel.h +280 -0
  554. deriweave-0.4.0/vendor/eigen-source/Eigen/src/SparseLU/SparseLU_heap_relax_snode.h +126 -0
  555. deriweave-0.4.0/vendor/eigen-source/Eigen/src/SparseLU/SparseLU_kernel_bmod.h +130 -0
  556. deriweave-0.4.0/vendor/eigen-source/Eigen/src/SparseLU/SparseLU_panel_bmod.h +223 -0
  557. deriweave-0.4.0/vendor/eigen-source/Eigen/src/SparseLU/SparseLU_panel_dfs.h +258 -0
  558. deriweave-0.4.0/vendor/eigen-source/Eigen/src/SparseLU/SparseLU_pivotL.h +137 -0
  559. deriweave-0.4.0/vendor/eigen-source/Eigen/src/SparseLU/SparseLU_pruneL.h +136 -0
  560. deriweave-0.4.0/vendor/eigen-source/Eigen/src/SparseLU/SparseLU_relax_snode.h +83 -0
  561. deriweave-0.4.0/vendor/eigen-source/Eigen/src/SparseQR/SparseQR.h +758 -0
  562. deriweave-0.4.0/vendor/eigen-source/Eigen/src/StlSupport/StdDeque.h +116 -0
  563. deriweave-0.4.0/vendor/eigen-source/Eigen/src/StlSupport/StdList.h +106 -0
  564. deriweave-0.4.0/vendor/eigen-source/Eigen/src/StlSupport/StdVector.h +131 -0
  565. deriweave-0.4.0/vendor/eigen-source/Eigen/src/StlSupport/details.h +84 -0
  566. deriweave-0.4.0/vendor/eigen-source/Eigen/src/SuperLUSupport/SuperLUSupport.h +1025 -0
  567. deriweave-0.4.0/vendor/eigen-source/Eigen/src/UmfPackSupport/UmfPackSupport.h +642 -0
  568. deriweave-0.4.0/vendor/eigen-source/Eigen/src/misc/Image.h +82 -0
  569. deriweave-0.4.0/vendor/eigen-source/Eigen/src/misc/Kernel.h +79 -0
  570. deriweave-0.4.0/vendor/eigen-source/Eigen/src/misc/RealSvd2x2.h +55 -0
  571. deriweave-0.4.0/vendor/eigen-source/Eigen/src/misc/blas.h +440 -0
  572. deriweave-0.4.0/vendor/eigen-source/Eigen/src/misc/lapack.h +152 -0
  573. deriweave-0.4.0/vendor/eigen-source/Eigen/src/misc/lapacke.h +16292 -0
  574. deriweave-0.4.0/vendor/eigen-source/Eigen/src/misc/lapacke_mangling.h +17 -0
  575. deriweave-0.4.0/vendor/eigen-source/Eigen/src/plugins/ArrayCwiseBinaryOps.h +358 -0
  576. deriweave-0.4.0/vendor/eigen-source/Eigen/src/plugins/ArrayCwiseUnaryOps.h +696 -0
  577. deriweave-0.4.0/vendor/eigen-source/Eigen/src/plugins/BlockMethods.h +1442 -0
  578. deriweave-0.4.0/vendor/eigen-source/Eigen/src/plugins/CommonCwiseBinaryOps.h +115 -0
  579. deriweave-0.4.0/vendor/eigen-source/Eigen/src/plugins/CommonCwiseUnaryOps.h +177 -0
  580. deriweave-0.4.0/vendor/eigen-source/Eigen/src/plugins/IndexedViewMethods.h +262 -0
  581. deriweave-0.4.0/vendor/eigen-source/Eigen/src/plugins/MatrixCwiseBinaryOps.h +152 -0
  582. deriweave-0.4.0/vendor/eigen-source/Eigen/src/plugins/MatrixCwiseUnaryOps.h +95 -0
  583. deriweave-0.4.0/vendor/eigen-source/Eigen/src/plugins/ReshapedMethods.h +149 -0
@@ -0,0 +1,6 @@
1
+ # Native patch checksums must survive Windows checkouts.
2
+ * text=auto eol=lf
3
+ *.bat text eol=crlf
4
+ *.png binary
5
+ *.jpg binary
6
+ *.pdf binary
@@ -0,0 +1,42 @@
1
+ name: Build and test
2
+
3
+ on:
4
+ push:
5
+ pull_request:
6
+ workflow_dispatch:
7
+
8
+ permissions:
9
+ contents: read
10
+
11
+ jobs:
12
+ validate:
13
+ strategy:
14
+ fail-fast: false
15
+ matrix:
16
+ os: [ubuntu-latest, windows-latest]
17
+ python: ["3.10", "3.12", "3.14"]
18
+ openmp: ["OFF"]
19
+ include:
20
+ - os: ubuntu-latest
21
+ python: "3.12"
22
+ openmp: "ON"
23
+ - os: windows-latest
24
+ python: "3.12"
25
+ openmp: "ON"
26
+ runs-on: ${{ matrix.os }}
27
+ timeout-minutes: 30
28
+ env:
29
+ CMAKE_BUILD_PARALLEL_LEVEL: "4"
30
+ steps:
31
+ - uses: actions/checkout@v6
32
+ - uses: actions/setup-python@v6
33
+ with:
34
+ python-version: ${{ matrix.python }}
35
+ - name: Install development dependencies
36
+ run: python -m pip install "scikit-build-core>=1.0" "pybind11>=3.0,<4" "pytest>=8" "numpy>=1.23" "build>=1.2" "twine>=6"
37
+ - name: Build and install the native extension; run C++ suites
38
+ run: python tools/build_local.py --openmp ${{ matrix.openmp }} --tests
39
+ - name: Build distributions and test the wheel in a fresh environment
40
+ run: python tools/check_distribution.py --tests ${{ runner.os == 'Windows' && matrix.python == '3.12' && matrix.openmp == 'OFF' && '--migration' || '' }}
41
+ - name: Check release metadata
42
+ run: python -c "import glob, subprocess, sys; subprocess.run([sys.executable, '-m', 'twine', 'check', '--strict', *glob.glob('dist/*.whl'), *glob.glob('dist/*.tar.gz')], check=True)"
@@ -0,0 +1,18 @@
1
+ /.venv/
2
+ /build/
3
+ /_skbuild/
4
+ *.egg-info/
5
+ __pycache__/
6
+ .pytest_cache/
7
+ /.audit/
8
+ /dist/
9
+ *.pyd
10
+ *.so
11
+
12
+ # Keep the pinned engine and Eigen headers in source control for pip install .
13
+ /vendor/*
14
+ !/vendor/deriweave/
15
+ !/vendor/eigen-source/
16
+ /vendor/eigen-source/*
17
+ !/vendor/eigen-source/Eigen/
18
+ !/vendor/eigen-source/COPYING*
@@ -0,0 +1,22 @@
1
+ # Changelog
2
+
3
+ ## 0.4.0 — 2026-11-07
4
+
5
+ - Primary distribution and import renamed to `deriweave`.
6
+ - `deriweave-python` becomes a pure Python compatibility distribution depending on `deriweave` 0.4.x.
7
+ - Historical imports share the primary classes and native extension; no overlapping package files.
8
+ - Migration validation covers the published 0.3.0 wheel and independent removal of the compatibility package.
9
+ - Financial algorithms and numerical conventions are unchanged from the audited 0.3.0 release.
10
+
11
+ ## 0.3.0 — 2026-11-07
12
+
13
+ - Six native models and reusable expressions, with autocalls and separate LSM training/evaluation.
14
+ - Native paths, deterministic contract evaluation, moment diagnostics, NumPy interoperability and type information.
15
+ - Numerical portability fixes validated on Windows/MSVC and Linux/GCC; details in docs/AUDIT.md.
16
+ - Self-contained sources with an explicit archive whitelist and sequential Windows CPython 3.12 wheel; native dependencies are retained in source control.
17
+ - Source preparation reuses existing headers without compiling Eigen and patches new engine sources before installing them.
18
+ - Development builds install the actual extension they validate; clean-environment distribution checks are reproducible.
19
+
20
+ ## 0.2.0
21
+
22
+ Initial Python bindings with six models, declarative compositions and historical pricing helpers.
@@ -0,0 +1,60 @@
1
+ cmake_minimum_required(VERSION 3.20)
2
+ project(DeriWeavePython VERSION 0.4.0 LANGUAGES CXX)
3
+
4
+ option(DERIWEAVE_PY_BUILD_TESTS "Build native tests and the Python reference executable" OFF)
5
+ option(DERIWEAVE_ENABLE_OPENMP "Enable native OpenMP pricing (runtime required)" OFF)
6
+ if(NOT DEFINED DERIWEAVE_SOURCE_DIR)
7
+ if(DEFINED ENV{DERIWEAVE_CPP_DIR} AND NOT "$ENV{DERIWEAVE_CPP_DIR}" STREQUAL "")
8
+ set(DERIWEAVE_SOURCE_DIR "$ENV{DERIWEAVE_CPP_DIR}" CACHE PATH "DeriWeave C++ sources")
9
+ else()
10
+ set(DERIWEAVE_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/vendor/deriweave" CACHE PATH "DeriWeave C++ sources")
11
+ endif()
12
+ endif()
13
+ if(NOT EXISTS "${DERIWEAVE_SOURCE_DIR}/CMakeLists.txt")
14
+ message(FATAL_ERROR "DeriWeave C++ sources missing. Run python prepare_windows.py or set DERIWEAVE_SOURCE_DIR.")
15
+ endif()
16
+ find_package(Eigen3 3.4 QUIET NO_MODULE)
17
+ if(NOT Eigen3_FOUND)
18
+ set(DERIWEAVE_EIGEN_INCLUDE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/vendor/eigen-source")
19
+ if(NOT EXISTS "${DERIWEAVE_EIGEN_INCLUDE_DIR}/Eigen/Core")
20
+ message(FATAL_ERROR "Eigen 3.4+ missing. Install Eigen or run python prepare_windows.py.")
21
+ endif()
22
+ include(CMakePackageConfigHelpers)
23
+ set(Eigen3_DIR "${CMAKE_CURRENT_BINARY_DIR}/eigen-package")
24
+ file(MAKE_DIRECTORY "${Eigen3_DIR}")
25
+ configure_file(cmake/Eigen3Config.cmake.in "${Eigen3_DIR}/Eigen3Config.cmake" @ONLY)
26
+ write_basic_package_version_file("${Eigen3_DIR}/Eigen3ConfigVersion.cmake"
27
+ VERSION 3.4.0 COMPATIBILITY SameMajorVersion ARCH_INDEPENDENT)
28
+ find_package(Eigen3 3.4 REQUIRED NO_MODULE)
29
+ endif()
30
+ set(DERIWEAVE_BUILD_EXAMPLES OFF CACHE BOOL "" FORCE)
31
+ set(DERIWEAVE_BUILD_TESTS ${DERIWEAVE_PY_BUILD_TESTS} CACHE BOOL "" FORCE)
32
+ if(DERIWEAVE_PY_BUILD_TESTS)
33
+ include(CTest)
34
+ endif()
35
+ find_package(Python COMPONENTS Interpreter Development.Module REQUIRED)
36
+ set(PYBIND11_FINDPYTHON ON)
37
+ find_package(pybind11 3.0 CONFIG REQUIRED)
38
+ add_subdirectory("${DERIWEAVE_SOURCE_DIR}" "${CMAKE_CURRENT_BINARY_DIR}/deriweave_cpp" EXCLUDE_FROM_ALL)
39
+ pybind11_add_module(_core NO_EXTRAS bindings/module.cpp bindings/composition.cpp)
40
+ target_compile_features(_core PRIVATE cxx_std_20)
41
+ target_link_libraries(_core PRIVATE DeriWeave::deriweave_core)
42
+ install(TARGETS _core LIBRARY DESTINATION deriweave COMPONENT python RUNTIME DESTINATION deriweave COMPONENT python)
43
+ install(FILES "${DERIWEAVE_SOURCE_DIR}/LICENSE" DESTINATION deriweave/licenses
44
+ RENAME DeriWeave-LICENSE COMPONENT python)
45
+ if(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/vendor/eigen-source/COPYING.MPL2")
46
+ install(FILES vendor/eigen-source/COPYING.MPL2 vendor/eigen-source/COPYING.BSD
47
+ vendor/eigen-source/COPYING.MINPACK vendor/eigen-source/COPYING.README
48
+ DESTINATION deriweave/licenses COMPONENT python)
49
+ endif()
50
+ if(DERIWEAVE_PY_BUILD_TESTS)
51
+ add_custom_target(native_tests)
52
+ get_property(_native_targets DIRECTORY "${DERIWEAVE_SOURCE_DIR}" PROPERTY BUILDSYSTEM_TARGETS)
53
+ foreach(_target IN LISTS _native_targets)
54
+ if(_target MATCHES "_tests$")
55
+ add_dependencies(native_tests "${_target}")
56
+ endif()
57
+ endforeach()
58
+ add_executable(native_reference tests/native_reference.cpp)
59
+ target_link_libraries(native_reference PRIVATE DeriWeave::deriweave_core)
60
+ endif()
@@ -0,0 +1,36 @@
1
+ @echo off
2
+ setlocal
3
+ cd /d "%~dp0"
4
+ where cl >nul 2>&1
5
+ if errorlevel 1 (
6
+ echo ERROR: Open an x64 Native Tools Command Prompt for Visual Studio.
7
+ exit /b 1
8
+ )
9
+ where cmake >nul 2>&1
10
+ if errorlevel 1 (
11
+ if exist "%ProgramFiles%\CMake\bin\cmake.exe" set "PATH=%ProgramFiles%\CMake\bin;%PATH%"
12
+ )
13
+ where cmake >nul 2>&1
14
+ if errorlevel 1 (
15
+ echo ERROR: CMake is required.
16
+ exit /b 1
17
+ )
18
+ if not exist ".venv\Scripts\python.exe" (
19
+ py -3 -m venv .venv
20
+ if errorlevel 1 exit /b 1
21
+ )
22
+ call ".venv\Scripts\activate.bat"
23
+ python prepare_windows.py
24
+ if errorlevel 1 exit /b 1
25
+ python -m pip install ".[test]"
26
+ if errorlevel 1 exit /b 1
27
+ python tools\build_local.py --tests
28
+ if errorlevel 1 exit /b 1
29
+ python -m pytest -q
30
+ if errorlevel 1 exit /b 1
31
+ for %%f in (examples\*.py) do (
32
+ python "%%f"
33
+ if errorlevel 1 exit /b 1
34
+ )
35
+ echo SUCCESS: installation, native tests, Python tests and examples passed.
36
+ endlocal
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 DeriWeave contributors
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1,227 @@
1
+ Metadata-Version: 2.4
2
+ Name: deriweave
3
+ Version: 0.4.0
4
+ Summary: Composable derivatives pricing with the native DeriWeave C++20 engine
5
+ Keywords: derivatives,monte-carlo,quantitative-finance,pricing
6
+ Author: DeriWeave contributors
7
+ License-Expression: MIT
8
+ License-File: LICENSE
9
+ Requires-Python: >=3.10
10
+ Provides-Extra: numpy
11
+ Requires-Dist: numpy>=1.23; extra == "numpy"
12
+ Provides-Extra: test
13
+ Requires-Dist: pytest>=8; extra == "test"
14
+ Requires-Dist: numpy>=1.23; extra == "test"
15
+ Requires-Dist: build>=1.2; extra == "test"
16
+ Requires-Dist: scikit-build-core>=1.0; extra == "test"
17
+ Requires-Dist: pybind11<4,>=3.0; extra == "test"
18
+ Provides-Extra: release
19
+ Requires-Dist: build>=1.2; extra == "release"
20
+ Requires-Dist: twine>=6; extra == "release"
21
+ Description-Content-Type: text/markdown
22
+
23
+ # DeriWeave 0.4.0
24
+
25
+ Contrats financiers composables en Python, avec **DeriWeave C++20** pour la
26
+ simulation, les cashflows, les statistiques et Longstaff-Schwartz.
27
+ Les descriptions Python sont réutilisables ; aucun callback Python ne s'exécute
28
+ dans les boucles Monte Carlo.
29
+
30
+ Six modèles, expressions imbriquées, barrières discrètes, autocalls avec mémoire
31
+ et politiques LSM sont disponibles. La documentation détaillée accompagne
32
+ l'archive source : `docs/guide.md`, `docs/coverage.md` et `docs/AUDIT.md`.
33
+
34
+ ## Installation avec pip
35
+
36
+ ~~~bash
37
+ python -m pip install deriweave
38
+ ~~~
39
+
40
+ La wheel prête à l'emploi cible **CPython 3.12, Windows x64**. Pour les autres
41
+ configurations, pip construit depuis les sources : un compilateur C++20 et
42
+ CMake sont alors nécessaires. La construction Linux/GCC est vérifiée sur Python 3.12.
43
+ NumPy est facultatif pour le pricing ; pour les matrices et diagnostics de chemin :
44
+
45
+ ~~~bash
46
+ python -m pip install "deriweave[numpy]"
47
+ ~~~
48
+
49
+ ## Installer la wheel Windows fournie
50
+
51
+ Pour **CPython 3.12, Windows x64**, la wheel de `dist/` s'installe sans
52
+ compilateur C++. Dans un environnement virtuel activé :
53
+
54
+ ~~~bat
55
+ python -m pip install dist\deriweave-0.4.0-cp312-cp312-win_amd64.whl
56
+ python examples\demo.py
57
+ ~~~
58
+
59
+ Le nom du paquet et de l'import est désormais `deriweave`.
60
+ La wheel et les sources permettent aussi une installation à partir d'un fichier
61
+ local. Les instructions de maintenance et de publication figurent dans
62
+ `docs/release.md`, inclus dans l'archive source.
63
+
64
+ ## Migrer depuis deriweave-python 0.3.0
65
+
66
+ Pour conserver les anciens scripts :
67
+
68
+ ~~~bash
69
+ python -m pip install --upgrade deriweave-python
70
+ ~~~
71
+
72
+ La version 0.4.0 de ce paquet installe `deriweave` et conserve
73
+ `import deriweave_py as dw`. Les deux noms donnent accès aux mêmes classes et au
74
+ même moteur natif ; ils peuvent être utilisés ensemble sans mélanger deux moteurs.
75
+ Les nouveaux projets utilisent `import deriweave as dw`.
76
+ La procédure détaillée figure dans `docs/MIGRATION.md`, dans l'archive source.
77
+
78
+ ## Compiler et installer sous Windows
79
+
80
+ Prérequis : Python 64 bits 3.10+, MSVC C++20 et CMake 3.20+.
81
+ Validation sur Python 3.12.3, MSVC 19.51 et pybind11 3.1.0.
82
+ Ouvrir une **x64 Native Tools Command Prompt** de Visual Studio :
83
+
84
+ ~~~bat
85
+ python -m venv .venv
86
+ .venv\Scripts\activate
87
+ python -m pip install .
88
+ ~~~
89
+
90
+ Réutiliser le .venv existant sans le recréer si souhaité.
91
+ Le moteur et les en-têtes Eigen sont inclus dans les sources et conservés par
92
+ les règles Git du projet : un checkout complet suffit pour `pip install .`.
93
+ CMake n'a pas besoin du réseau ; pip peut télécharger le backend de construction.
94
+ Pour une copie privée de ses dépendances, `python prepare_windows.py` récupère
95
+ uniquement les sources manquantes, sur Windows ou Linux. Il réutilise les sources
96
+ existantes et ne compile pas Eigen. Les corrections vérifiées par empreintes sont
97
+ appliquées avant d'installer une nouvelle copie du moteur.
98
+
99
+ Avec NumPy et les tests :
100
+
101
+ ~~~bat
102
+ python -m pip install ".[test]"
103
+ python tools\build_local.py --tests
104
+ python -m pytest -q
105
+ ~~~
106
+
107
+ `tools/build_local.py` installe le binaire qu'il construit avant de lancer les
108
+ tests natifs ; les appels Python suivants utilisent donc cette compilation.
109
+ INSTALL_WINDOWS.bat automatise préparation, installation, tests et exemples.
110
+
111
+ ## Installation Linux
112
+
113
+ Avec Python, venv, les en-têtes de développement Python, un compilateur C++20 et
114
+ CMake installés :
115
+
116
+ ~~~bash
117
+ python3 -m venv .venv
118
+ . .venv/bin/activate
119
+ python -m pip install .
120
+ ~~~
121
+
122
+ Un Eigen 3.4+ installé est prioritaire ; les en-têtes inclus servent de repli.
123
+ La validation Linux/GCC et ses limites figurent dans le rapport d'audit.
124
+
125
+ ## Premier prix
126
+
127
+ ~~~python
128
+ import deriweave as dw
129
+
130
+ asset = dw.Asset("AAPL")
131
+ product = dw.Product(dw.Call(dw.Spot(asset, 1.0), 100), payment_date=1.05)
132
+ market = dw.Market({"AAPL": 100}, rate=0.03, dividend_yields={"AAPL": 0.02})
133
+ model = dw.BlackScholes(0.20)
134
+ settings = dw.SimulationSettings(n_simulations=20_000, seed=42, antithetic=True)
135
+ result = dw.price(product, market=market, model=model, settings=settings)
136
+ print(result.price, result.standard_error, result.confidence_interval_95)
137
+ ~~~
138
+
139
+ L'observation à 1.0 et le paiement à 1.05 restent distincts.
140
+ 20 000 observations antithétiques produisent 40 000 trajectoires.
141
+
142
+ ## Produits composables
143
+
144
+ ~~~python
145
+ import deriweave as dw
146
+
147
+ observations = [
148
+ dw.Basket([dw.Spot("A", t), dw.Spot("B", t)], [0.5, 0.5])
149
+ for t in [0.25, 0.5, 0.75, 1.0]
150
+ ]
151
+ product = dw.Product(dw.Call(dw.Average(observations), 105), payment_date=1.0)
152
+ result = dw.price(product, market=dw.Market({"A": 100, "B": 110}, 0.03),
153
+ model=dw.BlackScholes([0.20, 0.25], [[1, 0.4], [0.4, 1]]))
154
+ print(result.price)
155
+ ~~~
156
+
157
+ Un call sur panier diffère d'un panier de calls. Les moyennes imbriquées
158
+ conservent leur ordre et leurs observations répétées.
159
+
160
+ ## Exercice anticipé
161
+
162
+ ~~~python
163
+ import deriweave as dw
164
+
165
+ t = dw.ExerciseTime
166
+ contract = dw.American(
167
+ payoff=dw.Put(dw.Spot("A", t), 100),
168
+ states=[dw.Spot("A", t)], start=0, maturity=1,
169
+ )
170
+ market = dw.Market({"A": 100}, 0.03)
171
+ model = dw.BlackScholes(0.20)
172
+ policy = dw.train_longstaff_schwartz(
173
+ contract, market=market, model=model,
174
+ settings=dw.LsmSettings(training_paths=4000, seed=7919,
175
+ max_exercise_time_step=1/12),
176
+ )
177
+ result = dw.price(policy, market=market, model=model,
178
+ settings=dw.SimulationSettings(n_simulations=6000, seed=42))
179
+ print(result.price, policy.exercise_dates)
180
+ ~~~
181
+
182
+ L'entraînement reste séparé de l'évaluation. Sous Heston, utiliser au minimum
183
+ spot et variance comme états pour une vanille. L'intervalle de confiance est
184
+ conditionnel à la politique apprise.
185
+
186
+ ## Vérifier une distribution
187
+
188
+ Après installation de `.[test,release]` et construction de la référence C++ avec
189
+ `python tools/build_local.py --tests` :
190
+
191
+ ~~~bash
192
+ python tools/check_distribution.py --tests --migration
193
+ ~~~
194
+
195
+ Cette commande construit les deux paquets depuis leurs archives source, contrôle leurs contenus
196
+ et installe les wheels dans un venv neuf. Elle vérifie d'abord le pricing sans
197
+ NumPy, puis exécute tous les tests Python et les cinq exemples.
198
+ `--migration` teste aussi une mise à jour de la wheel historique 0.3.0 sous
199
+ Windows/CPython 3.12, puis la désinstallation du paquet de compatibilité.
200
+ `--no-isolation` réutilise les dépendances de construction déjà installées.
201
+
202
+ ## Exemples et OpenMP
203
+
204
+ ~~~bash
205
+ python examples/demo.py
206
+ python examples/composition_demo.py
207
+ python examples/models_demo.py
208
+ python examples/structured_demo.py
209
+ python examples/exercise_demo.py
210
+ python tools/memory_check.py
211
+ ~~~
212
+
213
+ OpenMP est désactivé par défaut. Pour l'activer :
214
+
215
+ ~~~bash
216
+ python -m pip install . -Ccmake.define.DERIWEAVE_ENABLE_OPENMP=ON
217
+ ~~~
218
+
219
+ Utiliser ensuite SimulationSettings(use_openmp=True, num_threads=4).
220
+ dw.build_info() indique les capacités réelles du binaire.
221
+ Le runtime du compilateur est requis : vcomp140.dll sous MSVC, libgomp avec GCC.
222
+ La wheel séquentielle évite cette dépendance.
223
+
224
+ Les fonctions historiques european, asian et basket restent disponibles.
225
+ Base : [DeriWeave 0.1.0](https://github.com/AmineFendi94/DeriWeave),
226
+ commit 8e54378b0800c936e22c2abca0afaca751c73888, avec les corrections de portabilité
227
+ documentées dans l'audit. Licence MIT ; Eigen conserve ses licences.
@@ -0,0 +1,205 @@
1
+ # DeriWeave 0.4.0
2
+
3
+ Contrats financiers composables en Python, avec **DeriWeave C++20** pour la
4
+ simulation, les cashflows, les statistiques et Longstaff-Schwartz.
5
+ Les descriptions Python sont réutilisables ; aucun callback Python ne s'exécute
6
+ dans les boucles Monte Carlo.
7
+
8
+ Six modèles, expressions imbriquées, barrières discrètes, autocalls avec mémoire
9
+ et politiques LSM sont disponibles. La documentation détaillée accompagne
10
+ l'archive source : `docs/guide.md`, `docs/coverage.md` et `docs/AUDIT.md`.
11
+
12
+ ## Installation avec pip
13
+
14
+ ~~~bash
15
+ python -m pip install deriweave
16
+ ~~~
17
+
18
+ La wheel prête à l'emploi cible **CPython 3.12, Windows x64**. Pour les autres
19
+ configurations, pip construit depuis les sources : un compilateur C++20 et
20
+ CMake sont alors nécessaires. La construction Linux/GCC est vérifiée sur Python 3.12.
21
+ NumPy est facultatif pour le pricing ; pour les matrices et diagnostics de chemin :
22
+
23
+ ~~~bash
24
+ python -m pip install "deriweave[numpy]"
25
+ ~~~
26
+
27
+ ## Installer la wheel Windows fournie
28
+
29
+ Pour **CPython 3.12, Windows x64**, la wheel de `dist/` s'installe sans
30
+ compilateur C++. Dans un environnement virtuel activé :
31
+
32
+ ~~~bat
33
+ python -m pip install dist\deriweave-0.4.0-cp312-cp312-win_amd64.whl
34
+ python examples\demo.py
35
+ ~~~
36
+
37
+ Le nom du paquet et de l'import est désormais `deriweave`.
38
+ La wheel et les sources permettent aussi une installation à partir d'un fichier
39
+ local. Les instructions de maintenance et de publication figurent dans
40
+ `docs/release.md`, inclus dans l'archive source.
41
+
42
+ ## Migrer depuis deriweave-python 0.3.0
43
+
44
+ Pour conserver les anciens scripts :
45
+
46
+ ~~~bash
47
+ python -m pip install --upgrade deriweave-python
48
+ ~~~
49
+
50
+ La version 0.4.0 de ce paquet installe `deriweave` et conserve
51
+ `import deriweave_py as dw`. Les deux noms donnent accès aux mêmes classes et au
52
+ même moteur natif ; ils peuvent être utilisés ensemble sans mélanger deux moteurs.
53
+ Les nouveaux projets utilisent `import deriweave as dw`.
54
+ La procédure détaillée figure dans `docs/MIGRATION.md`, dans l'archive source.
55
+
56
+ ## Compiler et installer sous Windows
57
+
58
+ Prérequis : Python 64 bits 3.10+, MSVC C++20 et CMake 3.20+.
59
+ Validation sur Python 3.12.3, MSVC 19.51 et pybind11 3.1.0.
60
+ Ouvrir une **x64 Native Tools Command Prompt** de Visual Studio :
61
+
62
+ ~~~bat
63
+ python -m venv .venv
64
+ .venv\Scripts\activate
65
+ python -m pip install .
66
+ ~~~
67
+
68
+ Réutiliser le .venv existant sans le recréer si souhaité.
69
+ Le moteur et les en-têtes Eigen sont inclus dans les sources et conservés par
70
+ les règles Git du projet : un checkout complet suffit pour `pip install .`.
71
+ CMake n'a pas besoin du réseau ; pip peut télécharger le backend de construction.
72
+ Pour une copie privée de ses dépendances, `python prepare_windows.py` récupère
73
+ uniquement les sources manquantes, sur Windows ou Linux. Il réutilise les sources
74
+ existantes et ne compile pas Eigen. Les corrections vérifiées par empreintes sont
75
+ appliquées avant d'installer une nouvelle copie du moteur.
76
+
77
+ Avec NumPy et les tests :
78
+
79
+ ~~~bat
80
+ python -m pip install ".[test]"
81
+ python tools\build_local.py --tests
82
+ python -m pytest -q
83
+ ~~~
84
+
85
+ `tools/build_local.py` installe le binaire qu'il construit avant de lancer les
86
+ tests natifs ; les appels Python suivants utilisent donc cette compilation.
87
+ INSTALL_WINDOWS.bat automatise préparation, installation, tests et exemples.
88
+
89
+ ## Installation Linux
90
+
91
+ Avec Python, venv, les en-têtes de développement Python, un compilateur C++20 et
92
+ CMake installés :
93
+
94
+ ~~~bash
95
+ python3 -m venv .venv
96
+ . .venv/bin/activate
97
+ python -m pip install .
98
+ ~~~
99
+
100
+ Un Eigen 3.4+ installé est prioritaire ; les en-têtes inclus servent de repli.
101
+ La validation Linux/GCC et ses limites figurent dans le rapport d'audit.
102
+
103
+ ## Premier prix
104
+
105
+ ~~~python
106
+ import deriweave as dw
107
+
108
+ asset = dw.Asset("AAPL")
109
+ product = dw.Product(dw.Call(dw.Spot(asset, 1.0), 100), payment_date=1.05)
110
+ market = dw.Market({"AAPL": 100}, rate=0.03, dividend_yields={"AAPL": 0.02})
111
+ model = dw.BlackScholes(0.20)
112
+ settings = dw.SimulationSettings(n_simulations=20_000, seed=42, antithetic=True)
113
+ result = dw.price(product, market=market, model=model, settings=settings)
114
+ print(result.price, result.standard_error, result.confidence_interval_95)
115
+ ~~~
116
+
117
+ L'observation à 1.0 et le paiement à 1.05 restent distincts.
118
+ 20 000 observations antithétiques produisent 40 000 trajectoires.
119
+
120
+ ## Produits composables
121
+
122
+ ~~~python
123
+ import deriweave as dw
124
+
125
+ observations = [
126
+ dw.Basket([dw.Spot("A", t), dw.Spot("B", t)], [0.5, 0.5])
127
+ for t in [0.25, 0.5, 0.75, 1.0]
128
+ ]
129
+ product = dw.Product(dw.Call(dw.Average(observations), 105), payment_date=1.0)
130
+ result = dw.price(product, market=dw.Market({"A": 100, "B": 110}, 0.03),
131
+ model=dw.BlackScholes([0.20, 0.25], [[1, 0.4], [0.4, 1]]))
132
+ print(result.price)
133
+ ~~~
134
+
135
+ Un call sur panier diffère d'un panier de calls. Les moyennes imbriquées
136
+ conservent leur ordre et leurs observations répétées.
137
+
138
+ ## Exercice anticipé
139
+
140
+ ~~~python
141
+ import deriweave as dw
142
+
143
+ t = dw.ExerciseTime
144
+ contract = dw.American(
145
+ payoff=dw.Put(dw.Spot("A", t), 100),
146
+ states=[dw.Spot("A", t)], start=0, maturity=1,
147
+ )
148
+ market = dw.Market({"A": 100}, 0.03)
149
+ model = dw.BlackScholes(0.20)
150
+ policy = dw.train_longstaff_schwartz(
151
+ contract, market=market, model=model,
152
+ settings=dw.LsmSettings(training_paths=4000, seed=7919,
153
+ max_exercise_time_step=1/12),
154
+ )
155
+ result = dw.price(policy, market=market, model=model,
156
+ settings=dw.SimulationSettings(n_simulations=6000, seed=42))
157
+ print(result.price, policy.exercise_dates)
158
+ ~~~
159
+
160
+ L'entraînement reste séparé de l'évaluation. Sous Heston, utiliser au minimum
161
+ spot et variance comme états pour une vanille. L'intervalle de confiance est
162
+ conditionnel à la politique apprise.
163
+
164
+ ## Vérifier une distribution
165
+
166
+ Après installation de `.[test,release]` et construction de la référence C++ avec
167
+ `python tools/build_local.py --tests` :
168
+
169
+ ~~~bash
170
+ python tools/check_distribution.py --tests --migration
171
+ ~~~
172
+
173
+ Cette commande construit les deux paquets depuis leurs archives source, contrôle leurs contenus
174
+ et installe les wheels dans un venv neuf. Elle vérifie d'abord le pricing sans
175
+ NumPy, puis exécute tous les tests Python et les cinq exemples.
176
+ `--migration` teste aussi une mise à jour de la wheel historique 0.3.0 sous
177
+ Windows/CPython 3.12, puis la désinstallation du paquet de compatibilité.
178
+ `--no-isolation` réutilise les dépendances de construction déjà installées.
179
+
180
+ ## Exemples et OpenMP
181
+
182
+ ~~~bash
183
+ python examples/demo.py
184
+ python examples/composition_demo.py
185
+ python examples/models_demo.py
186
+ python examples/structured_demo.py
187
+ python examples/exercise_demo.py
188
+ python tools/memory_check.py
189
+ ~~~
190
+
191
+ OpenMP est désactivé par défaut. Pour l'activer :
192
+
193
+ ~~~bash
194
+ python -m pip install . -Ccmake.define.DERIWEAVE_ENABLE_OPENMP=ON
195
+ ~~~
196
+
197
+ Utiliser ensuite SimulationSettings(use_openmp=True, num_threads=4).
198
+ dw.build_info() indique les capacités réelles du binaire.
199
+ Le runtime du compilateur est requis : vcomp140.dll sous MSVC, libgomp avec GCC.
200
+ La wheel séquentielle évite cette dépendance.
201
+
202
+ Les fonctions historiques european, asian et basket restent disponibles.
203
+ Base : [DeriWeave 0.1.0](https://github.com/AmineFendi94/DeriWeave),
204
+ commit 8e54378b0800c936e22c2abca0afaca751c73888, avec les corrections de portabilité
205
+ documentées dans l'audit. Licence MIT ; Eigen conserve ses licences.