Skip to content

The inverse trigonometric substitution takes a linear argument, a multiple of its quadratic and a power of a + b arcsin(c x); an exponential of i times an inverse function is algebraic; the resonant exponential times a sine is by Euler; a zero discriminant is seen through its spellings - #1380

Merged
Rafael-SOWNet merged 1 commit into
masterfrom
inverse-trig-linear-argument
Sep 17, 2026

Conversation

@Rafael-SOWNet

Copy link
Copy Markdown
Member

Rubi's inverse trigonometric families (family 5): 126 → 174 of the 257-problem sample, 0 wrong, 0 error. The independent suites: 1707/1774, 0 wrong, 0 timeouts. Cut from master; independent of #1377 and #1379 (no shared hunks: merge-tree is clean against both).

What it does

The inverse trigonometric substitution takes a linear argument, a multiple of its quadratic, and a power of a + b arcsin(c x). x = sin(u) took only arcsin(x) itself, and Rubi's family is (a + b arcsin(c x))^n beside powers of x and of d − c^2 d x^2. With c x + d: x = (sin(u) − d)/c, dx = cos(u) du/c; a fractional power of a constant multiple k of 1 − (c x + d)^2 is k to that power times the cosine to it (the generic case); a whole power of the quadratic from the second up counts too — parts in x on x (d − c^2 d x^2)^3 (a + b arcsin(c x)) left a seventh-degree polynomial over the root and went past its budget; and a power of a + b arcsin(c x) counts as a power of the inverse — parts in x stalled on x arcsin(a x)^2 at x^2 arcsin(a x)/sqrt(1 − a^2 x^2), where under the sine it is u^2 sin(u) cos(u)/a^2, parts twice against sin(2u). The sign the cotangent and cosecant carry into their root is folded before the question is asked in u.

An exponential of i times an inverse function is algebraic. e^(i arctan(L)) = (1 + i L)/sqrt(1 + L^2), e^(i arcsin(L)) = sqrt(1 − L^2) + i L, e^(i arccos(L)) = L + i sqrt(1 − L^2) (principal branch, real L), and e^(n i f(L)) is that to the nth for rational n. Rubi's e^(i arctan(a x))/sqrt(c + a^2 c x^2) is then (1 + i a x)/(sqrt(c) (1 + a^2 x^2)), a rational function, where under x = tan(u)/a it was e^(i u) sec(u), which nothing in u reads. These integrands are complex-valued, so the harness reports their answers unverifiable on the reals rather than solved — the library checks each at sampled points before giving it.

Two defects that route exposed, both fixed:

  • The closed form for P(x) e^(a x) cos(b x) divides by a^2 + b^2, zero for a = i b: the table's four arms and the rule answered NaN for e^(−i arctan(a x))/(c + a^2 c x^2)^(3/2) (which is e^(−i u) cos(u) under the tangent). By Euler, c cos(b x) + d sin(b x) = (c − i d) e^(i b x)/2 + (c + i d) e^(−i b x)/2, and each term beside the polynomial and e^(a x) is a polynomial times one exponential — closed on their own. e^(i x) cos(x) is x/2 + e^(2 i x)/(4 i) now.
  • The table's k/(a x^2 + b x + c)^n on a symbolic quadratic is a piecewise on the sign of the discriminant, whose zero was not seen when written in two spellings of one term (4 a^2 b^(−2) against 4 (1/b)^2 a^2, for (x + (1 + i a)/(i b))^2); two of the three arms divide by it, and Simplify made NaN of the whole for x e^(−2 i arctan(a + b x)). A discriminant that is zero once simplified is the perfect square, in both the first-power and the reduction arm.

Measured

Family 5, 15 problems a file, 5 s budget, master 2b4a5256 against this branch, same harness:

Source Run master branch
5.1.2 (d x)^m (a+b arcsin(c x))^n 15 8 15
5.1.4 (f x)^m (d+e x^2)^p (a+b arcsin(c x))^n 15 1 9
5.1.5 Inverse sine functions 15 6 12
5.2.2 (d x)^m (a+b arccos(c x))^n 15 8 15
5.2.4 (f x)^m (d+e x^2)^p (a+b arccos(c x))^n 13 8 9
5.2.5 Inverse cosine functions 15 7 10
5.3.2 (d x)^m (a+b arctan(c x^n))^p 15 11 11
5.3.3 (d+e x)^m (a+b arctan(c x^n))^p 13 11 11
5.3.4 u (a+b arctan(c x))^p 15 6 10
5.3.5 u (a+b arctan(c+d x))^p 15 15 15
5.3.6 Exponentials of inverse tangent 15 0 1
5.3.7 Inverse tangent functions 15 9 9
5.4.1 Inverse cotangent functions 15 14 14
5.4.2 Exponentials of inverse cotangent 6 3 5
5.5.1 u (a+b arcsec(c x))^n 15 1 4
5.5.2 Inverse secant functions 15 8 9
5.6.1 u (a+b arccsc(c x))^n 15 1 4
5.6.2 Inverse cosecant functions 15 9 11
total 257 126 174

