kmatrix
kmatrix#
import ampform.dynamics.kmatrix
Experimental, symbol \(\boldsymbol{K}\)-matrix implementations.
See also
This module is an implementation of K-matrix, Lorentz-invariant K-matrix, and 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 theLorentz-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]#