Skip to content

AmpForm 0.11.0

Compare
Choose a tag to compare
@github-actions github-actions released this 30 Aug 09:28
· 238 commits to main since this release
29651c6

Release 0.11.0

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.

💡 New features

Added a module for symbolic, non-relativistic K-matrix computations for an arbitrary number of channels (#117, #120, #121, #122, #127, #128, and #129)

Implemented TR-005 and TR-009. Notable difference: this implementation provides caching of the matrix multiplication so that one can more easily switch between a different number of channels.

Implemented (non-)relativistic P-vector (#123, #127, #131, and #132)

Implementation of TR-010.

Closes #118

Added symbol_to_arg and arg_to_symbol attribute to symplot.SliderKwargs (#124)

Added a symbol_to_arg and arg_to_symbol property to symplot.SliderKwargs, as it is often needed in the visualization applets.

Maximum angular momentum in BlattWeisskopfSquared can now be limited (#134)

Specifically for speeding up the widgets, see e.g. ad65784

⚠️ Interface

Dynamics functions are now wrapped in Expr classes (#115, #119, and #138)

Inspired by ComPWA/compwa.github.io#37 and ComPWA/compwa.github.io#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 CoupledWidths and PhaseSpaceFactors in the LaTeX rendering.

Renamed decorator sub-module to "sympy" (#116)

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.

📝 Documentation

Added comparison visualization of P-vector vs K-matrix (#125)

record

Imported and improved K-matrix theory section from compwa-org (#126 and #130)

Imported and bundled the theory sections from TR-005, TR-009, and TR-010. Many more notes were added and some problems have been pointed out as well. Sphinx preview here.

Switched to compwa-org for the develop page (#137)