Ampform

Latest version: v0.15.0

Safety actively analyzes 619599 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 1 of 8

3.14

Note that, as opposed to the previously used `OrderedDict`, this class prevents users from adding more parameters to the `parameter_defaults`.

</details>

<details>
<summary>Added switch for energy-dependent width (236)</summary>

It's now possible to independently activate energy-dependent width and a form factor in the [`RelativisticBreitWignerBuilder`](https://ampform--236.org.readthedocs.build/en/236/api/ampform.dynamics.builder.html#ampform.dynamics.builder.RelativisticBreitWignerBuilder). Usage example [here](https://ampform--236.org.readthedocs.build/en/236/usage/amplitude.html#set-dynamics). See also 235.

</details>

<details>
<summary>Extracted DynamicsSelector class (240)</summary>

`HelicityAmplitudeBuilder.__dynamics_choices` has been extracted to a new `DynamicsSelector` class. This reduces the responsibilities of the `HelicityAmplitudeBuilder` and makes it easier to implement new implementations for selection of dynamics.

Something similar has been done for 'collector' attributes like `HelicityAmplitudeBuilder.__parameter_defaults` and `__components`. This will be useful when implementing [TR-014](https://compwa-org.readthedocs.io/report/014.html), which will require keeping track of amplitude definitions.

Note: once QRules v0.10 is out, https://github.com/ComPWA/qrules/pull/156 and https://github.com/ComPWA/qrules/pull/157 make it possible to define the dynamics choices as a mapping over topologies and visualize them as graphviz.

</details>

<details>
<summary>Implemented HelicityModel.rename_symbols() (244)</summary>

See use case example [here]() (couple parameters). The method is makes it easier to address [this error](https://github.com/ComPWA/ampform/runs/5320069236?check_suite_focus=true) in #243.

</details>

🐛 Bug fixes

<details>
<summary>Moved angular momentum check to form factor (230)</summary>

Removed the check for integral angular momentum. Instead, AmpForm now checks for angular momentum when formulating a form factor. This allows formulating Breit-Wigner dynamics _without_ form factor on an amplitude model formulated with `formalism="helicity"` if it has with half-spin resonances.

</details>

🔨 Internal maintenance

<details>
<summary>Simplified numpy code of matrix expressions (232)</summary>

Closes 231

Extracted [`NumPyPrintable`](https://ampform--232.org.readthedocs.build/en/232/api/ampform.sympy.html#ampform.sympy.NumPyPrintable) implementation classes from [`BoostZMatrix`](https://ampform--232.org.readthedocs.build/en/232/api/ampform.kinematics.html#ampform.kinematics.BoostZMatrix), [`RotationYMatrix`](https://ampform--232.org.readthedocs.build/en/232/api/ampform.kinematics.html#ampform.kinematics.RotationYMatrix) and [`RotationZMatrix`](https://ampform--232.org.readthedocs.build/en/232/api/ampform.kinematics.html#ampform.kinematics.RotationZMatrix), so that the code generated with [`sympy.lambdify()`](https://docs.sympy.org/latest/modules/utilities/lambdify.html#sympy.utilities.lambdify.lambdify) decreases and has a smaller memory footprint (if using `cse=True`). This can best be seen by comparing the [new docstring for `BoostZMatrix`](https://ampform--232.org.readthedocs.build/en/232/api/ampform.kinematics.html#ampform.kinematics.BoostZMatrix) with [the old one](https://ampform--230.org.readthedocs.build/en/230/api/ampform.kinematics.html#ampform.kinematics.BoostZMatrix).

</details>

<details>
<summary>Switched to new import attrs API (237)</summary>

See [`import attrs`](https://hynek.me/articles/import-attrs/#the-last-step-import-attrs) and [`attrs` TNG](https://www.attrs.org/en/21.4.0/names.html#attrs-tng).

</details>

<details>
<summary>Simplified HelicityAdapter class (241)</summary>

Implementation of the [`HelicityAdapter`](https://ampform.readthedocs.io/en/0.12.3/api/ampform.kinematics.html#ampform.kinematics.HelicityAdapter) class was a bit too complicated. This PR makes the class into a simple manager of Topology instances that can create expressions from these topologies. Interface hasn't changed though.

</details>

<details>
<summary>implement_doit_method() can only decorate UnevaluatedExpression classes (224)</summary>

</details>

📝 Documentation

<details>
<summary>Second level in left sidebar is shown by default (221)</summary>

Links to NumPy API are now also embedded correctly in the code examples. Follow-up to 217.

</details>

<details>
<summary>Added Hypothesis and utterances overlay (225)</summary>

Closes https://github.com/ComPWA/compwa-org/issues/109

</details>

<details>
<summary>Added IPython.display import to notebooks (226)</summary>

See "New features" under https://github.com/ComPWA/repo-maintenance/pull/49

</details>

<details>
<summary>Added explanation how to pin dependencies with Conda (233)</summary>

Preview [here](https://ampform--233.org.readthedocs.build/en/233/install.html). See also https://github.com/ComPWA/tensorwaves/pull/411.

</details>

<details>
<summary>Improved signatures in helicity module (242)</summary>

Note: it's not yet possible to abbreviate type aliases in nested type hints. Sphinx will fix this (https://github.com/sphinx-doc/sphinx/pull/10183) in [v4.5.0](https://www.sphinx-doc.org/en/master/changes.html#release-4-5-0-in-development). This will also make it possible to improve the order of definitions in the `helicity` module (makes more sense to define `HelicityModel` first). See also https://github.com/ComPWA/compwa-org/issues/116.

</details>

🖱️ Developer Experience

<details>
<summary>Doctests are now also included in test coverage (222)</summary>

Will increase test coverage.

</details>

<details>
<summary>Upgrade cron job is now run even weeks only (223)</summary>

See https://github.com/ComPWA/repo-maintenance/pull/48

</details>

<details>
<summary>GitHub Actions are now also run on version branches (239)</summary>

This makes it safer to commit or PR patches to older versions.

</details>

0.15.0

_See all documentation for this version [here](https://ampform.rtfd.io/en/0.14.12)._

⚠️ API changes

- Implement `SpinAlignment` interface (306)
- Deprecate `set_dynamics()` method (305 and 400)
- Remove `HelicityModel.sum_components()` (304)
- Extract `BuilderConfiguration` class (303)
- Rename isobar Wigner-D and CG functions (302)
- Split `helicity` and `kinematics` module (301)

⚠️ Changes that may affect behavior

- Remove factor 16 pi from phsp factor (403)

✨ New features

Implemented Dalitz-Plot Decomposition (307)

> [!WARNING]
> Experimental: see https://github.com/ComPWA/ampform/issues/309

📝 Documentation

- Show unaligned amplitudes in spin alignment page (321)

_The full changelog as commits can be found [here](https://github.com/ComPWA/ampform/compare/0.14.11...0.14.12)._

0.14.11

_See all documentation for this version [here](https://ampform.rtfd.io/en/0.14.11)._

⚠️ Enhancements and optimizations

- Adapt implementation to QRules v0.10 (362 and 347)

🔨 Maintenance

- Import v0.15 refactorings into v0.14 (399)

🖱️ Developer Experience

- Switch to Ruff formatter (398)

_The full changelog as commits can be found [here](https://github.com/ComPWA/ampform/compare/0.14.10...0.14.11)._

0.14.10

_See all documentation for this version [here](https://ampform.rtfd.io/en/0.14.10)._

✨ New features

- Added `UnevaluatableIntegral` class for numerical integration (394)

⚠️ Enhancements and optimizations

- A warning is now raised if an `unevaluated` class defines `_latex_repr` instead of `_latex_repr_` (396)

🐛 Bug fixes

- Fixed latex rendering of certain `unvevaluated` expression classes (389)

📝 Documentation

- Updated links to the new [compwa.github.io](https://compwa.github.io) website (#387)
- Remove `.html` from page URLs on [ampform.rtfd.io](https://ampform.rtfd.io) (#388)
- Usage of the `argument()` function is now better documented (396)

🔨 Maintenance

- Methods that are supposed to override methods of the base class are now marked with `override` (397)
- Applied new Ruff preview linting and new `black` formatting (395)

_The full changelog as commits can be found [here](https://github.com/ComPWA/ampform/compare/0.14.8...0.14.10)._

0.14.8

_See all documentation for this version [here](https://ampform.rtfd.io/en/0.14.8)._

⚠️ API changes

- Renamed `unevaluated_expression()` decorator to `unevaluated()` (379)
- Arguments `z` and `angular_momentum` have swapped in `BlattWeisskopfSquared` -- `z` comes first (375)
- `n_events` argument is required in `BoostZMatrix`, `RotationYMatrix`, and `RotationZMatrix` classes (381)
- `UnevaluatedExpression` template and related functions are now deprecated (383)

⚠️ Enhancements and optimizations

- Add support for class attributes in `unevaluated` expression classes (375)
- Add support for default arguments in `unevaluated` expression classes (376)
- Add support to mark specific arguments to `unevaluated` classes as non-sympiable (380)

🐛 Bug fixes

- Sympify `unevaluated` instance attributes (374)

🔨 Maintenance

- Organize `unevaluated` test functions (377)
- Implement all expression classes of the AmpForm library with `unevaluated` (382)

🖱️ Developer Experience

- Show reasons for skipping tests when running `pytest` (378)

_The full changelog as commits can be found [here](https://github.com/ComPWA/ampform/compare/0.14.7...0.14.8)._

0.14.7

_See all documentation for this version [here](https://ampform.rtfd.io/en/0.14.7)._

✨ New features

- Implement `unevaluated_expression()` decorator (365)

📝 Documentation

- Add `CITATION.cff` (356)
- Add Lorentz boost example (352)
- Illustrate how to use `BoostMatrix` (353)
- Link to source code on GitHub with `linkcode` (371)

🔨 Maintenance

- Switch to Ruff as linter (354)
- Test AmpForm on Python 3.12 (366)

🖱️ Developer Experience

- Clean up Sphinx configuration (370)
- Define `docnblive` job in `tox.ini` (373)
- Enable language navigation and linting on Jupyter Lab (357 and 369)
- Link to source code on GitHub with `linkcode` (371)
- Remove `figure_formats = ["svg"]` statement (368)

_The full changelog as commits can be found [here](https://github.com/ComPWA/ampform/compare/0.14.6...0.14.7)._

Page 1 of 8

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.