Expand description
Integration strategy dispatcher
Orchestrates all integration techniques in optimal order (fast to slow).
§Strategy Layers
- Table lookup - O(1) exact pattern matching for common integrals
- Rational functions - Partial fraction decomposition for P(x)/Q(x)
- Function registry - Known antiderivatives (sin, cos, exp, ln, etc.)
- Integration by parts - Product rule in reverse using LIATE heuristic
- Substitution - Chain rule in reverse (u-substitution)
- Trigonometric - Trig identities and power reduction formulas
- Risch algorithm - Decision procedure for elementary functions
- Basic rules - Power rule, constants, sums, constant multiples
- 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§
- Strategy
Context - Strategy execution context
Enums§
- Integration
Strategy - 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