pub fn try_risch_integration(
expr: &Expression,
var: &Symbol,
) -> Option<Expression>Expand description
Main Risch integration entry point
Attempts to integrate using the Risch algorithm. Returns Some(result) if successful, or None if the integral is proven non-elementary or cannot be determined by the basic Risch implementation.
§Arguments
expr- The expression to integratevar- The variable of integration
§Examples
use mathhook_core::calculus::integrals::risch::try_risch_integration;
use mathhook_core::Expression;
use mathhook_core::symbol;
let x = symbol!(x);
let integrand = Expression::function("exp", vec![Expression::symbol(x.clone())]);
let result = try_risch_integration(&integrand, &x);
assert!(result.is_some());