Skip to content

Momo branch - #12

Merged
WhiteBlackGoose merged 3 commits into
masterfrom
MomoBranch
Jan 25, 2020
Merged

WhiteBlackGoose merged 3 commits into
masterfrom
MomoBranch

Conversation

@WhiteBlackGoose

Copy link
Copy Markdown
Member

Working on tree division

@WhiteBlackGoose
WhiteBlackGoose merged commit 3366e97 into master Jan 25, 2020
@MomoDeve
MomoDeve deleted the MomoBranch branch May 27, 2020 12:15
Rafael-SOWNet added a commit that referenced this pull request Sep 30, 2026
…r across the bar (#1638)

None of the nine special functions was a candidate for the substitution u = g(x), so an integrand
that is a power of one beside its derivative had no route: e^(c - b^2 x^2) erf(b x)^n,
Ei(b x) e^(b x)/x and Si(b x) sin(b x)/x were left unevaluated. Each is a candidate now, as the
logarithm is, and its elementary derivative is the differential: e^(c - b^2 x^2) erf(b x) is
sqrt(pi) e^c/(2b) u du under u = erf(b x).

A constant in the exponent still stopped it: divided by du/dx, e^(c - b^2 x^2) over the
e^(-(b x)^2) of the derivative is e^c, and the quotient is simplified only a level, so the x in it
was left and the candidate refused, where e^(-b^2 x^2) erf(b x) was answered. The divisor's factors
are spread to the power -1 now, the powers of one base gathered, and the result simplified a level,
which is where e^(c - (b x)^2 + (b x)^2) becomes e^c.

Both only where they can answer. A special function is offered only where its derivative can be
the differential: an exponential of a quadratic for the error functions, a logarithm below the bar
for li, and something in x below the bar for the others, whose derivatives divide by their
argument. Offered beside anything, x cosh(a + b x) Shi(a + b x) went from a second to ten,
simplifying quotients of exponentials that were never going to lose their x. And the powers are
gathered only for a special-function candidate: done for every candidate that left an x, the
exponentials of 1/((c + d x)^3 (a + a tanh(e + f x))) were gathered and simplified for each one,
and seven declines of a third of a second became timeouts. The nine are listed once, in
IsASpecialFunction, where the solver listed them three times.

Rubi's family 8, #1501's tranche of 420: 258 -> 296 solved, 0 wrong, against master at ad05a79.

Nothing without a special function moves. The independent suites are 1753 of 1814 on both; families
1 to 7 at five problems a file are 809 and 811 of 912 run side by side, and the two that moved,
3.2.1 #12 and 6.7.1 #180, are answered alone by both, in 18 and 22 s: master's timeouts there were
the load. 0 wrong everywhere.

The unit tests pass on master with #1637, 14,230, and the performance gate passes on fd1a4416,
which is this change on ad05a79: allocation is what the baseline says on all 19 gated benchmarks.

SpecialFunctionSubstitutionTest has nine rows from Rubi's 8.1, 8.3 and 8.4, each differentiated
back with its parameters pinned.

Part of #1501.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
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.

2 participants