NumeratorGrouping

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

NumeratorGrouping

class NumeratorGrouping

Choose numerator zero detection and cross-diagram grouping.

Examples

from symbolica import S, E
from symbolica.community import hepkit as hep
hep.NumeratorGrouping("identical", number_of_numerical_samples=7)

Parameters

  • mode ({“none”, “zeroes”, “identical”, “up_to_sign”, “up_to_scalar”}) Disable parsing/grouping, detect only zeroes, or compare numerators exactly, up to a sign, or up to a scalar factor.
  • numerical_sample_seed (int, optional) Deterministic seed used to choose numerical substitution values.
  • number_of_numerical_samples (int, optional) Number of independent substitutions used to compare numerators.
  • differentiate_particle_masses_only (bool, optional) Treat internal species with equal mass and spin as interchangeable.
  • fully_numerical_substitution (bool, optional) Substitute scalar parameters as well as nonscalar indeterminates.
  • check_canonical_numerator (bool, optional) Try an exact canonical comparison before numerical sampling.
  • symmetric_polarizations (bool, optional) Reuse wavefunction samples across the two sides of a sewn external state.

Methods

Name Description
__new__ Choose numerator zero detection and cross-diagram grouping.

__new__

NumeratorGrouping.__new__(
    mode: builtins.str,
    *,
    numerical_sample_seed: builtins.int = 3,
    number_of_numerical_samples: builtins.int = 5,
    differentiate_particle_masses_only: builtins.bool = True,
    fully_numerical_substitution: builtins.bool = False,
    check_canonical_numerator: builtins.bool = False,
    symmetric_polarizations: builtins.bool = False,
) -> NumeratorGrouping

Choose numerator zero detection and cross-diagram grouping.

Examples

Using the setup in the NumeratorGrouping class example:

hep.NumeratorGrouping("identical", number_of_numerical_samples=7)

Parameters

  • mode ({“none”, “zeroes”, “identical”, “up_to_sign”, “up_to_scalar”}) Disable parsing/grouping, detect only zeroes, or compare numerators exactly, up to a sign, or up to a scalar factor.
  • numerical_sample_seed (int, optional) Deterministic seed used to choose numerical substitution values.
  • number_of_numerical_samples (int, optional) Number of independent substitutions used to compare numerators.
  • differentiate_particle_masses_only (bool, optional) Treat internal species with equal mass and spin as interchangeable.
  • fully_numerical_substitution (bool, optional) Substitute scalar parameters as well as nonscalar indeterminates.
  • check_canonical_numerator (bool, optional) Try an exact canonical comparison before numerical sampling.
  • symmetric_polarizations (bool, optional) Reuse wavefunction samples across the two sides of a sewn external state.