Skip to content

Commit 86d60b9

Browse files
Raise a negative power of x beside a power of a binomial by the reduction that takes out its pole, read a derivative's constant at a point, and rationalise the roots inside a root (#2033)
- x^m (a + b x^n)^p R(x^n) with m <= -2: a multiple of the derivative of x^(m + 1) (a + b x^n)^(p + 1) takes the pole at zero out and raises the power of x by n, the rest asked on its own. Beside a root, last and at the question asked, and not where m + 1 is a multiple of n, where the substitution reads the integrand whole: there the rest was asked and declined at twenty-two gigabytes before master's answer. Over a whole power, with a symbol in the binomial, past the twenty-fourth degree. - A product of powers whose brackets are proportional at sampled points, the constant read at x = 1 where the quotient cannot be shown free of x. - A root of a radicand that holds the root of a quadratic or the roots of two linears with one slope, in Euler's substitution or their sum, for integrands that are roots of x and nothing else with a radicand that is a polynomial in x and those roots: the tangent's substitution hands (1 + coth(x))^(7/2) on as a power of (u + 1)/u + sqrt(1 - u^2)/u, which this answered in 1,661 characters where the rules after it give 287. Chain against master f7f2a7a: pocket of 814 rows, 772 -> 779 solved, 0 wrong; the samples unchanged; the 7 rows that moved, alone, 0 -> 7 solved; 6,304 rows compared for allocation, none grew past 23 MB. Part of #233. Claude-Session: https://claude.ai/code/session_012sonx8iAspMiwRwokT1Ura Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
1 parent 2a98be4 commit 86d60b9

6 files changed

Lines changed: 730 additions & 2 deletions

‎BREAKING-CHANGES.md‎

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -730,6 +730,26 @@ back after. Each answer is in three cases by the sign of `4 a/c - (b/c)^2`
730730
| `"x^5/(a + b*x + c*x^2)^5".ToEntity().Integrate("x")` | `integral(...)` | 4,066 characters |
731731
| `"x^7/(a + b*x + c*x^2)^5".ToEntity().Integrate("x")` | `integral(...)` | 5,602 characters |
732732

