Skip to content

Integrate a symbolic secant power, a half-odd power of a ± a sin, and an even cosine power - #1975

Merged
Rafael-SOWNet merged 1 commit into
masterfrom
integrate-secant-powers-and-half-odd-sine-powers
Oct 20, 2026
Merged

Rafael-SOWNet merged 1 commit into
masterfrom
integrate-secant-powers-and-half-odd-sine-powers

Conversation

@Rafael-SOWNet

@Rafael-SOWNet Rafael-SOWNet commented Oct 20, 2026 •

Copy link
Copy Markdown
Member

Three seams of Rubi's family 4:

  • (b sec(y))^m tan(y)^3 was declined only because m was not a number. In u = sec(y) it is (b u)^m (u^2 - 1)/u, and the rule for an odd power of the tangent beside a function of the secant now reads a power free of x whatever its exponent. A negative power of the tangent beside it leaves something hypergeometric, and is still declined.
  • 1/(sqrt(a + a sin(y)) (c + d sin(y))^2) and its kin are answered by the half angle at which a + a sin(y) is a square. They never reached it, because the polynomial term asked the substitution search first, and the search spent the budget. A half-odd power of a ± a sin(y) beside another linear in the same sine or cosine is now asked that first.
  • cos(y)^4 sin(y)^3/(a + b sin(y))^2: an even whole power of the cosine is a power of 1 - sin(y)^2, so beside a power of the sine above the bar the integrand is a polynomial in the sine over the power. Without a sine above the bar, the rules after this one answer as before. cos(y)^4/(a + b sin(y))^8 is 40K characters there and was 106K here, using 11.9 GB against 8.1 GB, so the rule declines it.

Measured on 8a1ef454, branch against master:

Run Problems Master Branch
Pocket: Rubi's 4.x 2,061 1,967 solved 1,994 solved
Family 1, 40 a file 1,381 1,362 1,362
Family 0, whole 1,814 1,789 1,789
Families 2 to 8, sampled 2,410 2,362 2,360

Re-run alone on both builds, 28 problems go from timed out or unevaluated to answered, in 13 ms to 6.2 s: Rubi's 4.1.2.1:404–406, 412–414, 475, 644, 653, 654, 659–661 and 666–668; 4.1.2.2:1444, 1452, 1605–1607, 1615 and 1616; 4.1.3.1:364; and 4.3.0:444, 445, 478 and 479. None goes the other way.

The two sampled problems master answered and the branch did not, 6.4.2:50 and 7.4.1:369, are the ones that take 21–25 s against a 5 s budget. Re-run alone, the branch answers both, and master answers 6.4.2:50.

The pocket ran before the sine-above-the-bar condition was added. That condition only narrows the rule. With it, the seven 4.1.2.2 gains are answered in 0.1–0.4 s (master runs past 60 s), and 4.1.1.2:514 is master's answer again, character for character. No run had a wrong answer.

The new and extended tests differentiate the answers back, with a negative b for the secant. BREAKING-CHANGES.md has the entry, with the 2.5.0 column measured on v2.5.0.

Part of #233.

🤖 Generated with Claude Code

https://claude.ai/code/session_012sonx8iAspMiwRwokT1Ura

… an even cosine power

Three seams of Rubi's family 4:

- (b sec(y))^m tan(y)^3 was declined only because m was not a number; in
  u = sec(y) it is (b u)^m (u^2 - 1)/u, and the rule for an odd power of the
  tangent beside a function of the secant reads a power free of x whatever its
  exponent now. A negative power of the tangent beside it is hypergeometric and
  still declined.
- 1/(sqrt(a + a sin(y)) (c + d sin(y))^2) and its kin are answered by the half
  angle at which a + a sin(y) is a square. They never reached it: the polynomial
  term asked the substitution search first, which spent the budget.
- cos(y)^4 sin(y)^3/(a + b sin(y))^2: an even whole power of the cosine is a
  power of 1 - sin(y)^2, so beside a power of the sine above the bar the
  integrand is a polynomial in the sine over the power. Without a sine above
  the bar the rules after it answer as before: cos(y)^4/(a + b sin(y))^8 is 40K
  characters there and was 106K here.

Rubi pocket (2,061 rows of family 4): 1967 -> 1994 solved; the moves re-run
alone gain 28 rows (4.1.2.1 x16, 4.1.2.2 x7, 4.1.3.1:364, 4.3.0 x4), none lost.

Part of #233.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012sonx8iAspMiwRwokT1Ura
@Rafael-SOWNet Rafael-SOWNet added this to the 2.6.0 milestone Oct 20, 2026
@Rafael-SOWNet
Rafael-SOWNet merged commit a3bc645 into master Oct 20, 2026
34 checks passed
@github-project-automation github-project-automation Bot moved this from Todo to Done in AngouriMath Oct 20, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

1 participant