Skip to content

Commit ab38187

Browse files
Rafael-SOWNetclaude
andcommitted
Integrate seven trigonometric shapes: reduced powers over a + b sin, an odd tangent beside sqrt(a + b sin^2), and five more
- An even power of a cosine over a power of a + b sin, reduced in the power of the binomial. - An odd power of a tangent beside a root of a + b sin^2, under v = sin^2. - From the twelfth power, a power of a tangent over a power of a + a sec, cancelled. - A root of 1 - cos beside another root, under the cosine. - Roots that are a constant times a power of x, taken out as that constant. - A power of a secant over a power of a cos + b sin, in powers of a + b tan. - An odd power of a sine over a power of a + b tan^2, under the cosine with a - b named. Chain against master f7f2a7a: pocket of 1,267 rows, 1,250 -> 1,259 solved, 0 wrong; samples unchanged; the 10 rows that moved, alone, 2 -> 9 solved: 4.1.1.2:512, 513, 4.1.7:671 and 4.3.7:108 past the budget there, 4.2.2.1:897, 898 and 4.7.7:51 declined; 4.1.1.2:516 13.1 GB -> 0.01 GB. 4.3.7:470 is declined on both. No row's allocation grew past 1.3x. Part of #233. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_012sonx8iAspMiwRwokT1Ura
1 parent f7f2a7a commit ab38187

10 files changed

Lines changed: 1317 additions & 0 deletions

‎BREAKING-CHANGES.md‎

