try_risch_integration

Function try_risch_integration 

Source
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 integrate
  • var - 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());