kmatrix

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]