Lines changed: 97 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -407,6 +407,27 @@ written in powers of `u = a + b f`, with coefficients `c_j = sum_i p_i C(i, j) (
407407
| `"(a+b*sin(e+f*x))^2*(A+B*sin(e+f*x))/(c+d*sin(e+f*x))^2".ToEntity().Integrate("x")` | `integral(...)` | 3,337 characters |
408408
| `"cos(c+d*x)^4*(A+C*cos(c+d*x)^2)/(a+b*cos(c+d*x))^4".ToEntity().Integrate("x")` | `integral(...)` | 10,859 characters |
409409

410+
### An even power of a cosine over a power of `a + b sin` is reduced in the power of the binomial
411+
412+
**Answers where there were none.** `cos(c + d x)^8/(a + b sin(c + d x))^8` ran out of time, and so did
413+
`cos^6`, `sec^2` and `sec^4` over the same eighth power and `sec^4/(a + b sin)^3`, Rubi's 4.1.1.2: with symbols for `a`
414+
and `b` the half-angle's partial fractions did not finish. With `u = a + b sin(y)`, `b^2 cos(y)^2 = (b^2 - a^2) + 2 a u - u^2`
415+
lowers a power of the cosine above the bar, and read for `a^2 - b^2` it lowers one below it; what is left is the integral
416+
`I_n` of `1/u^n`, and `(n - 1)(a^2 - b^2) I_n = b cos(y) u^(1 - n) + (2 n - 3) a I_(n - 1) - (n - 2) I_(n - 2)` takes it
417+
down to `I_1`. A sine over a binomial in the cosine is the same with `-b sin(y)`. The coefficients are summed exactly, so
418+
the answer holds `I_1` once. For `a^2 != b^2`, the generic case, as Rubi answers it: `a + a sin` declines. `1/(a + b sin)^n`
419+
and a polynomial in the sine over it are answered this way too, more shortly than by the half-angle
420+
([#233](https://github.com/asc-community/AngouriMath/issues/233)).
421+
422+
| Input | Was (2.5.0) | Now |
423+
|---|---|---|
424+
| `"cos(c+d*x)^8/(a+b*sin(c+d*x))^8".ToEntity().Integrate("x")` | `integral(...)` | 4,788 characters |
425+
| `"sec(c+d*x)^4/(a+b*sin(c+d*x))^8".ToEntity().Integrate("x")` | `integral(...)` | 6,910 characters |
426+
| `"sec(c+d*x)^4/(a+b*sin(c+d*x))^3".ToEntity().Integrate("x")` | `integral(...)` | 3,030 characters |
427+
| `"cos(c+d*x)^4/(a+b*sin(c+d*x))^8".ToEntity().Integrate("x")` | `integral(...)` | 4,092 characters |
428+
| `"sin(x)^4/(a+b*cos(x))".ToEntity().Integrate("x")` | `integral(...)` | 1,309 characters |
429+
| `"1/(a+b*cos(c+d*x))^4".ToEntity().Integrate("x")` | `integral(...)` | 1,851 characters |
430+
410431
### A difference of a negated term is printed as a sum
411432

412433
**A printed form.** A solution and a difference were printed with the sign of a negative factor left inside:
@@ -533,6 +554,18 @@ Only where the product `T B` is in the integrand; without it the rules after thi
533554
| `"x^5*(a+b*acoth(c*x))*(d+k*ln(1-c^2*x^2))".ToEntity().Integrate("x")` | `integral(...)` | 717 characters |
534555
| `"(a+b*acoth(c*x))*(d+k*ln(1-c^2*x^2))".ToEntity().Integrate("x")` | `integral(...)` | 354 characters |
535556

557+
### An odd power of a tangent beside a root of `a + b sin^2` is integrated under `v = sin^2`
558+
559+
**Answers where there were none.** `tan(e + f x)^5/(a + b sin(e + f x)^2)^(5/2)`, Rubi's 4.1.7, ran out of time: the
560+
substitution in the secant wrote the root as a power of `a + b - b/u^2` and spent eight seconds writing it apart. With
561+
`v = sin(y)^2`, `tan(y)^(2 k + 1) dy = v^k/(1 - v)^(k + 1) dv/2`, and in `v` the root is of a linear. Only where a root of a
562+
sum with a constant in it holds the sine's square ([#233](https://github.com/asc-community/AngouriMath/issues/233)).
563+
564+
| Input | Was (2.5.0) | Now |
565+
|---|---|---|
566+
| `"tan(k+f*x)^5/(a+b*sin(k+f*x)^2)^(5/2)".ToEntity().Integrate("x")` | `integral(...)` | 4,109 characters |
567+
| `"tan(k+f*x)^5/sqrt(a-a*sin(k+f*x)^2)".ToEntity().Integrate("x")` | `integral(...)` | 190 characters |
568+
536569
### A power of x times an inverse tangent and the logarithm of its quadratic is integrated by parts
537570

538571
**Answers where there were none.** `x^4 (a + b atan(c x)) (d + e ln(1 + c^2 x^2))` ran out of time, and so did three more
@@ -689,6 +722,17 @@ over a power of a linear. That is answered with `Si` and `Ci`
689722
| `"cos(c+d*x)^3/((pe+f*x)*(a+a*sin(c+d*x)))".ToEntity().Integrate("x")` | `integral(...)` | 246 characters |
690723
| `"cos(c+d*x)^3/((pe+f*x)^2*(a+a*sin(c+d*x)))".ToEntity().Integrate("x")` | `integral(...)` | 790 characters |
691724

725+
### From the twelfth power, a power of a tangent over a power of `a + a sec` is cancelled
726+
727+
**Answers where there were none.** `tan(c + d x)^12/(a + a sec(c + d x))^3`, Rubi's 4.5.1.4, ran out of time. `tan^2` is
728+
`(sec - 1)(sec + 1)`, so `tan(y)^m/(k (1 + sec(y)))^n` is `tan(y)^(m - 2 n) (sec(y) - 1)^n/k^n`, and over `k (1 - sec(y))`
729+
the same with `sec(y) + 1` over `(-k)^n`. From the twelfth power only, where the rules after it stop answering in time:
730+
below it they answer more shortly ([#233](https://github.com/asc-community/AngouriMath/issues/233)).
731+
732+
| Input | Was (2.5.0) | Now |
733+
|---|---|---|
734+
| `"tan(c+d*x)^12/(a+a*sec(c+d*x))^3".ToEntity().Integrate("x")` | `integral(...)` | 1,140 characters |
735+
692736
### Every linear beside a block is split off, a quadratic with rational roots among them
693737

694738
**Answers where there were none.** `sec(c + d x)/(a + b sin(c + d x)^3)` was declined, and so were
@@ -826,6 +870,20 @@ split. It is written `b (s + r)(s^2 - r s + r^2)` now, with `r = (a/b)^(1/3)`, w
826870
| `"sec(c + d*x)^2/(a + b*sin(c + d*x)^3)".ToEntity().Integrate("x")` | `integral(...)` | 7,010 characters |
827871
| `"sec(c + d*x)^4/(a + b*sin(c + d*x)^3)".ToEntity().Integrate("x")` | `integral(...)` | 11,646 characters |
828872

873+
### A root of `1 - cos` beside another root is integrated under the cosine
874+
875+
**Answers where there were none.** `sqrt(1 - cos(x))/sqrt(a - cos(x))`, Rubi's 4.2.2.1, was declined and
876+
`sqrt((1 - cos(x))/(a - cos(x)))` ran out of time: the half angle at which `1 - cos` is a square reads only roots of
877+
that kind. With `g` the other function, `sqrt(k (1 + s f)/D)` is `K g/(sqrt(D) sqrt(1 - s f))` where `K` has the square
878+
`k` and so is constant between the zeros of `g`, and under `u = f(y)` what is left is
879+
`1/(sqrt(1 + u) sqrt(a - u))`. For a number `k` and another root with a symbol in it only: the rules after it answer
880+
the rest, and more shortly ([#233](https://github.com/asc-community/AngouriMath/issues/233)).
881+
882+
| Input | Was (2.5.0) | Now |
883+
|---|---|---|
884+
| `"sqrt(1-cos(x))/sqrt(a-cos(x))".ToEntity().Integrate("x")` | `integral(...)` | 98 characters |
885+
| `"sqrt((1-cos(x))/(a-cos(x)))".ToEntity().Integrate("x")` | `integral(...)` | 138 characters |
886+
829887
### A linear factor common to a sum below the bar is taken out of it
830888

831889
**Answers where there were none.** `1/(a x + b x/log(c x^n))` was left unevaluated. With x taken out of the sum below the
@@ -1229,6 +1287,18 @@ integral of the function ([#718](https://github.com/asc-community/AngouriMath/is
12291287
| `"atan(k*x/sqrt(-a*k^2/b-k^2*x^2))^m/sqrt(a+b*x^2)".ToEntity().Integrate("x")` | `integral(...)` | 320 characters |
12301288
| `"1/(atan(k*x/sqrt(-a*k^2/b-k^2*x^2))^3*sqrt(a+b*x^2))".ToEntity().Integrate("x")` | `integral(...)` | 314 characters |
12311289

1290+
### Roots that are a constant times a power of x are taken out as that constant
1291+
1292+
**Answers where there were none.** `sin(x) sqrt(b - a/x^2)/sqrt(a - b x^2)`, Rubi's 4.7.7, was declined. The roots are
1293+
`K/x` with `K = x sqrt(b - a/x^2)/sqrt(a - b x^2)`, whose square is `-1`: constant between the zeros of the roots, where
1294+
it changes sign. With `r` the degree of the roots both at infinity and at zero, `K = A/x^r` is taken as constant where its
1295+
derivative is zero at sampled points, and the integral is `K` times that of `x^r` times the rest, here `K Si(x)`. Last
1296+
but two, where everything reading the roots as written has declined ([#233](https://github.com/asc-community/AngouriMath/issues/233)).
1297+
1298+
| Input | Was (2.5.0) | Now |
1299+
|---|---|---|
1300+
| `"sin(x)*sqrt(b-a/x^2)/sqrt(a-b*x^2)".ToEntity().Integrate("x")` | `integral(...)` | 107 characters |
1301+
12321302
### Half an odd power of an inverse hyperbolic cosine of `c + d x^2` is integrated in error functions
12331303

12341304
**Answers where there were none.** `(a + b acosh(1 + d x^2))^(1/2)` was declined, and so were thirteen more of Rubi's
@@ -1309,6 +1379,21 @@ answer these integrands; the split now ends at the first term declined. More slo
13091379
| `"1/(a*coth(x)+b*csch(x))^2".ToEntity().Integrate("x")` | `integral(...)` | 1,831 characters |
13101380
| `"1/(1-cosh(x)^8)".ToEntity().Integrate("x")` | `integral(...)` | 1,232 characters |
13111381

1382+
### A power of a secant over a power of `a cos + b sin` is written in powers of `a + b tan`
1383+
1384+
**Answers where there were none.** `sec(c + d x)^4/(a cos(c + d x) + b sin(c + d x))^3` and `sec^3/(a cos + b sin)^4`, Rubi's
1385+
4.7.2, ran out of time. Where the two powers together are even the quotient is a rational function of the tangent beside
1386+
`sec^2`; odd, it went to the half-angle. It is `sec(y) (1 + tan(y)^2)^k/(a + b tan(y))^n` with `2 k + 1 = m + n`, and in
1387+
powers of `w = a + b tan(y)` a term below the bar, `sec(y)/w^i`, is `cos(y)^(i - 1)/(a cos(y) + b sin(y))^i`, and one above
1388+
it a polynomial in the tangent beside the secant. From `m + n = 7`: below it the half-angle answers in time
1389+
([#233](https://github.com/asc-community/AngouriMath/issues/233)).
1390+
1391+
| Input | Was (2.5.0) | Now |
1392+
|---|---|---|
1393+
| `"sec(c+d*x)^4/(a*cos(c+d*x)+b*sin(c+d*x))^3".ToEntity().Integrate("x")` | `integral(...)` | 2,175 characters |
1394+
| `"sec(c+d*x)^3/(a*cos(c+d*x)+b*sin(c+d*x))^4".ToEntity().Integrate("x")` | `integral(...)` | 3,401 characters |
1395+
| `"sec(c+d*x)^6/(a*cos(c+d*x)+b*sin(c+d*x))".ToEntity().Integrate("x")` | `integral(...)` | 1,151 characters |
1396+
13121397
### A whole power of an inverse function of `c + d x^2` is integrated by its recurrence
13131398

13141399
**Answers where there were none.** `(a + b acos(1 + d x^2))^4` was declined, and so were twenty-five more of Rubi's
@@ -1434,6 +1519,18 @@ twice ([#1877](https://github.com/asc-community/AngouriMath/issues/1877),
14341519
| `"sin(a + b*x)/((d*e - c*f)*x^3 + f)".ToEntity().Integrate("x")` | `integral(...)` | 1,416 characters |
14351520
| `"sin(x)/(a*x^2 + 2*a*x + a)".ToEntity().Integrate("x")` | `integral(...)` | 246 characters |
14361521

1522+
### An odd power of a sine over a power of `a + b tan^2` is integrated under the cosine with `a - b` named
1523+
1524+
**Answers where there were none.** `sin(e + f x)^3/(a + b tan(e + f x)^2)^3`, Rubi's 4.3.7, ran out of time in the
1525+
substitution search before Bioche's substitution was reached, and `sin^5` over the same cube took fifteen seconds. Under
1526+
`u = cos(y)`, `a + b tan(y)^2 = ((a - b) u^2 + b)/u^2`, and the rational function in `u` is asked with `a - b` named by
1527+
a symbol of its own: written in, it took seven seconds, named a tenth of one ([#233](https://github.com/asc-community/AngouriMath/issues/233)).
1528+
1529+
| Input | Was (2.5.0) | Now |
1530+
|---|---|---|
1531+
| `"sin(k+f*x)^3/(a+b*tan(k+f*x)^2)^3".ToEntity().Integrate("x")` | `integral(...)` | 2,667 characters |
1532+
| `"sin(k+f*x)^5/(a+b*tan(k+f*x)^2)^3".ToEntity().Integrate("x")` | `integral(...)` | 6,183 characters |
1533+
14371534
### A trigonometric function of `a + b/x` beside a rational function is integrated in `1/x`
14381535

14391536
**Answers where there were none.** `sin(c + d/x)/(e + f x)` was declined: the substitution search reads a candidate's

0 commit comments

Comments
 (0)