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]¶
-
classmethod
-
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]¶
-
classmethod
-
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]¶
-
classmethod
-
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]¶
-
classmethod