48 gained, nothing lost. Left in the family: the secant/cosecant u (a + b arcsec(c x))^n (4/15 — a polynomial beside the arcsecant, where parts leaves x^m/sqrt(1 − 1/(c^2 x^2))), x^m arctan(c x^n)/x^k for n = 2, 3, polynomial × arcsine of high degree (parts in x with a degree-9 polynomial over the root), and the e^(n i arctan) shapes with a complex linear below the bar — 1/((1 + i a x)(1 + a^2 x^2)) is a rational function over Q(i) that the partial fractions decline, a capability of its own.

Four suites green. No gate row is integration.

Part of #718.

🤖 Generated with Claude Code

https://claude.ai/code/session_012sonx8iAspMiwRwokT1Ura

…tiple of its quadratic and a power of a + b arcsin(c x); an exponential of i times an inverse function is algebraic; the resonant exponential times a sine is by Euler; a zero discriminant is seen through its spellings

Rubi's inverse trigonometric families are (a + b arcsin(c x))^n beside
powers of x and of d - c^2 d x^2, and the substitution x = sin(u) took
only arcsin(x) itself: 126 of the 257 problems of the sample. With a
linear argument c x + d, x is (sin(u) - d)/c and dx is cos(u) du/c;
a fractional power of a constant multiple k of 1 - (c x + d)^2 is
k to that power times the cosine to it, the generic case, and a whole
power of the quadratic from the second up counts too, since parts in x
on x (d - c^2 d x^2)^3 (a + b arcsin(c x)) left a seventh-degree
polynomial over the root and went past its budget; and a power of
a + b arcsin(c x) counts as a power of the inverse, since parts in x
stalled on x arcsin(a x)^2 at x^2 arcsin(a x)/sqrt(1 - a^2 x^2) where
under the sine it is u^2 sin(u) cos(u)/a^2, parts twice against
sin(2u). The sign the cotangent and cosecant carry into their root is
folded before the question is asked in u, since e^u sin(u)^4/s^6 is
not the exponential-times-trigonometric rule's and e^u sin(u)^4 is.
The trigonometry of the inverse is written back in the argument.

An exponential of i times an inverse function is algebraic:
e^(i arctan(L)) is (1 + i L)/sqrt(1 + L^2), e^(i arcsin(L)) is
sqrt(1 - L^2) + i L and e^(i arccos(L)) is L + i sqrt(1 - L^2), on the
principal branch for a real L, and e^(n i f(L)) is that to the nth for
a rational n; the tangent's is written as the two powers
(1 + i L)^n (1 + L^2)^(-n/2), and a root of a constant multiple of the
quadratic elsewhere in the integrand is the multiple's power times the
same power, so that Rubi's e^(i arctan(a x))/sqrt(c + a^2 c x^2) is
(1 + i a x)/(sqrt(c) (1 + a^2 x^2)), a rational function, where under
x = tan(u)/a it was e^(i u) sec(u), which nothing in u reads. Answered
as a question of its own, checked at sampled points where a symbol is
involved, and not given where a piecewise in it simplifies to NaN.

Two defects that route exposed. The closed form for a polynomial
times e^(a x) times a sine or cosine of b x divides by a^2 + b^2,
which is zero for a = i b: the table's arms and the rule answered
NaN for e^(-i arctan(a x))/(c + a^2 c x^2)^(3/2) under x = tan(u)/a,
which is e^(-i u) cos(u); by Euler c cos(b x) + d sin(b x) is
(c - i d) e^(i b x)/2 + (c + i d) e^(-i b x)/2, and each term beside
the polynomial and e^(a x) is a polynomial times one exponential, one
of them a polynomial alone -- closed on their own. And the table's
answer for k/(a x^2 + b x + c)^n on a symbolic quadratic is a
piecewise on the sign of the discriminant, whose zero was not seen
when it was written in two spellings of one term, 4 a^2 b^(-2)
against 4 (1/b)^2 a^2 for (x + (1 + i a)/(i b))^2; two of the three
arms divide by it, and Simplify made NaN of the whole for
x e^(-2 i arctan(a + b x)). A discriminant that is zero once
simplified is the perfect square.

Inverse trigonometric sample (family 5, 15 a file): 126 -> 174 of
257, 0 wrong, 0 error. The independent suites: 1707/1774, 0 wrong, 0
timeouts.

Four suites green.

Part of #718.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012sonx8iAspMiwRwokT1Ura
@Rafael-SOWNet
Rafael-SOWNet merged commit 53ecfbd into master Sep 17, 2026
31 checks passed
@Rafael-SOWNet
Rafael-SOWNet deleted the inverse-trig-linear-argument branch September 17, 2026 11:39
Rafael-SOWNet added a commit that referenced this pull request Oct 9, 2026
… 2.5.0

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012sonx8iAspMiwRwokT1Ura
Rafael-SOWNet added a commit that referenced this pull request Oct 9, 2026
* Breaking-changes entries for #1828 to #1832 and #1374

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012sonx8iAspMiwRwokT1Ura

* And for #1368, #1611 and #1517, each measured on 2.5.0

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012sonx8iAspMiwRwokT1Ura

* And for #1289, #1312, #1315, #1377, #1380 and #1371, each measured on 2.5.0

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012sonx8iAspMiwRwokT1Ura

---------

Co-authored-by: Claude Opus 5.5 (1M context) <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.

1 participant