[integrals] Intent to work on manualintegrate TODO: handle n < -1 case

33 views
Skip to first unread message

AB

unread,
Jan 8, 2026, 1:25:50 PM (3 days ago) Jan 8
to sympy

Hi everyone,

I would like to work on a TODO found in sympy/integrals/manualintegrate.py inside the sqrt_quadratic_rule function:

elif n == -1:
        generic_step = sqrt_quadratic_denom_rule(f_poly, integrand)
    else:
        return  # todo: handle n < -1 case
    return _add_degenerate_step(generic_cond, generic_step, degenerate_step)

This TODO handles integrals involving odd negative powers of a quadratic, such as (a + bx + cx**2) ** {-3/2}, (a + bx + cx**2) ** {-5/2}, etc.

Proposed Plan:

I plan to implement a recursive reduction step using the formula from Gradshteyn & Ryzhik (2.263.3).
Screenshot 2026-01-08 230124.png

This formula rewrites integrals of the form integral(dx / sqrt(R ** (2k+1))) in terms of an algebraic term and a simpler integral integral(dx / sqrt(R ** (2k-1))). By applying this recursively, any n < -1 case can be reduced until it reaches the n = -1 base case, which is already correctly handled by the existing sqrt_quadratic_rule.

Questions:

  1. Is anyone currently working on this?

  2. Are there any known blockers for this implementation?

If there are no objections, I would like to proceed with the implementation and a PR.

Thanks,

Ayush Bothra

Oscar Benjamin

unread,
Jan 8, 2026, 1:58:14 PM (3 days ago) Jan 8
to sympy
Sounds reasonable to me. Go ahead 

--
You received this message because you are subscribed to the Google Groups "sympy" group.
To unsubscribe from this group and stop receiving emails from it, send an email to sympy+un...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/sympy/ed33908f-ee97-4f9a-ad5a-7ef8bc1a47cbn%40googlegroups.com.
Reply all
Reply to author
Forward
0 new messages