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 integratevar- 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());