Skip to content

we need more integral solvers #233

Open
7 of 8 issues completed
Open

Description

@MomoDeve

There are a lot of stuff to do, but to begin with, I will put some unsolvable by AM integrals here:

  • cos(x^2)*x variable substitution method, WolframAlpha
  • sin(x)*e^x integrating by parts and solving integral equation, WolframAlpha
  • 1/(a^2 + x^2) standard integral for arctan, WolframAlpha
  • x^2 / (x^4 + 1) partial fractioning WolframAlpha
  • sqrt(tan(x)) very painful, requires different solvers, WolframAlpha

I do not mention special integrals here, like e^(x^2) or 1/ln(x)

Activity

  1. linked a pull request that will close this issueIndefinite integration #229on Oct 9, 2020
  2. added this to the 1.2.3 milestone on Oct 16, 2020
  3. added
    AcceptedFor proposals, which were approved and will be implemented
    on Mar 24, 2021
  4. Rafael-SOWNet commented on Aug 16, 2026

    @Rafael-SOWNet
    Member

    Three of the five are done. Measured on master at a45a7256, each verified by differentiating the answer back rather than by eye.

    integrand today check
    cos(x^2)*x sin(x^2) / 2 + C d/dx matches
    sin(x)*e^x e^x * (sin(x) - cos(x)) / 2 + C d/dx matches
    1/(a^2 + x^2) a piecewise on the sign of a^2, with arctan(x / sqrt(a^2)) / sqrt(a^2) + C on the positive branch correct — see below
    x^2 / (x^4 + 1) unevaluated —
    sqrt(tan(x)) unevaluated —

    So the substitution case, the by-parts-and-solve-the-equation case, and the arctan standard integral are all answered. The two left are the two the body itself flags as hardest — partial fractioning over an irreducible quartic, and sqrt(tan(x)), which it calls "very painful, requires different solvers". Both are also the two casbench reports unsolved, so this agrees with the corpus.

    On the arctan one, a correction to my own first reading. Differentiating it back and simplifying does not reduce to zero, and I nearly reported that as a wrong answer. It is not — the piecewise carries branch conditions that block symbolic cancellation. Checked numerically instead:

    a x d/dx of the antiderivative integrand difference
    2 1 1/5 1/5 0
    3 -2 1/13 1/13 0
    1 0.5 4/5 4/5 0
    5 4 1/41 1/41 0

    Worth recording because it will catch the next person too: an antiderivative that comes back as a Piecewise cannot be verified by simplifying d/dx F - f to zero, and a harness that does so will report a false defect.

    Suggest ticking the three and leaving this open for the remaining two.

  5. removed this from the 1.6 milestone on Sep 18, 2026
  6. 21 remaining items

  7. moved this from In Progress to Todo in AngouriMathon Oct 13, 2026
  8. modified the milestones: 2.6.0, 2.7.0 on Oct 19, 2026
  9. Rafael-SOWNet commented on Oct 19, 2026

    @Rafael-SOWNet
    Member

    Moved to 2.7.0: the integrator work goes on past 2.6.0. This release's part of it is closed: #1469, #1501 and the closed sub-issues.

    🤖 Generated with Claude Code

    https://claude.ai/code/session_012sonx8iAspMiwRwokT1Ura

  10. modified the milestones: 2.7.0, 2.6.0 on Oct 19, 2026
  11. Rafael-SOWNet commented on Oct 19, 2026

    @Rafael-SOWNet
    Member

    @Happypig375, should this close with 2.6.0 or carry on into 2.7.0? I moved it to 2.7.0 earlier today and have put it back on 2.6.0 until you answer, because you moved it there for calculus first.

    What 2.6.0 delivers, measured on the full Rubi corpus at master 3d5d1461:

    • 47,508 of 48,305 problems solved (98.3%), against 7,580 for 2.5.0. Wrong answers: 0, against 81 for 2.5.0.
    • Families 0, 1, 4, 5 and 8 are each at 98% or more. Families 2, 3, 6 and 7 are at 93–98%.
    • Its sub-issues here are all closed, except How much can the integrator's code be simplified? #1486 (simplifying the integrator's code).

    Close at 2.6.0, with a 2.7.0 successor for the remaining families and #1486? Or keep this open into 2.7.0? #1486 goes wherever this does, since both touch the integrator's code.

    🤖 Generated with Claude Code

    https://claude.ai/code/session_012sonx8iAspMiwRwokT1Ura

  12. Happypig375 commented on Oct 19, 2026

    @Happypig375
    Member

    @Rafael-SOWNet Your choice - 2.7 might go too fast while 2.6 too packed, but all integration being in the same release looks more organised.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    AcceptedFor proposals, which were approved and will be implemented

    Projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions