Skip to content
Merged
Show file tree
Hide file tree
Changes from 21 commits
Commits
Show all changes
29 commits
Select commit Hold shift + click to select a range
2f58e08
MAINT: upgrade lock files
redeboer Feb 12, 2026
a65bfe4
BEHAVIOR: remove `np.vectorize()` call
redeboer Feb 8, 2026
3968b6a
FEAT: implement notebook with `quadax` demo
redeboer Feb 10, 2026
0ea6fc1
DOC: improve Sphinx rendering
redeboer Feb 11, 2026
286317b
BEHAVIOR: remove epsilon_prime
redeboer Feb 12, 2026
7880770
FEAT: implement `scipy.integrate.quad_vec`
redeboer Feb 12, 2026
a6b9deb
ENH: update slider connections through links
redeboer Feb 12, 2026
6142f93
FEAT: implement higher angular momentum in widget
redeboer Feb 12, 2026
fa002c0
DOC: explain implementationm
redeboer Feb 13, 2026
12cc49b
FIX: move `quadax` to notebook dependencies
redeboer Feb 13, 2026
1088583
MAINT: upgrade lock files
redeboer Feb 15, 2026
aedf440
ENH: render expressions with split square root
redeboer Feb 15, 2026
b967546
ENH: improve widget for ell>0
redeboer Feb 15, 2026
0bf25b2
BREAK: rename `UnevalutableIntegral` to `NumericalIntegral`
redeboer Feb 15, 2026
280d378
FEAT: configure integration algorithm per expression node
redeboer Feb 15, 2026
4c1c131
MAINT: replace `versionadded` with `version-added`
redeboer Feb 15, 2026
92dd4ed
FEAT: implement different algorithms for `NumericalIntegral`
redeboer Feb 15, 2026
9b4aded
MAINT: upgrade lock files
redeboer Feb 15, 2026
b2af146
MAINT: update BibTeX citation keys
redeboer Feb 16, 2026
bb3504f
ENH: use `quadax.quadgk` in Riemann sheet notebook
redeboer Feb 16, 2026
3c876f1
MAINT: upgrade lock files
redeboer Feb 16, 2026
948af3a
FIX: implement suggestions by @Zeyna777
redeboer Feb 16, 2026
e63d679
MAINT: update lock files
web-flow Feb 16, 2026
a36fea5
MAINT: avoid `dataclasses` aliases
redeboer Feb 16, 2026
29606d5
BREAK: make `name` keyword-only
redeboer Feb 16, 2026
0bb51df
FIX: update `algorithm` type hint
redeboer Feb 16, 2026
7d40a34
BREAK: move `meson_radius` to 5th argument position
redeboer Feb 16, 2026
5ba982b
BREAK: rename `L` argument to `angular_momentum`
redeboer Feb 16, 2026
bb7321d
ENH: pass algorithm configuration to `PhaseSpaceFactorPWave
redeboer Feb 16, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 10 additions & 0 deletions .cspell.json
Original file line number Diff line number Diff line change
Expand Up @@ -99,6 +99,7 @@
"fromdict",
"gellmann",
"genindex",
"getattr",
"getsource",
"gitpod",
"gridspec",
Expand All @@ -115,7 +116,9 @@
"isfunction",
"isidentifier",
"isinstance",
"isnan",
"jpsi",
"jslink",
"jupyterlab",
"katex",
"kernelspec",
Expand Down Expand Up @@ -173,12 +176,15 @@
"pypi",
"pyproject",
"pytestconfig",
"quadcc",
"quadgk",
"rankdir",
"relim",
"repr",
"richman",
"rightarrow",
"risch",
"rombergts",
"rtfd",
"savefig",
"sdist",
Expand Down Expand Up @@ -260,6 +266,7 @@
"isospin",
"itertools",
"jupyter",
"Kronrod",
"Källén",
"lambdification",
"lambdified",
Expand All @@ -278,8 +285,10 @@
"pyplot",
"pytest",
"qrules",
"quadax",
"rsplit",
"Schwarz",
"SciPy",
"setuptools",
"spflueger",
"struct",
Expand All @@ -292,6 +301,7 @@
"unevaluatable",
"unitarity",
"unphysical",
"vectorizing",
"venv",
"weisskopf",
"yticklabels",
Expand Down
8 changes: 4 additions & 4 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ repos:
- id: check-useless-excludes

- repo: https://github.com/ComPWA/policy
rev: b122464266f519d41284e4a51673fb1232d1fd0b
rev: 0.8.3
hooks:
- id: check-dev-files
args:
Expand Down Expand Up @@ -58,7 +58,7 @@ repos:
metadata.vscode

- repo: https://github.com/astral-sh/ruff-pre-commit
rev: v0.15.0
rev: v0.15.1
hooks:
- id: ruff-check
args: [--fix]
Expand Down Expand Up @@ -112,7 +112,7 @@ repos:
- --in-place

- repo: https://github.com/python-jsonschema/check-jsonschema
rev: 0.36.1
rev: 0.36.2
hooks:
- id: check-jsonschema
name: Check CITATION.cff
Expand Down Expand Up @@ -152,6 +152,6 @@ repos:
types_or: [python, pyi, jupyter]

- repo: https://github.com/astral-sh/uv-pre-commit
rev: 0.10.0
rev: 0.10.2
hooks:
- id: uv-lock
2 changes: 1 addition & 1 deletion docs/bibliography.bib
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,7 @@ @techreport{Chung:2014-SpinFormalismsUpdated
url = {https://cds.cern.ch/record/186421/files/BNL-76975-2006-IR.pdf}
}

@techreport{chungFormulasAngularMomentumBarrier2015,
@techreport{Chung:2015-FormulasAngularMomentumBarrier,
title = {Formulas for {{Angular-Momentum Barrier Factors}} ({{Version II}})},
author = {Chung, Suh-Urk},
year = 2015,
Expand Down
2 changes: 2 additions & 0 deletions docs/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -290,10 +290,12 @@ def _get_scipy_url() -> str:
"compwa-report": ("https://compwa.github.io/report", None),
"graphviz": ("https://graphviz.readthedocs.io/en/stable", None),
"ipywidgets": (f"https://ipywidgets.readthedocs.io/en/{pin('ipywidgets')}", None),
"jax": ("https://docs.jax.dev/en/latest", None),
"matplotlib": (f"https://matplotlib.org/{pin('matplotlib')}", None),
"numpy": (f"https://numpy.org/doc/{pin_minor('numpy')}", None),
"python": ("https://docs.python.org/3", None),
"qrules": (f"https://qrules.readthedocs.io/{pin('qrules')}", None),
"quadax": ("https://quadax.readthedocs.io/en/stable", None),
"scipy": (_get_scipy_url(), None),
"spb": (
f"https://sympy-plot-backends.readthedocs.io/en/v{pin('sympy-plot-backends')}",
Expand Down
2 changes: 1 addition & 1 deletion docs/usage/amplitude.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -1011,7 +1011,7 @@
" continue\n",
" if isinstance(node, (float, sp.Float)):\n",
" expression = expression.subs(node, round(node, n_decimals))\n",
" if isinstance(node, sp.Pow) and node.args[1] == 1 / 2:\n",
" if isinstance(node, sp.Pow) and node.args[1] == 1 / 2: # noqa: RUF069\n",
" expression = expression.subs(node, round(node.n(), n_decimals))\n",
" return expression"
]
Expand Down
1 change: 1 addition & 0 deletions docs/usage/dynamics.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@
"dynamics/analytic-continuation\n",
"dynamics/k-matrix\n",
"dynamics/riemann-sheets\n",
"dynamics/integration-algorithms\n",
"```\n",
"\n",
"```{autolink-skip}\n",
Expand Down
20 changes: 15 additions & 5 deletions docs/usage/dynamics/analytic-continuation.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -530,7 +530,7 @@
"outputs": [],
"source": [
"L = sp.Symbol(\"L\", integer=True, nonnegative=True)\n",
"integral_expr = ChewMandelstamIntegral(s, m1, m2, L)\n",
"integral_expr = ChewMandelstamIntegral(s, m1, m2, L, configuration={\"epsrel\": 1e-3})\n",
"integral_expr.doit(deep=False)"
]
},
Expand All @@ -543,8 +543,7 @@
"integral_s_wave_func = sp.lambdify(\n",
" [s, m1, m2, integral_expr.epsilon],\n",
" integral_expr.subs(L, 0).doit(),\n",
")\n",
"integral_s_wave_func = np.vectorize(integral_s_wave_func)"
")"
]
},
{
Expand All @@ -566,8 +565,16 @@
"integral_p_wave_func = sp.lambdify(\n",
" [s, m1, m2, integral_expr.epsilon],\n",
" integral_expr.subs(L, 1).doit(),\n",
")\n",
"integral_p_wave_func = np.vectorize(integral_p_wave_func)"
")"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
":::{warning}\n",
"In some cases, if the `epsabs` or `epsrel` arguments are set too low, {func}`~scipy.integrate.quad_vec` returns an array that [consists entirely of `nan` values](https://github.com/ComPWA/ampform/issues/488#issuecomment-3868515010).\n",
":::"
]
},
{
Expand All @@ -587,6 +594,9 @@
"s_wave_values = integral_s_wave_func(s_values, m1_val, m2_val, epsilon=1e-5)\n",
"p_wave_values = integral_p_wave_func(s_values, m1_val, m2_val, epsilon=1e-5)\n",
"\n",
"assert not np.all(np.isnan(s_wave_values)), \"All values NaN\"\n",
"assert not np.all(np.isnan(p_wave_values)), \"All values NaN\"\n",
"\n",
"l_val = [0, 1]\n",
"fig, axes = plt.subplots(figsize=(6, 7), nrows=2, sharex=True)\n",
"fig.patch.set_facecolor(\"none\")\n",
Expand Down
Loading