integrate_rational

Function integrate_rational 

Source
pub fn integrate_rational(expr: &Expression, var: &Symbol) -> Option<Expression>
Expand description

Integrate rational function P(x)/Q(x) via partial fractions

§Arguments

  • expr - Rational expression to integrate
  • var - Integration variable

§Returns

Integrated expression or None if not a rational function or unsupported

§Examples

use mathhook_core::{Expression, symbol};
use mathhook_core::calculus::integrals::rational::integrate_rational;

let x = symbol!(x);
let rational = Expression::mul(vec![
    Expression::integer(1),
    Expression::pow(
        Expression::add(vec![
            Expression::symbol(x.clone()),
            Expression::integer(-1),
        ]),
        Expression::integer(-1),
    ),
]);

let result = integrate_rational(&rational, &x);
assert!(result.is_some());