CutPropagator

Symbolica documentation for getting started, symbolic expressions, numerical evaluation, pattern matching, and APIs in Python and Rust.

CutPropagator

class CutPropagator

An 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,
) -> CutPropagator

Construct 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],
) -> Expression

Apply 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) -> Expression

Emit 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.