733+
### A power of x below -1 beside a power of a binomial is raised by the reduction that takes out its pole
734+
735+
**Answers where there were none.** `1/(x^3 (1 - x^3)^(2/3) (1 + x^3))`, Rubi's 1.1.3.4, was declined: split over
736+
`1 + x^3` its terms are not elementary apart. So were `1/(x^6 (a + b x^2)^10)` and `1/(x^7 (a + b x^2)^10)`, Rubi's
737+
1.1.2.2, which since 2.5.0 have run out of time in the partial fractions instead. The derivative of
738+
`x^(m + 1) (a + b x^n)^(p + 1)` is `x^m (a + b x^n)^p ((m + 1) a + b (m + 1 + n (p + 1)) x^n)`, so a multiple of it
739+
takes the pole at zero out of `x^m (a + b x^n)^p R(x^n)` and raises the power of x by n; what is left at `x^(-1)` or
740+
above is asked on its own. Beside a root it is asked last, at the question asked only; over a whole power, with a
741+
symbol in the binomial and past the twenty-fourth degree below the bar only, where it answers
742+
`1/(x^5 (a + b x^2)^10)` in 1,860 characters and the partial fractions have since given 67,808
743+
([#233](https://github.com/asc-community/AngouriMath/issues/233)).
744+
745+
| Input | Was (2.5.0) | Now |
746+
|---|---|---|
747+
| `"1/(x^3*(1-x^3)^(2/3)*(1+x^3))".ToEntity().Integrate("x")` | `integral(...)` | 715 characters |
748+
| `"1/(x^3*(1+x^3)^(2/3)*(1-x^3))".ToEntity().Integrate("x")` | `integral(...)` | 577 characters |
749+
| `"1/(x^6*(a+b*x^2)^10)".ToEntity().Integrate("x")` | `integral(...)` | 2,286 characters |
750+
| `"1/(x^7*(a+b*x^2)^10)".ToEntity().Integrate("x")` | `integral(...)` | 1,892 characters |
751+
| `"1/(x^5*(a+b*x^2)^10)".ToEntity().Integrate("x")` | `integral(...)` | 1,860 characters |
752+
733753
### A power of x below the bar beside a root of a binomial is rationalised by dividing by the root
734754

735755
**Answers where there were none.** `(a + b x^3)^(1/3)/(x^2 (c + d x^3))` was declined, and so were sixteen more of Rubi's
@@ -2991,6 +3011,21 @@ Rubi's `x^m (a + b x^n)^p` and `(a + b x^n)^p (c + d x^n)^q`
29913011
| `"1/(2+3/x^2)^3".Integrate("x")`, `1/(a + b/x^3)` | left unevaluated | an antiderivative |
29923012
| `"(a+b*x^n)*(c+d*x^n)^3".Integrate("x")` | left unevaluated | written out, eight powers of `x` integrated: `a c^3 x + ... + b d^3 x^(4 n + 1)/(4 n + 1)` |
29933013

3014+
### A product of powers with symbolic exponents is integrated where it is a derivative whose constant the brackets hide
3015+
3016+
**Answers where there were none.** `(a - b x^(n/2))^p (a + b x^(n/2))^p (c + d x^n)^q` with
3017+
`c = -a^2 d n (p + 1)/(b^2 (1 + n + n p))` and `q = -(1 + 2 n + n p)/n`, Rubi's 1.1.3.3, was declined. It is
3018+
`-b^2 (1 + n + n p)/(a^4 d n (p + 1))` times the derivative of `x (a - b x^(n/2))^(p + 1) (a + b x^(n/2))^(p + 1) (c + d x^n)^(q + 1)`,
3019+
and the rule that reads such derivatives found the two brackets proportional at sampled points but could not show their
3020+
quotient free of x, which takes `x x^(n - 1) = x^n` and the symbolic coefficients of `x^n` and `x^(2 n)` cancelling.
3021+
Asked once more last in the chain, at the question asked only, it reads the constant at `x = 1`
3022+
([#233](https://github.com/asc-community/AngouriMath/issues/233)).
3023+
3024+
| Input | Was (2.5.0) | Now |
3025+
|---|---|---|
3026+
| `"(a - b*x^(n/2))^p*(a + b*x^(n/2))^p*(a^2*d*(1 + p)/(b^2*(1 + (-1 - 2*n - n*p)/n)) + d*x^n)^((-1 - 2*n - n*p)/n)".ToEntity().Integrate("x")` | `integral(...)` | 247 characters |
3027+
| `"(a^2 - b^2*x^n)^p*(-a^2*d*n*(1 + p)/(b^2*(1 + n + n*p)) + d*x^n)^((-1 - 2*n - n*p)/n)".ToEntity().Integrate("x")` | `integral(...)` | 200 characters |
3028+
29943029
### The derivative of a power of `x` over a binomial is integrated as an arctangent over one plus a multiple of its square
29953030

29963031
**Answers where there were none.** `(k - 4 f x^3)/(k^2 + 4 d f x^2 + 4 k f x^3 + 4 f^2 x^6)` is
@@ -3514,6 +3549,23 @@ improper fraction is declined before the first division rather than after the la
35143549
| `"(1 - b*x^2)^3/(c*(1 - b*x^2) + a*d*x^2)^3".ToEntity().Integrate("x")` | no answer within a minute | the antiderivative |
35153550
| `"(a + b*x)^(5/2)/(c + d*x)^4".ToEntity().Integrate("x")` | `integral(...)` | the antiderivative |
35163551

3552+
### A root over the root of a quadratic, or over two roots of linears with one slope, is integrated in the variable that rationalises them
3553+
3554+
**Answers where there were none.** `sqrt(1 - x^2 + x sqrt(x^2 - 1))` and `sqrt(-x + sqrt(x) sqrt(1 + x))/sqrt(1 + x)`,
3555+
Rubi's 1.3.2, were declined, and Rubi gives no answer for either. Euler's substitution `t = x + sqrt(x^2 - 1)` makes
3556+
the root inside rational and the radicand outside the rational function `(t^2 - 1)/(2 t^2)`; for two roots of linears
3557+
with one slope `v = sqrt(x) + sqrt(1 + x)` does the same, and the integrand in the new variable is answered. The
3558+
answer is checked where the integrand is real: for the first that is `x >= 1`, and where `x <= -1`, where the
3559+
integrand is imaginary, its derivative is the integrand's negative
3560+
([#233](https://github.com/asc-community/AngouriMath/issues/233)).
3561+
3562+
| Input | Was (2.5.0) | Now |
3563+
|---|---|---|
3564+
| `"sqrt(1 - x^2 + x*sqrt(x^2 - 1))".ToEntity().Integrate("x")` | `integral(...)` | 199 characters |
3565+
| `"sqrt(-x + sqrt(x)*sqrt(1 + x))/sqrt(1 + x)".ToEntity().Integrate("x")` | `integral(...)` | 197 characters |
3566+
| `"sqrt(1 + x^2 + x*sqrt(1 + x^2))".ToEntity().Integrate("x")` | `integral(...)` | 230 characters |
3567+
| `"sqrt(x^2 + x*sqrt(x^2 - 1))".ToEntity().Integrate("x")` | `integral(...)` | 228 characters |
3568+
35173569
### Four nested roots with a closed form are integrated
35183570

35193571
**Answers where there were none.** Rubi's 1.3.3 gives four nested roots a closed form, and they were

0 commit comments

Comments
 (0)