quantum_numbers#
import qrules.quantum_numbers
Definitions used internally for type hints and signatures.
qrules
is strictly typed (enforced through mypy). This module
bundles structures and definitions that don’t serve as data containers but only as type
hints. EdgeQuantumNumbers
and NodeQuantumNumbers
are the main structures and serve
as a bridge between the particle
and the conservation_rules
module.
- class EdgeQuantumNumbers[source]#
Bases:
object
Definition of quantum numbers for edges.
This class defines the types that are used in the
conservation_rules
, for instance inadditive_quantum_number_rule
. You can also create data classes (seeattrs.define()
) with data members that are typed as the data members ofEdgeQuantumNumbers
(see for exampleHelicityParityEdgeInput
) and use them in conservation rules that satisfy the appropriate rule protocol (seeConservationRule
,EdgeQNConservationRule
).
- class NodeQuantumNumbers[source]#
Bases:
object
Definition of quantum numbers for interaction nodes.
- class InteractionProperties(l_magnitude: int | None = None, l_projection: int | None = None, s_magnitude: float | None = None, s_projection: float | None = None, parity_prefactor: float | None = None)[source]#
Bases:
object
Immutable data structure containing interaction properties.
Interactions are represented by a node on a
MutableTransition
. This class represents the properties that are carried collectively by the edges that this node connects.Interaction properties are in particular important in the canonical basis of the helicity formalism. There, the coupled spin and angular momentum of each interaction are used for the Clebsch-Gordan coefficients for each term in a sequential amplitude.
Note
As opposed to
NodeQuantumNumbers
, theInteractionProperties
class serves as an interface to the user.