Skip to content

Write a 1^oo limit's exponent as a quotient - #2359

Merged
Rafael-SOWNet merged 1 commit into
masterfrom
a-one-to-the-infinity-limit-is-taken-through-its-exponent
Nov 4, 2026
Merged

Rafael-SOWNet merged 1 commit into
masterfrom
a-one-to-the-infinity-limit-is-taken-through-its-exponent

Conversation

@Rafael-SOWNet

Copy link
Copy Markdown
Member

A follow-up to #2358. No issue was filed.

at 0 2.6.0 and master now
cos(x)^(1/x^2) NaN e ^ (-1/2)
limitright(cos(x)^(1/x^2), x, 0) unevaluated e ^ (-1/2)
(sin(x)/x)^(1/x^2) NaN e ^ (-1/6)
cos(2x)^(1/x^2) NaN e ^ (-2)
(1 + sin(x))^(1/x) NaN e
limitright(cos(x)^(1/x), x, 0) unevaluated 1
(1 + x)^(1/x), (1 - x^2)^(1/x^2) e, 1/e unchanged
x * ln(x), sin(x) * ln(x), x^x two-sided NaN unchanged

The second remarkable limit writes a 1^oo power f^g as e^(g (f - 1)). The descent reads the product in its exponent as 0·∞, NaN, the claim that there is no limit. Only a base of 1 plus a polynomial reached an answer, by another route. The exponent is now the quotient (f - 1) / (1/g), a 0/0 that #2358 asks whole, and it has its value. Both places the rule builds the power are changed.

Why a quotient and not a product. The first version gave a product in the descent the same whole-limit question as #2358's quotients. It answered all of these, and also answered x * ln(x) at 0 two-sided with 0, sin(x) * ln(x) too. Those are pinned NaN, because the two-sided reading keeps a limit whose left side is not real out of the reals (RealCodomainLimitTest, FirstRemarkableOverFactorsTest). The two-sided reading asks one-sided sub-limits, and those had relied on 0·∞ being NaN. Restricting the product retry to one-sided limits did not separate the two, so it was dropped. The quotient changes only the exponent the rule builds.

limitcheck at SEED=14 and 16, and at DEPTH=3 on 19 and 23, matches master exactly; none of those samples is a 1^∞ power. 4194 limit, integration and remarkable-limit tests pass.

Tests: AOneToTheInfinityLimitThroughItsExponentTest, 11 cases. 6 fail on master; the 2 controls and the 3 two-sided conventions pass on both. The full suite, AOT and the nine harnesses pass. There is a BREAKING-CHANGES entry, measured on 2.6.0.

🤖 Generated with Claude Code

The second remarkable limit writes a 1^oo power f^g as e^(g (f - 1)),
and the product in its exponent the descent read as 0 * oo, NaN, the
claim that there is no limit. Only a base of 1 plus a polynomial was
answered, by another route: (cos(x))^(1/x^2) at 0, which is e^(-1/2),
was NaN, and from the right unevaluated. 2.6.0 answers the same.

The exponent is (f - 1) / (1/g) now, a 0/0 that a function of an
indeterminate quotient asks whole since #2358. Asking a product whole
in the descent instead answered these too, and also answered
x * ln(x) at 0 two-sided with 0, which the two-sided reading keeps NaN,
its left side not being real; the quotient keeps that convention.

limitcheck on SEED=14 and 16, and at DEPTH=3 on 19 and 23, is master's
exactly; 4194 limit, integration and remarkable-limit tests pass.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@Rafael-SOWNet Rafael-SOWNet added this to the 2.7.0 milestone Nov 4, 2026
@Rafael-SOWNet Rafael-SOWNet moved this from Todo to In review in AngouriMath Nov 4, 2026
@codecov

codecov Bot commented Nov 4, 2026 •

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 86.77%. Comparing base (553e68d) to head (e2d60d8).

Additional details and impacted files

Impacted file tree graph

@@            Coverage Diff             @@
##           master    #2359      +/-   ##
==========================================
+ Coverage   86.76%   86.77%   +0.01%     
==========================================
  Files         312      312              
  Lines       68807    68809       +2     
  Branches    20045    20045              
==========================================
+ Hits        59697    59712      +15     
+ Misses       4924     4911      -13     
  Partials     4186     4186              
Flag Coverage Δ
cpp 37.77% <ø> (ø)
csharp 87.32% <100.00%> (+0.01%) ⬆️
fsharp 32.97% <ø> (ø)
interactive 40.72% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

Files with missing lines Coverage Δ
...ath/Functions/Continuous/Limits/Transformations.cs 87.86% <100.00%> (+0.04%) ⬆️

... and 6 files with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@Rafael-SOWNet
Rafael-SOWNet merged commit 37f7377 into master Nov 4, 2026
35 checks passed
@github-project-automation github-project-automation Bot moved this from In review to Done in AngouriMath Nov 4, 2026
@Rafael-SOWNet
Rafael-SOWNet deleted the a-one-to-the-infinity-limit-is-taken-through-its-exponent branch November 4, 2026 02:55
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