Overview
Exact integration
Exact definite integration using hyperlogarithms.
integrate uses hyperlogarithms over [0, +infinity), in variable order; integrate_over accepts explicit directed intervals. Symbolica’s Expression.integrate(x) continues to compute an antiderivative.
Browser execution is serial, including when parallel=True. HEPkit’s existing native IBP tools are available separately through hepkit.ibp.
Classes
AlgebraError |
Failure of an exact algebra operation. |
AlgebraicLetter |
Immutable metadata for one formal quadratic-root pair allocated by an integration. |
ContextError |
|
DivergentIntegralError |
|
DuplicateVariableError |
|
InputError |
Invalid expression, integration-variable schedule, or options. |
IntegrationError |
Base class for errors raised by Hyperbolica. |
IntegrationOptions |
Options controlling exact hyperlogarithm integration |
IntegrationResult |
An inspectable exact integration result |
PreparedIntegral |
A lowered Atom input that can be integrated repeatedly without repeating Symbolica-to-ring and Hlog conversion |
UnsupportedFeatureError |
The requested integration feature is unavailable for this input. |
Functions
integrate |
Integrate a Symbolica expression over [0, infinity) in variable order. |
integrate_detailed |
Integrate and return an inspectable exact result. |
integrate_detailed_over |
Integrate over arbitrary directed intervals and retain exact metadata |
integrate_over |
Integrate over arbitrary directed intervals in variable order. |
mzv_symbol |
Return the registered multiple-zeta-value function symbol |
prepare |
Lower a Symbolica expression once for repeated integrations or option sweeps |
integrate
integrate(
expression: Expression,
variables: typing.Sequence[Expression],
options: typing.Optional[IntegrationOptions] = None,
) -> ExpressionIntegrate a Symbolica expression over [0, infinity) in variable order.
Parameters
expressionA nativesymbolica.Expressionfrom the shipped Symbolica kernel. It is never converted to text.variablesPlain Symbolica symbols in integration order.optionsOptionalIntegrationOptions.
Returns
symbolica.ExpressionThe normalized exact result.
integrate_detailed
integrate_detailed(
expression: Expression,
variables: typing.Sequence[Expression],
options: typing.Optional[IntegrationOptions] = None,
) -> IntegrationResultIntegrate and return an inspectable exact result.
Parameters
expressionA nativesymbolica.Expressionfrom the shipped Symbolica kernel.variablesPlain shipped Symbolica symbols in integration order.optionsOptionalIntegrationOptions.
Returns
IntegrationResultThe returnedIntegrationResultretains variables, indeterminates, algebraic-letter metadata, and the collected term count in addition to its expression.
integrate_detailed_over
integrate_detailed_over(
expression: Expression,
variables: typing.Sequence[Expression],
intervals: typing.Sequence[tuple[Expression, Expression]],
options: typing.Optional[IntegrationOptions] = None,
) -> IntegrationResultIntegrate over arbitrary directed intervals and retain exact metadata.
intervals contains one (from, to) pair per integration variable and accepts native real directed infinities through Symbol.INFINITY.
integrate_over
integrate_over(
expression: Expression,
variables: typing.Sequence[Expression],
intervals: typing.Sequence[tuple[Expression, Expression]],
options: typing.Optional[IntegrationOptions] = None,
) -> ExpressionIntegrate over arbitrary directed intervals in variable order.
Parameters
expressionA nativesymbolica.Expressionfrom the shipped Symbolica kernel.variablesPlain Symbolica symbols in integration order.intervalsOne(from, to)pair of native expressions per variable. Usesymbolica.Symbol.INFINITY(or its negation) for directed infinity.optionsOptionalIntegrationOptions.
Returns
symbolica.ExpressionThe normalized exact result.
mzv_symbol
mzv_symbol() -> ExpressionReturn the registered multiple-zeta-value function symbol.
Call the returned Symbolica expression with indices, e.g. mzv_symbol()(3). This is the same head used in exact integration results. It is a formal symbol; for a depth-one numerical reference use Symbolica’s built-in E("3").zeta().evaluate({}, decimal_digit_precision=40).
prepare
prepare(
expression: Expression,
variables: typing.Sequence[Expression],
options: typing.Optional[IntegrationOptions] = None,
) -> PreparedIntegralLower a Symbolica expression once for repeated integrations or option sweeps.
The returned immutable PreparedIntegral owns the lowered input and an independent copy of options. Mathematical input remains a native Symbolica expression throughout preparation.
Parameters
expressionA nativesymbolica.Expressionfrom the shipped Symbolica kernel.variablesPlain shipped Symbolica symbols in integration order.optionsOptions captured as the prepared object’s default integration options.
Returns
PreparedIntegralReusable immutable lowered input.