Skip to content

A power of a product with a sum in it is multiplied out as a polynomial - #1854

Merged
Rafael-SOWNet merged 3 commits into
masterfrom
a-symbolic-inverse-modulo-a-quadratic-power
Oct 12, 2026
Merged

Rafael-SOWNet merged 3 commits into
masterfrom
a-symbolic-inverse-modulo-a-quadratic-power

Conversation

@Rafael-SOWNet

Copy link
Copy Markdown
Member

Part of #718.

A power of a product with a sum in it is multiplied out as a polynomial. In ExpandedOverTheSymbols, the fast path, which multiplies out over the symbols as a polynomial, was taken only for a sum raised to a power or a product with sums on both sides. Beside (d + k x)^3, the norm of the other factors' residue modulo a repeated quadratic is (S c)^2, where S has 28 terms. That is neither shape, so it went to Entity.Expand. That one expansion took 27 of the 29 seconds of 1/((d + k x)^3 (a + b x + c x^2)^2). The check now accepts a whole power of anything that contains a sum.

2.5.0 master 52ce4d8 branch
1/((d + k x)^3 (a + b x + c x^2)^2) declined 9,593 chars, 29.8 s the same answer, byte for byte, 1.4 s
1/((d + k x)(f + g x)(a + b x + c x^2)^2) declined no answer within 300 s 24,143 chars, 1.6 s

Measured against master 52ce4d8

  • Rubi's 1.2 files, 3,038 rows: 3,025 solved on master against 3,027 on the branch, with 0 wrong. The two gains are 1.2.1.2:2493 and 1.2.1.4:1051, both timeouts on master.
  • The full chain over families 0–8: 3 rows moved. Two are those gains. The third, 1.1.3.4:857, runs about 25 s on both builds, which is on the budget's boundary. 0 rows are wrong.
  • Gate: passed.
  • Suite: 15,244 passed, 0 failed.

SymbolicFactorsPartialFractionsTest gains a row that differentiates the first integral back and bounds its size.

The other timeouts in 1.2.1.2, with the quadratic to the fourth and fifth power, are a different cost and are not addressed here.

🤖 Generated with Claude Code

https://claude.ai/code/session_012sonx8iAspMiwRwokT1Ura

@Rafael-SOWNet Rafael-SOWNet added this to the 2.6.0 milestone Oct 11, 2026
@Rafael-SOWNet
Rafael-SOWNet merged commit b3805f8 into master Oct 12, 2026
34 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant