Two major new changes:
- Added a **module for symbolic K-matrix and P-vector expressions**
- **Dynamics functions are now classes**, so that they can be more easily identified in the expression tree
See all documentation for this version [here](https://ampform.rtfd.io/en/0.11.0).
💡 New features
<details>
<summary>Added a module for symbolic, non-relativistic K-matrix computations for an arbitrary number of channels (117, 120, 121, 122, 127, 128, and 129)</summary>
Implemented [TR-005](https://compwa-org.rtfd.io/en/stable/report/005.html) and [TR-009](https://compwa-org.readthedocs.io/en/latest/report/009.html). Notable difference: this implementation provides **caching of the matrix multiplication** so that one can more easily switch between a different number of channels.
</details>
<details>
<summary>Implemented (non-)relativistic P-vector (123, 127, 131, and 132)</summary>
Implementation of [TR-010](https://compwa-org.readthedocs.io/en/stable/report/010.html).
Closes 118
</details>
<details>
<summary>Added symbol_to_arg and arg_to_symbol attribute to symplot.SliderKwargs (124)</summary>
Added a `symbol_to_arg` and `arg_to_symbol` property to `symplot.SliderKwargs`, as it is often needed in the visualization applets.
</details>
<details>
<summary>Maximum angular momentum in BlattWeisskopfSquared can now be limited (134)</summary>
Specifically for speeding up the widgets, see e.g. ad65784
</details>
⚠️ Interface
<details>
<summary>Dynamics functions are now wrapped in Expr classes (115, 119, and 138)</summary>
Inspired by https://github.com/ComPWA/compwa-org/pull/37 and https://github.com/ComPWA/compwa-org/pull/43, which required to re-define coupled width and other dynamics in terms of a class to make them render nicely, all expression nodes of dynamics functions are formulated in terms of `sympy.Expr` classes. This has been made possible with #114.
Note some major interface changes:
- `coupled_width` -> `CoupledWidth`
- `breakup_momentum_squared` -> `BreakupMomentumSquared`
- `phase_space_factor` -> `PhaseSpaceFactor`
(for this, the `PhaseSpaceFactor` had to be renamed to `PhaseSpaceFactorProtocol`)
- etc...
The `breakup_momentum` function has been removed.
Also added a (hidden) instance attribute `UnevaluatedExpr._name`, so that it can be used in the LaTeX rendering. In addition, the LaTeX rendering of of classes like `PhaseSpaceFactor` is affected by the name of their arguments (if they have any). This comes in handy in the relativistic K-matrix, when we want to distinguish between different `CoupledWidth`s and `PhaseSpaceFactor`s in the LaTeX rendering.
</details>
<details>
<summary>Renamed decorator sub-module to "sympy" (116)</summary>
The `ampform.dynamics.decorator` sub-module does more than just providing decorators. It generally contains functions that help building `sympy.Expr` classes (and instances), so it is better moved and renamed to a more general place: `ampform.sympy`.
</details>
📝 Documentation
<details>
<summary>Added comparison visualization of P-vector vs K-matrix (125)</summary>
![record](https://user-images.githubusercontent.com/29308176/128599042-d1039fe0-7d11-4121-8606-ee36f4708f54.gif)
</details>
<details>
<summary>Imported and improved K-matrix theory section from compwa-org (126 and 130)</summary>
Imported and bundled the theory sections from [TR-005](https://compwa-org.readthedocs.io/en/stable/report/005.html), [TR-009](https://compwa-org.readthedocs.io/en/stable/report/009.html), and [TR-010](https://compwa-org.readthedocs.io/en/stable/report/010.html). Many more notes were added and some problems have been pointed out as well. Sphinx preview [here](https://ampform--126.org.readthedocs.build/en/126/usage/dynamics/k-matrix.html).
</details>
<details>
<summary>Switched to compwa-org for the develop page (137)</summary>
</details>