CutPartition

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

CutPartition

class CutPartition

A separating topology partition, independent of physical final-state cuts.

Both boundary selections retain half-edges on their respective sides.

Examples

from symbolica import S, E
from symbolica.community import hepkit as hep
model = hep.Model.phi4()
diagram = model.process(["phi", "phi"], ["phi", "phi"]).generate_diagrams(loops=1, progress=None).diagrams[0]
partitions = diagram.all_cuts([0], [1])
boundary_edges = partitions[0].boundary_left.edges

Attributes

Name Description
boundary_left Crossing half-edges incident to the source side.
boundary_right Crossing half-edges incident to the target side.
source_side Region containing the requested source vertices.
target_side Region containing the requested target vertices.

boundary_left

CutPartition.boundary_left: Subgraph

Crossing half-edges incident to the source side.

Examples

source_ports = diagram.all_cuts([0], [1])[0].boundary_left.half_edges

boundary_right

CutPartition.boundary_right: Subgraph

Crossing half-edges incident to the target side.

Examples

target_ports = diagram.all_cuts([0], [1])[0].boundary_right.half_edges

source_side

CutPartition.source_side: Subgraph

Region containing the requested source vertices.

Examples

source = diagram.all_cuts([0], [1])[0].source_side

target_side

CutPartition.target_side: Subgraph

Region containing the requested target vertices.

Examples

target = diagram.all_cuts([0], [1])[0].target_side