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
@Rafael-SOWNet
Rafael-SOWNet deleted the name-a-logarithm-of-nested-powers-of-a-linear branch October 29, 2026 00:44
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