Module strategy

Module strategy 

Source
Expand description

Integration strategy dispatcher

Orchestrates all integration techniques in optimal order (fast to slow).

§Strategy Layers

  1. Table lookup - O(1) exact pattern matching for common integrals
  2. Rational functions - Partial fraction decomposition for P(x)/Q(x)
  3. Function registry - Known antiderivatives (sin, cos, exp, ln, etc.)
  4. Integration by parts - Product rule in reverse using LIATE heuristic
  5. Substitution - Chain rule in reverse (u-substitution)
  6. Trigonometric - Trig identities and power reduction formulas
  7. Risch algorithm - Decision procedure for elementary functions
  8. Basic rules - Power rule, constants, sums, constant multiples
  9. Symbolic fallback - Return unevaluated integral expression

§Strategy Tracking

To prevent infinite recursion, we track which strategies are currently active in the call stack. A strategy cannot recursively call itself.

§Recursion Depth Limit

Maximum integration depth is 10 to prevent infinite recursion in pathological cases.

Structs§

StrategyContext
Strategy execution context

Enums§

IntegrationStrategy
Integration strategy identifier

Functions§

integrate_with_strategy
Main integration strategy dispatcher
is_polynomial
Check if expression is a polynomial in the given variable
try_by_parts
Try integration by parts using the LIATE heuristic
try_registry_integration
Try function registry integration using known antiderivatives