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 NonRelativisticKMatrix[source]¶
Bases:
ampform.dynamics.kmatrix.TMatrix
- classmethod formulate(n_channels: int, n_poles: int, parametrize: bool = True, **kwargs: Any) MutableDenseMatrix [source]¶
Formulate \(K\)-matrix with its own parametrization.
- static parametrization(i: int, j: int, s: Symbol, pole_position: IndexedBase, pole_width: IndexedBase, residue_constant: IndexedBase, n_poles: Union[int, Symbol], pole_id: Union[int, Symbol]) Expr [source]¶
- class NonRelativisticPVector[source]¶
Bases:
ampform.dynamics.kmatrix.TMatrix
- classmethod formulate(n_channels: int, n_poles: int, parametrize: bool = True, **kwargs: Any) MutableDenseMatrix [source]¶
Formulate \(K\)-matrix with its own parametrization.
- static parametrization(i: int, s: Symbol, pole_position: IndexedBase, pole_width: IndexedBase, residue_constant: IndexedBase, beta_constant: IndexedBase, n_poles: Union[int, Symbol], pole_id: Union[int, Symbol]) Expr [source]¶
- class RelativisticKMatrix[source]¶
Bases:
ampform.dynamics.kmatrix.TMatrix
- classmethod formulate(n_channels: int, n_poles: int, parametrize: bool = True, **kwargs: Any) 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: int, j: int, s: Symbol, pole_position: IndexedBase, pole_width: IndexedBase, m_a: IndexedBase, m_b: IndexedBase, residue_constant: IndexedBase, n_poles: Union[int, Symbol], pole_id: Union[int, Symbol], angular_momentum: Union[int, Symbol] = 0, meson_radius: Union[int, Symbol] = 1, phsp_factor: Optional[PhaseSpaceFactorProtocol] = None) Expr [source]¶
- class RelativisticPVector[source]¶
Bases:
ampform.dynamics.kmatrix.TMatrix
- classmethod formulate(n_channels: int, n_poles: int, parametrize: bool = True, **kwargs: Any) 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: int, s: Symbol, pole_position: IndexedBase, pole_width: IndexedBase, m_a: IndexedBase, m_b: IndexedBase, beta_constant: IndexedBase, residue_constant: IndexedBase, n_poles: Union[int, Symbol], pole_id: Union[int, Symbol], angular_momentum: Union[int, Symbol] = 0, meson_radius: Union[int, Symbol] = 1) Expr [source]¶