Stack overflow integrating csch(29/10 + 13/10 x)^3 (17/10 + 23/10 sech(29/10 + 13/10 x)^2)^3: the power-of-a-quadratic reduction recurses on a remainder the division did not reduce

Open
#1,373 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
4/5
Estimated time
3-5 days
Newbie friendliness
48/100
Issue type
Bug
Clarity
Mostly clear
Activity status
Active
Tech stack
csharp
Domain
backend

Research direction

Start with IntegralPatterns.IntegrateRationalOverPowerOfQuadratic and TheFirstPowerCancels' Gather, reproducing the supplied integrand with rational parameters. Inspect the PolynomialLongDivision remainder checks at both recursion sites; done means the reduction declines when the remainder still has a higher variable power and the integrator returns a bounded decline instead of overflowing the stack.

Written by the indexing model from the issue text.

Description

Bug

csch(29/10+13/10*x)^3*(17/10+23/10*sech(29/10+13/10*x)^2)^3 (Rubi 6.5.7:30 with the parameters pinned to rationals) takes the process down with a stack overflow on master (01fa27bb), in IntegralPatterns.IntegrateRationalOverPowerOfQuadratic and, once that is guarded, in TheFirstPowerCancels' Gather: both divide the numerator by the quadratic with PolynomialLongDivision and recurse on the remainder at the same power, and for this integrand under u = e^x the division comes back with a remainder that is not linear, so the recursion never descends.

Fix in the PR that found it: a remainder that still has the variable to a higher power declines the reduction at both sites (the same problem then goes on to a decline within the budget rather than a crash). Why the division reports a remainder of full degree for these coefficients is not yet looked at.

Dominant language
C#
Stars
832
Forks
79
Avg merge
3h 11m
Merged PRs (30d)
357

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from asc-community/AngouriMath

All issues in asc-community/AngouriMath

Similar issues

More C# issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.