syncmoments 0.3.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 (242) hide show
  1. syncmoments-0.3.0/.readthedocs.yaml +18 -0
  2. syncmoments-0.3.0/CHANGELOG.md +768 -0
  3. syncmoments-0.3.0/LICENSE +21 -0
  4. syncmoments-0.3.0/MANIFEST.in +6 -0
  5. syncmoments-0.3.0/PKG-INFO +1176 -0
  6. syncmoments-0.3.0/README.md +1149 -0
  7. syncmoments-0.3.0/docs/DESIGN.md +1799 -0
  8. syncmoments-0.3.0/docs/api/core.rst +85 -0
  9. syncmoments-0.3.0/docs/api/fit.rst +30 -0
  10. syncmoments-0.3.0/docs/api/index.rst +13 -0
  11. syncmoments-0.3.0/docs/api/model.rst +70 -0
  12. syncmoments-0.3.0/docs/changelog.md +2 -0
  13. syncmoments-0.3.0/docs/conf.py +52 -0
  14. syncmoments-0.3.0/docs/guide/faraday.md +15 -0
  15. syncmoments-0.3.0/docs/guide/fixed_harmonic.md +6 -0
  16. syncmoments-0.3.0/docs/guide/model.md +11 -0
  17. syncmoments-0.3.0/docs/guide/radiation.md +6 -0
  18. syncmoments-0.3.0/docs/guide/transfer.md +6 -0
  19. syncmoments-0.3.0/docs/index.md +28 -0
  20. syncmoments-0.3.0/docs/installation.md +13 -0
  21. syncmoments-0.3.0/docs/scope.md +6 -0
  22. syncmoments-0.3.0/pyproject.toml +43 -0
  23. syncmoments-0.3.0/scripts/application_foreground.py +112 -0
  24. syncmoments-0.3.0/scripts/compare_moment_cumulant.py +116 -0
  25. syncmoments-0.3.0/scripts/model_examples.py +249 -0
  26. syncmoments-0.3.0/scripts/model_examples_continuum.py +315 -0
  27. syncmoments-0.3.0/scripts/model_examples_fit.py +95 -0
  28. syncmoments-0.3.0/scripts/plot_derivative_spectra.py +141 -0
  29. syncmoments-0.3.0/scripts/plot_transfer.py +217 -0
  30. syncmoments-0.3.0/scripts/reference_constants.py +139 -0
  31. syncmoments-0.3.0/scripts/review_radiation.py +254 -0
  32. syncmoments-0.3.0/scripts/run_all.py +82 -0
  33. syncmoments-0.3.0/scripts/test_design.py +64 -0
  34. syncmoments-0.3.0/scripts/validate_cumulants.py +114 -0
  35. syncmoments-0.3.0/scripts/validate_kirchhoff.py +188 -0
  36. syncmoments-0.3.0/scripts/validate_model.py +171 -0
  37. syncmoments-0.3.0/scripts/validate_rt_moments.py +171 -0
  38. syncmoments-0.3.0/scripts/validate_sed.py +147 -0
  39. syncmoments-0.3.0/scripts/validate_transfer.py +141 -0
  40. syncmoments-0.3.0/setup.cfg +4 -0
  41. syncmoments-0.3.0/syncmoments/__init__.py +96 -0
  42. syncmoments-0.3.0/syncmoments/_expm.py +107 -0
  43. syncmoments-0.3.0/syncmoments/bessel.py +268 -0
  44. syncmoments-0.3.0/syncmoments/constants.py +23 -0
  45. syncmoments-0.3.0/syncmoments/conversion.py +50 -0
  46. syncmoments-0.3.0/syncmoments/cumulants.py +132 -0
  47. syncmoments-0.3.0/syncmoments/derivatives.py +57 -0
  48. syncmoments-0.3.0/syncmoments/expansion.py +321 -0
  49. syncmoments-0.3.0/syncmoments/faraday.py +214 -0
  50. syncmoments-0.3.0/syncmoments/kirchhoff.py +336 -0
  51. syncmoments-0.3.0/syncmoments/los_moments.py +132 -0
  52. syncmoments-0.3.0/syncmoments/magnus.py +57 -0
  53. syncmoments-0.3.0/syncmoments/model/__init__.py +133 -0
  54. syncmoments-0.3.0/syncmoments/model/_allowances.py +87 -0
  55. syncmoments-0.3.0/syncmoments/model/_basis_checks.py +183 -0
  56. syncmoments-0.3.0/syncmoments/model/_basis_core.py +329 -0
  57. syncmoments-0.3.0/syncmoments/model/_basis_taylor.py +221 -0
  58. syncmoments-0.3.0/syncmoments/model/_bessel_recurrence.py +200 -0
  59. syncmoments-0.3.0/syncmoments/model/_bound_helpers.py +44 -0
  60. syncmoments-0.3.0/syncmoments/model/_budget_terms.py +387 -0
  61. syncmoments-0.3.0/syncmoments/model/_channel_shapes.py +94 -0
  62. syncmoments-0.3.0/syncmoments/model/_continuum.py +296 -0
  63. syncmoments-0.3.0/syncmoments/model/_depth_bound.py +103 -0
  64. syncmoments-0.3.0/syncmoments/model/_direct.py +322 -0
  65. syncmoments-0.3.0/syncmoments/model/_factor.py +398 -0
  66. syncmoments-0.3.0/syncmoments/model/_factorisation_bounds.py +106 -0
  67. syncmoments-0.3.0/syncmoments/model/_harmonic_cells.py +304 -0
  68. syncmoments-0.3.0/syncmoments/model/_harmonic_tail.py +112 -0
  69. syncmoments-0.3.0/syncmoments/model/_harmonic_taylor.py +378 -0
  70. syncmoments-0.3.0/syncmoments/model/_kernel_helpers.py +208 -0
  71. syncmoments-0.3.0/syncmoments/model/_polynomial.py +139 -0
  72. syncmoments-0.3.0/syncmoments/model/_population.py +291 -0
  73. syncmoments-0.3.0/syncmoments/model/_prediction.py +125 -0
  74. syncmoments-0.3.0/syncmoments/model/_project.py +399 -0
  75. syncmoments-0.3.0/syncmoments/model/_provenance.py +213 -0
  76. syncmoments-0.3.0/syncmoments/model/_refine.py +99 -0
  77. syncmoments-0.3.0/syncmoments/model/_remainder_probe.py +396 -0
  78. syncmoments-0.3.0/syncmoments/model/_remainder_route.py +207 -0
  79. syncmoments-0.3.0/syncmoments/model/_support_check.py +112 -0
  80. syncmoments-0.3.0/syncmoments/model/adapters.py +277 -0
  81. syncmoments-0.3.0/syncmoments/model/assumptions.py +400 -0
  82. syncmoments-0.3.0/syncmoments/model/basis.py +399 -0
  83. syncmoments-0.3.0/syncmoments/model/bounds.py +395 -0
  84. syncmoments-0.3.0/syncmoments/model/channels.py +393 -0
  85. syncmoments-0.3.0/syncmoments/model/errors.py +287 -0
  86. syncmoments-0.3.0/syncmoments/model/fit/__init__.py +45 -0
  87. syncmoments-0.3.0/syncmoments/model/fit/_bfgs.py +114 -0
  88. syncmoments-0.3.0/syncmoments/model/fit/_feasibility.py +245 -0
  89. syncmoments-0.3.0/syncmoments/model/fit/_feasibility_rules.py +173 -0
  90. syncmoments-0.3.0/syncmoments/model/fit/_identifiability.py +118 -0
  91. syncmoments-0.3.0/syncmoments/model/fit/_linear_core.py +169 -0
  92. syncmoments-0.3.0/syncmoments/model/fit/_nodal.py +185 -0
  93. syncmoments-0.3.0/syncmoments/model/fit/_result_build.py +304 -0
  94. syncmoments-0.3.0/syncmoments/model/fit/_result_core.py +293 -0
  95. syncmoments-0.3.0/syncmoments/model/fit/_transform.py +204 -0
  96. syncmoments-0.3.0/syncmoments/model/fit/diagnostics.py +277 -0
  97. syncmoments-0.3.0/syncmoments/model/fit/linear.py +298 -0
  98. syncmoments-0.3.0/syncmoments/model/fit/nonlinear.py +374 -0
  99. syncmoments-0.3.0/syncmoments/model/fit/observation.py +367 -0
  100. syncmoments-0.3.0/syncmoments/model/fit/result.py +215 -0
  101. syncmoments-0.3.0/syncmoments/model/harmonic.py +399 -0
  102. syncmoments-0.3.0/syncmoments/model/index.py +388 -0
  103. syncmoments-0.3.0/syncmoments/model/kernels.py +153 -0
  104. syncmoments-0.3.0/syncmoments/model/moments.py +347 -0
  105. syncmoments-0.3.0/syncmoments/model/phase.py +378 -0
  106. syncmoments-0.3.0/syncmoments/model/predict.py +293 -0
  107. syncmoments-0.3.0/syncmoments/model/screens.py +172 -0
  108. syncmoments-0.3.0/syncmoments/rm.py +400 -0
  109. syncmoments-0.3.0/syncmoments/sed.py +183 -0
  110. syncmoments-0.3.0/syncmoments/solutions.py +56 -0
  111. syncmoments-0.3.0/syncmoments/stokes.py +102 -0
  112. syncmoments-0.3.0/syncmoments/transfer.py +384 -0
  113. syncmoments-0.3.0/syncmoments/ultrarel.py +48 -0
  114. syncmoments-0.3.0/syncmoments.egg-info/PKG-INFO +1176 -0
  115. syncmoments-0.3.0/syncmoments.egg-info/SOURCES.txt +240 -0
  116. syncmoments-0.3.0/syncmoments.egg-info/dependency_links.txt +1 -0
  117. syncmoments-0.3.0/syncmoments.egg-info/requires.txt +17 -0
  118. syncmoments-0.3.0/syncmoments.egg-info/top_level.txt +1 -0
  119. syncmoments-0.3.0/tests/_ad_matrix.py +252 -0
  120. syncmoments-0.3.0/tests/_ad_matrix_cases.py +331 -0
  121. syncmoments-0.3.0/tests/_ad_matrix_model_cases.py +188 -0
  122. syncmoments-0.3.0/tests/conftest.py +31 -0
  123. syncmoments-0.3.0/tests/model/_basis_fixtures.py +78 -0
  124. syncmoments-0.3.0/tests/model/_basis_stub.py +179 -0
  125. syncmoments-0.3.0/tests/model/_benchmark_helpers.py +191 -0
  126. syncmoments-0.3.0/tests/model/_boundary_oracles.py +251 -0
  127. syncmoments-0.3.0/tests/model/_diagnostics_fixtures.py +176 -0
  128. syncmoments-0.3.0/tests/model/_harmonic_oracles.py +77 -0
  129. syncmoments-0.3.0/tests/model/_integration_fixtures.py +172 -0
  130. syncmoments-0.3.0/tests/model/_linear_fixtures.py +60 -0
  131. syncmoments-0.3.0/tests/model/_nonlinear_oracles.py +193 -0
  132. syncmoments-0.3.0/tests/model/_predict_helpers.py +179 -0
  133. syncmoments-0.3.0/tests/model/conftest.py +31 -0
  134. syncmoments-0.3.0/tests/model/reference/README.md +19 -0
  135. syncmoments-0.3.0/tests/model/reference/validation/__init__.py +1 -0
  136. syncmoments-0.3.0/tests/model/reference/validation/full_response.py +452 -0
  137. syncmoments-0.3.0/tests/model/reference/validation/full_response_product.py +100 -0
  138. syncmoments-0.3.0/tests/model/reference/validation/full_response_results.json +1039 -0
  139. syncmoments-0.3.0/tests/model/test_adapters.py +318 -0
  140. syncmoments-0.3.0/tests/model/test_assumptions.py +1035 -0
  141. syncmoments-0.3.0/tests/model/test_assumptions_jit.py +88 -0
  142. syncmoments-0.3.0/tests/model/test_assumptions_regressions.py +212 -0
  143. syncmoments-0.3.0/tests/model/test_b_analytic_derivatives.py +260 -0
  144. syncmoments-0.3.0/tests/model/test_basis.py +308 -0
  145. syncmoments-0.3.0/tests/model/test_basis_build.py +290 -0
  146. syncmoments-0.3.0/tests/model/test_basis_convergence.py +211 -0
  147. syncmoments-0.3.0/tests/model/test_basis_convergence_regressions.py +233 -0
  148. syncmoments-0.3.0/tests/model/test_benchmark.py +344 -0
  149. syncmoments-0.3.0/tests/model/test_bessel_recurrence.py +219 -0
  150. syncmoments-0.3.0/tests/model/test_boundaries.py +376 -0
  151. syncmoments-0.3.0/tests/model/test_boundaries_continuum.py +211 -0
  152. syncmoments-0.3.0/tests/model/test_boundaries_corners.py +129 -0
  153. syncmoments-0.3.0/tests/model/test_boundaries_depth.py +400 -0
  154. syncmoments-0.3.0/tests/model/test_boundaries_fit.py +314 -0
  155. syncmoments-0.3.0/tests/model/test_boundaries_quadrature.py +299 -0
  156. syncmoments-0.3.0/tests/model/test_bounds.py +373 -0
  157. syncmoments-0.3.0/tests/model/test_bounds_regressions.py +294 -0
  158. syncmoments-0.3.0/tests/model/test_budget_regressions.py +309 -0
  159. syncmoments-0.3.0/tests/model/test_capped_derivatives.py +298 -0
  160. syncmoments-0.3.0/tests/model/test_certif_wording_fit.py +53 -0
  161. syncmoments-0.3.0/tests/model/test_channels.py +398 -0
  162. syncmoments-0.3.0/tests/model/test_continuum.py +203 -0
  163. syncmoments-0.3.0/tests/model/test_diagnostics.py +240 -0
  164. syncmoments-0.3.0/tests/model/test_direct_allowances_round3.py +214 -0
  165. syncmoments-0.3.0/tests/model/test_docstrings.py +171 -0
  166. syncmoments-0.3.0/tests/model/test_errors.py +524 -0
  167. syncmoments-0.3.0/tests/model/test_example_continuum_budget.py +71 -0
  168. syncmoments-0.3.0/tests/model/test_feasibility.py +258 -0
  169. syncmoments-0.3.0/tests/model/test_fit_integration.py +346 -0
  170. syncmoments-0.3.0/tests/model/test_fit_integration_nonlinear.py +210 -0
  171. syncmoments-0.3.0/tests/model/test_harmonic.py +310 -0
  172. syncmoments-0.3.0/tests/model/test_harmonic_doc_claims.py +60 -0
  173. syncmoments-0.3.0/tests/model/test_harmonic_projection.py +213 -0
  174. syncmoments-0.3.0/tests/model/test_index.py +434 -0
  175. syncmoments-0.3.0/tests/model/test_jit_ad.py +244 -0
  176. syncmoments-0.3.0/tests/model/test_json_strict_regressions.py +112 -0
  177. syncmoments-0.3.0/tests/model/test_kernel_chunking.py +226 -0
  178. syncmoments-0.3.0/tests/model/test_kernels.py +273 -0
  179. syncmoments-0.3.0/tests/model/test_linear.py +277 -0
  180. syncmoments-0.3.0/tests/model/test_linear_policies.py +213 -0
  181. syncmoments-0.3.0/tests/model/test_linear_regressions.py +200 -0
  182. syncmoments-0.3.0/tests/model/test_lower_set_remainder.py +253 -0
  183. syncmoments-0.3.0/tests/model/test_lower_set_truncation.py +348 -0
  184. syncmoments-0.3.0/tests/model/test_memory_numerics.py +267 -0
  185. syncmoments-0.3.0/tests/model/test_moments.py +603 -0
  186. syncmoments-0.3.0/tests/model/test_nonlinear.py +384 -0
  187. syncmoments-0.3.0/tests/model/test_nonlinear_bias_regressions.py +114 -0
  188. syncmoments-0.3.0/tests/model/test_nonlinear_boundaries.py +167 -0
  189. syncmoments-0.3.0/tests/model/test_nonlinear_fit.py +310 -0
  190. syncmoments-0.3.0/tests/model/test_nonlinear_regressions.py +68 -0
  191. syncmoments-0.3.0/tests/model/test_observation.py +562 -0
  192. syncmoments-0.3.0/tests/model/test_phase.py +326 -0
  193. syncmoments-0.3.0/tests/model/test_predict.py +345 -0
  194. syncmoments-0.3.0/tests/model/test_predict_assumptions.py +115 -0
  195. syncmoments-0.3.0/tests/model/test_predict_direct_regressions.py +378 -0
  196. syncmoments-0.3.0/tests/model/test_predict_routes.py +146 -0
  197. syncmoments-0.3.0/tests/model/test_probe_memory_budget.py +266 -0
  198. syncmoments-0.3.0/tests/model/test_probe_taylor.py +251 -0
  199. syncmoments-0.3.0/tests/model/test_product_cells_regressions.py +190 -0
  200. syncmoments-0.3.0/tests/model/test_reference_provenance.py +25 -0
  201. syncmoments-0.3.0/tests/model/test_remainder_probe.py +296 -0
  202. syncmoments-0.3.0/tests/model/test_remainder_probe_route.py +174 -0
  203. syncmoments-0.3.0/tests/model/test_result.py +348 -0
  204. syncmoments-0.3.0/tests/model/test_screens.py +239 -0
  205. syncmoments-0.3.0/tests/model/test_stokes_nodes.py +67 -0
  206. syncmoments-0.3.0/tests/model/test_support_check_regressions.py +165 -0
  207. syncmoments-0.3.0/tests/model/test_symmetry_assumptions.py +239 -0
  208. syncmoments-0.3.0/tests/model/test_symmetry_factorisation.py +195 -0
  209. syncmoments-0.3.0/tests/model/test_symmetry_fixed_table.py +236 -0
  210. syncmoments-0.3.0/tests/model/test_truncation_provenance.py +228 -0
  211. syncmoments-0.3.0/tests/model/test_version_provenance.py +19 -0
  212. syncmoments-0.3.0/tests/test_ad_transform_matrix.py +147 -0
  213. syncmoments-0.3.0/tests/test_ad_transform_matrix_nested.py +181 -0
  214. syncmoments-0.3.0/tests/test_ad_transform_matrix_v020.py +94 -0
  215. syncmoments-0.3.0/tests/test_audit_provenance.py +45 -0
  216. syncmoments-0.3.0/tests/test_bessel_autodiff_accuracy.py +73 -0
  217. syncmoments-0.3.0/tests/test_distributed_faraday.py +414 -0
  218. syncmoments-0.3.0/tests/test_mixed_population.py +281 -0
  219. syncmoments-0.3.0/tests/test_package_improvements.py +203 -0
  220. syncmoments-0.3.0/tests/test_radiation_regressions.py +296 -0
  221. syncmoments-0.3.0/tests/test_rm_regressions.py +138 -0
  222. syncmoments-0.3.0/tests/test_slow_gating.py +85 -0
  223. syncmoments-0.3.0/tests/test_transfer_batched_reverse.py +204 -0
  224. syncmoments-0.3.0/tests/test_transfer_companion_boundaries.py +196 -0
  225. syncmoments-0.3.0/tests/test_transfer_derivatives.py +229 -0
  226. syncmoments-0.3.0/tests/test_transfer_eager.py +110 -0
  227. syncmoments-0.3.0/tests/test_transfer_expm_boundaries.py +136 -0
  228. syncmoments-0.3.0/tests/test_transfer_extreme_jacobians.py +111 -0
  229. syncmoments-0.3.0/tests/test_transfer_higher_order.py +226 -0
  230. syncmoments-0.3.0/tests/test_transfer_refusals.py +155 -0
  231. syncmoments-0.3.0/tests/test_transfer_regressions.py +202 -0
  232. syncmoments-0.3.0/tests/test_transfer_scale_and_budget.py +89 -0
  233. syncmoments-0.3.0/tests/test_transfer_scaling.py +121 -0
  234. syncmoments-0.3.0/tests/test_validation.py +654 -0
  235. syncmoments-0.3.0/tests/test_version.py +22 -0
  236. syncmoments-0.3.0/tests/test_weight_normalisation.py +168 -0
  237. syncmoments-0.3.0/tests/test_weight_normalisation_edges.py +200 -0
  238. syncmoments-0.3.0/tests/test_weight_normalisation_errors.py +178 -0
  239. syncmoments-0.3.0/tests/test_weight_normalisation_hessian.py +151 -0
  240. syncmoments-0.3.0/tests/test_weight_normalisation_mixed.py +140 -0
  241. syncmoments-0.3.0/tests/test_weight_normalisation_oracle.py +197 -0
  242. syncmoments-0.3.0/tests/test_weight_normalisation_second_order.py +233 -0
@@ -0,0 +1,18 @@
1
+ # Read the Docs build configuration: https://docs.readthedocs.io/en/stable/config-file/v2.html
2
+ version: 2
3
+
4
+ build:
5
+ os: ubuntu-24.04
6
+ tools:
7
+ python: "3.12"
8
+
9
+ sphinx:
10
+ configuration: docs/conf.py
11
+ fail_on_warning: true
12
+
13
+ python:
14
+ install:
15
+ - method: pip
16
+ path: .
17
+ extra_requirements:
18
+ - docs