IntegrationOptions

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

IntegrationOptions

class IntegrationOptions

Options controlling exact hyperlogarithm integration.

Reduction rules are (left_hand_side, right_hand_side) string pairs in HyperFLINT’s generated MZV-table notation. They are data-table entries, not mathematical input expressions passed through the Python boundary.

Instances are mutable, compare by value, and support copy.copy and copy.deepcopy. Preparing an input stores an independent copy of the options, so later mutations do not affect that prepared object.

Omitting both MZV arguments selects the standard table embedded in the extension. Passing either argument explicitly selects a complete override; in particular, mzv_reductions=[] disables standard reductions.

Attributes

Name Description
check_divergences Whether to detect non-cancelling endpoint divergences.
close_final_positive_letters Whether to close positive-real-axis letters after the last variable.
introduce_algebraic_letters Whether the linear-factor layer may introduce algebraic letters.
mzv_basis Symbolica constant names reserved as the active MZV basis.
mzv_reductions Exact MZV reduction rules as (left_hand_side, right_hand_side) pairs.
parallel Whether to parallelize independent shuffle entries deterministically.

check_divergences

IntegrationOptions.check_divergences: builtins.bool

Whether to detect non-cancelling endpoint divergences.

close_final_positive_letters

IntegrationOptions.close_final_positive_letters: builtins.bool

Whether to close positive-real-axis letters after the last variable.

introduce_algebraic_letters

IntegrationOptions.introduce_algebraic_letters: builtins.bool

Whether the linear-factor layer may introduce algebraic letters.

mzv_basis

IntegrationOptions.mzv_basis: builtins.list[builtins.str]

Symbolica constant names reserved as the active MZV basis.

mzv_reductions

IntegrationOptions.mzv_reductions: builtins.list[tuple[builtins.str, builtins.str]]

Exact MZV reduction rules as (left_hand_side, right_hand_side) pairs.

parallel

IntegrationOptions.parallel: builtins.bool

Whether to parallelize independent shuffle entries deterministically.

Methods

Name Description
__copy__ Return an independent options object.
__deepcopy__ Return an independent options object; all fields already own data.
__eq__
__new__
__repr__

__copy__

IntegrationOptions.__copy__() -> IntegrationOptions

Return an independent options object.

__deepcopy__

IntegrationOptions.__deepcopy__(_memo: typing.Any) -> IntegrationOptions

Return an independent options object; all fields already own data.

__eq__

IntegrationOptions.__eq__(other: builtins.object) -> builtins.bool

__new__

IntegrationOptions.__new__(
    *,
    check_divergences: builtins.bool = False,
    parallel: builtins.bool = True,
    introduce_algebraic_letters: builtins.bool = False,
    close_final_positive_letters: builtins.bool = True,
    mzv_reductions: typing.Optional[typing.Sequence[tuple[builtins.str, builtins.str]]] = None,
    mzv_basis: typing.Optional[typing.Sequence[builtins.str]] = None,
) -> IntegrationOptions

__repr__

IntegrationOptions.__repr__() -> builtins.str