SurfaceFactor

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

SurfaceFactor

class SurfaceFactor

A signed denominator factor referring to a stored energy surface.

For stored surface :math:s, occurrence sign :math:\epsilon\in\{-1,+1\} and positive multiplicity :math:p, to_expression() returns :math:(\epsilon s)^p. This is the denominator, before inversion. sign relates the occurrence to the stored surface; it is not an LTD cut-edge pole sign.

Examples

from symbolica.community import hepkit as hep
process = hep.Model.phi3().process(["phi"], ["phi", "phi"])
diagrams = process.generate_diagrams(
    loops=1, max_vertices=3, maximum_bridges=0, progress=None
)
diagram = diagrams.diagrams[0]
rep = diagram.integrate_energy(method="cff")
factor = rep.orientations[0].families[0].factors[0]
denominator = factor.to_expression()

Attributes

Name Description
power Positive multiplicity in this denominator product.
sign Overall sign relative to the stored surface, +1 or -1.
surface Stored surface referenced by this factor.

power

SurfaceFactor.power: builtins.int

Positive multiplicity in this denominator product.

Examples

value = factor.power

sign

SurfaceFactor.sign: builtins.int

Overall sign relative to the stored surface, +1 or -1.

Examples

value = factor.sign

surface

SurfaceFactor.surface: EnergySurface

Stored surface referenced by this factor.

Examples

value = factor.surface

Methods

Name Description
__repr__ Show the signed denominator and its multiplicity.
_repr_html_ Render this denominator before inversion, preserving its sign and power.
to_expression Return the signed denominator factor, including its power.

__repr__

SurfaceFactor.__repr__() -> builtins.str

Show the signed denominator and its multiplicity.

Examples

text = repr(factor)

_repr_html_

SurfaceFactor._repr_html_() -> builtins.str

Render this denominator before inversion, preserving its sign and power.

Examples

html = factor._repr_html_()

to_expression

SurfaceFactor.to_expression(*, expand_surfaces: builtins.bool = True) -> TensorExpression

Return the signed denominator factor, including its power.

Examples

Using the setup in the class example:

expression = factor.to_expression()

Parameters

  • expand_surfaces (bool, optional) Replace stored surface placeholders by affine energy definitions. Defaults to True. On-shell energies remain symbolic in either case.

Returns

  • TensorExpression The denominator :math:(\epsilon s)^p, before inversion.