Repository navigation
A limit on a logarithm's cut is not read off the principal value - #2294
Merged
Rafael-SOWNet merged 1 commit intoOct 31, 2026
Merged
Rafael-SOWNet merged 1 commit into
Rafael-SOWNet merged 1 commit into
Conversation
limitright(ln(x^x), x, -1) was ln(-1), which is i pi, where it is -i pi: x^x comes to -1 from below as x comes down to -1, and the principal logarithm is continuous on its cut from above only. The value on the cut is the limit along the real line and from above, so it was given as the limit from either side. ArrivesOnTheCutOffTheRealLine asks whether a logarithm's argument, or the base of a power to an exponent that is not whole, tends to a negative real and is not known to be real on the approach; a power's base and a logarithm's argument count as positive where their values at the destination are. Which side such an argument comes from is not decided, so a limit there is declined: by substitution, by the logarithm's and the power's descent, by SolveAsLogarithm, by the quotient of logarithms, and by Gruntz, whose series took the principal logarithm of a negative coefficient. A limit from above, whose answer was right, is declined too. LimitOnABranchCutTest takes eight limits from below the cut, three two-sided ones that do not exist, and nine along the real line, which are answered as before; eleven fail on master. The suite, the trio, F#, AOT and the eight harnesses pass. Composed with #2268, #2275 and #2276, work/limitcheck finds none of the 56 limits it found answered with another value on master, of 600 expressions. Part of #2266. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## master #2294 +/- ##
==========================================
- Coverage 86.71% 86.70% -0.02%
==========================================
Files 310 310
Lines 67873 67918 +45
Branches 19703 19724 +21
==========================================
+ Hits 58858 58889 +31
- Misses 4891 4901 +10
- Partials 4124 4128 +4
Flags with carried forward coverage won't be shown. Click here to find out more.
🚀 New features to boost your workflow:
|
Rafael-SOWNet
deleted the
a-limit-on-a-branch-cut-is-not-read-off-the-principal-value
branch
October 31, 2026 05:17
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
limitright(ln(x^x), x, -1)wasln(-1), which isi pi, where the limit is-i pi. Asxcomes down to -1,x^xcomes to -1 from below the cut, and the principal logarithm is continuous on its cut from above only. Its value there is the limit along the real line and from above, and it was given as the limit from either side.ArrivesOnTheCutOffTheRealLineasks whether a logarithm's argument, or the base of a power to an exponent that is not whole, tends to a negative real without being known to arrive there along the real line. A power's base and a logarithm's argument count as positive where their values at the destination are positive. This PR does not decide which side such an argument comes from, so a limit there is declined, wherever it was read: in substitution, the logarithm's and the power's descent,SolveAsLogarithm, the quotient of logarithms, and Gruntz, whose series took the principal logarithm of a negative coefficient.limitright(ln(x^x), x, -1)ln(-1), which isi pi-i pilimit(ln(x^x), x, -1)ln(-1)limitleft(ln(-1 + i*x), x, 0)ln(-1)-i pilimitright(sqrt(x^x), x, -1)i-ilimitleft(ln(x^x), x, -1)ln(-1), which is rightTwo costs:
(-1 + i x)^(1/3)it would not help, because this library's value of a cube root on the negative axis is the real root, not the principal one.Simplify.limitright(ln(x^x) / x, x, -1)takes 6.9 s, where master answered it wrongly in 44 ms.InnerSimplifieddeclines in 0.4 s, and the rest isSimplifyasking every candidate form again.LimitOnABranchCutTest: 11 of its cases fail on master, and the 9 along the real line pass on both. The suite (18,366), the trio, F#, AOT and the eight harnesses pass locally on the rebased branch. Composed with #2268, #2275 and #2276,work/limitcheckno longer finds any of the 56 limits that master answered with a different value, out of 600 expressions.#2278 removed the stack overflow this change first ran into.
Part of #2266.
🤖 Generated with Claude Code