Skip to content

Name a logarithm of nested powers of one linear as a multiple of the linear's logarithm - #2052

Merged
Rafael-SOWNet merged 1 commit into
masterfrom
name-a-logarithm-of-nested-powers-of-a-linear
Oct 22, 2026
Merged

Rafael-SOWNet merged 1 commit into
masterfrom
name-a-logarithm-of-nested-powers-of-a-linear

Conversation

@Rafael-SOWNet

Copy link
Copy Markdown
Member

Part of #233.

  • A logarithm of nested powers of one linear, named as a multiple of the linear's logarithm. Rubi's 3.3 (g + h x)^2 (a + b ln(c (d (e + f x)^p)^q))^3 was declined after eleven seconds and twelve gigabytes. With ln(c (e + f x)^n) for the logarithm, the same integrand is answered in a quarter of a second.
  • The change. The logarithm's derivative is p q f/(e + f x) by the chain rule on any branch, read off the nested powers as written. So it is p q ln(e + f x) + K, with K constant wherever it is continuous. That is the generic case, as SolveByNamingALogarithmLinearInTheVariable writes it. SolveByNamingALogarithmOfNestedPowersOfALinear names it so, and the integrand becomes a polynomial times a power of ln(e + f x). In the answer, the sum the name stands for is written back as the logarithm, so it reads (a + b ln(c (d (e + f x)^p)^q))^3 ... and not p q ln(e + f x) + (ln(...) - p q ln(e + f x)). It applies only to a nested power, which the rules for ln(c L^n) do not read.
Input (k for Rubi's e) master ef4150e this branch
3.3:620 (g + h x)^2 (a + b ln(c (d (k + f x)^p)^q))^3 declined, 11.5 s, 12.3 GB 1,660 characters, 1.2 s, 0.3 GB
(g + h x)^2 (a + b ln(c (d (k + f x)^p)^q))^2 2,048 characters 1,051 characters
(g + h x) (a + b ln(c (d (k + f x)^p)^q))^3 2,569 characters 702 characters
(g + h x)^2 (a + b ln(c (d (k + f x)^p)^q)) 527 characters 631 characters

Chain against master ef4150e:

  • The pocket of 1,382 rows, all of family 3 and every row with a nested power in a logarithm, went from 1,381 to 1,382 solved.
  • Every family's sample is unchanged.
  • The one row that moved is 3.3:620, run alone: declined on master, solved here.
  • 6,986 rows were compared for allocation, and none grew past 1.3x and 300 MB.

The library builds for netstandard2.0, net8.0 and net10.0. The suite is left to CI. The BREAKING-CHANGES lengths were measured on the branch, and the 2.5.0 column on a v2.5.0 build. Rebased onto de11aaf.

🤖 Generated with Claude Code

https://claude.ai/code/session_012sonx8iAspMiwRwokT1Ura

@Rafael-SOWNet

Copy link
Copy Markdown
Member Author

Rebased onto 7d1081e (#2048). There was one conflict in IndefiniteIntegralSolver.cs, where #2048's rule went in at the same place. Both rules are kept, #2048's first. The library builds for netstandard2.0, net8.0 and net10.0, and both rules' tests pass together, 7 of 7.

@Rafael-SOWNet
Rafael-SOWNet force-pushed the name-a-logarithm-of-nested-powers-of-a-linear branch from 2b5d8f4 to 8f6f7c9 Compare October 22, 2026 04:27
…linear's logarithm

Rubi's 3.3 (g + h x)^2 (a + b ln(c (d (e + f x)^p)^q))^3 was declined
after eleven seconds and twelve gigabytes, where with ln(c (e + f x)^n) for
the logarithm it is answered in a quarter of a second. The logarithm's
derivative is p q f/(e + f x) by the chain rule on any branch, read off the
nested powers as written, so it is p q ln(e + f x) + K with K constant
wherever it is continuous, the generic case as
SolveByNamingALogarithmLinearInTheVariable writes it. Named so, the integrand
is a polynomial times a power of ln(e + f x), and the sum the name stands
for is written back as the logarithm in the answer. Only a nested power,
which the rules for ln(c L^n) do not read.

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 force-pushed the name-a-logarithm-of-nested-powers-of-a-linear branch from 8f6f7c9 to 9e6df06 Compare October 22, 2026 05:49
@Rafael-SOWNet

Copy link
Copy Markdown
Member Author

Rebased onto 1566841 (#2054). The same conflict came back in IndefiniteIntegralSolver.cs, where #2054's rule went in at the same place. All three rules are kept. The library builds for every target, and the three rules' tests pass together, 8 of 8.

@Rafael-SOWNet
Rafael-SOWNet merged commit 07f3e15 into master Oct 22, 2026
34 checks passed
@github-project-automation github-project-automation Bot moved this from Todo to Done in AngouriMath Oct 22, 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