CutPropagator
CutPropagator
class CutPropagatorAn oriented generalized cut distribution for a possibly raised propagator. orientation selects q0=+E or q0=-E; prescription is the sign of i0. The default normalization is -2 pi i. The positive on_shell_energy includes the mass. Raised cuts act on the entire coefficient, including the uncut factor.
Examples
from symbolica import S, E
from symbolica.community import hepkit as hep
q0, energy = S("q0", "energy")
cut = hep.CutPropagator(q0, energy, power=2)
residue = cut.apply(q0**2, q0)Methods
| Name | Description |
|---|---|
__new__ |
Construct a reciprocal-propagator cut with explicit orientation and i0 sign. |
apply |
Apply the complete derivative action and then set the energy on shell |
to_expression |
Emit a covariant CutDelta or energy-space generalized Delta expression |
__new__
CutPropagator.__new__(
energy: Expression | int | Float | builtins.int | builtins.float | builtins.str | decimal.Decimal | ComplexFloat | Float | builtins.int | builtins.float | builtins.str | decimal.Decimal | builtins.complex | tuple[Float | builtins.int | builtins.float | builtins.str | decimal.Decimal, Float | builtins.int | builtins.float | builtins.str | decimal.Decimal],
on_shell_energy: Expression | int | Float | builtins.int | builtins.float | builtins.str | decimal.Decimal | ComplexFloat | Float | builtins.int | builtins.float | builtins.str | decimal.Decimal | builtins.complex | tuple[Float | builtins.int | builtins.float | builtins.str | decimal.Decimal, Float | builtins.int | builtins.float | builtins.str | decimal.Decimal],
*,
power: builtins.int = 1,
orientation: builtins.int = 1,
prescription: builtins.int = 1,
normalization: typing.Optional[Expression | int | Float | builtins.int | builtins.float | builtins.str | decimal.Decimal | ComplexFloat | Float | builtins.int | builtins.float | builtins.str | decimal.Decimal | builtins.complex | tuple[Float | builtins.int | builtins.float | builtins.str | decimal.Decimal, Float | builtins.int | builtins.float | builtins.str | decimal.Decimal]] = None,
) -> CutPropagatorConstruct a reciprocal-propagator cut with explicit orientation and i0 sign.
Examples
Using the setup in the CutPropagator class example:
cut = hep.CutPropagator(q0, energy, power=3, orientation=-1)
residue = cut.apply(q0**3, q0)Parameters
energy(Expression) Time component of the propagator momentum.on_shell_energy(Expression) Positive square root of spatial momentum squared plus mass squared.power(int) Positive propagator power.orientation(int) Select the positive (+1) or negative (-1) energy root.prescription(int) Sign of the imaginary infinitesimal, +1 or -1.normalization(Expression, optional) Replacement prefactor, default -2 pi i.
apply
CutPropagator.apply(
coefficient: Expression | int | Float | builtins.int | builtins.float | builtins.str | decimal.Decimal | ComplexFloat | Float | builtins.int | builtins.float | builtins.str | decimal.Decimal | builtins.complex | tuple[Float | builtins.int | builtins.float | builtins.str | decimal.Decimal, Float | builtins.int | builtins.float | builtins.str | decimal.Decimal],
variable: Expression | int | Float | builtins.int | builtins.float | builtins.str | decimal.Decimal | ComplexFloat | Float | builtins.int | builtins.float | builtins.str | decimal.Decimal | builtins.complex | tuple[Float | builtins.int | builtins.float | builtins.str | decimal.Decimal, Float | builtins.int | builtins.float | builtins.str | decimal.Decimal],
) -> ExpressionApply the complete derivative action and then set the energy on shell. Route the integrand to this independent energy variable before applying.
Examples
Using the setup in the CutPropagator class example:
cut.apply(q0**2, q0)Parameters
coefficient(Expression) All remaining factors of the integrand.variable(Expression) Independent energy symbol, equal to this cut’s energy.
to_expression
CutPropagator.to_expression(*, covariant: builtins.bool = True) -> ExpressionEmit a covariant CutDelta or energy-space generalized Delta expression. Delta(n,x) acts as f^(n-1)(0)/(n-1)!; it is not the usual delta derivative.
Examples
Using the setup in the CutPropagator class example:
cut.to_expression(covariant=False)Parameters
covariant(bool) Emit a mass-shell CutDelta; otherwise show the energy-space Delta.