kmatrix
kmatrix¶
import ampform.dynamics.kmatrix
Experimental, symbol \(\boldsymbol{K}\)-matrix implementations.
See K-matrix.
This module is an implementation of [TR-005] K-matrix, [TR-009] Lorentz-invariant K-matrix, and [TR-010] P-vector. It works with classes to keep the code organized and to enable caching of the matrix multiplications, but this might change once these dynamics are implemented into the amplitude builder.
- class TMatrix[source]¶
Bases:
ABC
- abstract classmethod formulate(n_channels, n_poles, parametrize: bool = True, **kwargs) MutableDenseMatrix [source]¶
Formulate \(K\)-matrix with its own parametrization.
- class RelativisticKMatrix[source]¶
Bases:
TMatrix
- classmethod formulate(n_channels, n_poles, parametrize: bool = True, **kwargs) MutableDenseMatrix [source]¶
Implementation of (8).
- Parameters
n_channels – Number of coupled channels.
n_poles – Number of poles.
parametrize – Set to
False
if don’t want to parametrize and only get symbols for the matrix multiplication of \(\boldsymbol{K}\) and \(\boldsymbol{\rho}\).return_t_hat – Set to
True
if you want to get the Lorentz-invariant \(\boldsymbol{\hat{T}}\)-matrix instead of the \(\boldsymbol{T}\)-matrix from Eq. (7).
- static parametrization(i, j, s, pole_position: IndexedBase, pole_width: IndexedBase, m_a: IndexedBase, m_b: IndexedBase, residue_constant: IndexedBase, n_poles, pole_id, angular_momentum=0, meson_radius=1, phsp_factor: PhaseSpaceFactorProtocol | None = None) Expr [source]¶
- class NonRelativisticKMatrix[source]¶
Bases:
TMatrix
- classmethod formulate(n_channels, n_poles, parametrize: bool = True, **kwargs) MutableDenseMatrix [source]¶
Formulate \(K\)-matrix with its own parametrization.
- static parametrization(i, j, s, pole_position: IndexedBase, pole_width: IndexedBase, residue_constant: IndexedBase, n_poles, pole_id) Expr [source]¶
- class NonRelativisticPVector[source]¶
Bases:
TMatrix
- classmethod formulate(n_channels, n_poles, parametrize: bool = True, **kwargs) MutableDenseMatrix [source]¶
Formulate \(K\)-matrix with its own parametrization.
- static parametrization(i, s, pole_position: IndexedBase, pole_width: IndexedBase, residue_constant: IndexedBase, beta_constant: IndexedBase, n_poles, pole_id) Expr [source]¶
- class RelativisticPVector[source]¶
Bases:
TMatrix
- classmethod formulate(n_channels, n_poles, parametrize: bool = True, **kwargs) MutableDenseMatrix [source]¶
Implementation of (9).
- Parameters
n_channels – Number of coupled channels.
n_poles – Number of poles.
parametrize – Set to
False
if don’t want to parametrize and only get symbols for the matrix multiplication of \(\boldsymbol{K}\) and \(\boldsymbol{\rho}\).return_f_hat – Set to
True
if you want to get the Lorentz-invariant \(\hat{F}\)-vector instead of the \(T\)-vector from Eq. (13).
- static parametrization(i, s, pole_position: IndexedBase, pole_width: IndexedBase, m_a: IndexedBase, m_b: IndexedBase, beta_constant: IndexedBase, residue_constant: IndexedBase, n_poles, pole_id, angular_momentum=0, meson_radius=1) Expr [source]¶