You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
A limit of an expression built on floor or sgn is answered by substitution at the jump #2266
A limit of an expression built on floor or sgn is answered by substituting the destination, at the jump too, so a one-sided limit, and the two-sided one that does not exist, get the value at the point. A bare floor(x) or sgn(x) is declined, as it should be, but anything built on it is not. 2.6.0 and master:
answered
is
limitleft(floor(x) - 1, x, 0)
-1
-2
limit(floor(x) - 1, x, 0)
-1
none: -2 from the left, -1 from the right
limitleft(floor(x)^2, x, 0)
0
1
limitleft(arcsin(floor(x)), x, 0)
0
-pi/2
limitleft(-sgn(x), x, 0)
0
1
limitright(-sgn(x), x, 0)
0
-1
limit(floor(x) + x, x, 1)
2
none: 1 from the left, 2 from the right
The same substitution answers at a branch cut. limitright(ln(x^x), x, -1) is ln(-1), which is i pi, but x^x approaches -1 from below the cut there, so the limit is -i pi.
Found by a new workspace harness, work/limitcheck, which compares a limit with the values approaching it. Over 600 random expressions, 54 limits are of this kind.
Activity
A limit at the jump of a step function is not answered by substitution (
A step function at a jump takes the side its argument arrives from (#…
A limit on a logarithm's cut is not read off the principal value (#2294)
Rafael-SOWNet commentedon Oct 31, 2026
Done in three PRs, now on master (2c9dceb):
limitleft(floor(x) - 1, x, 0)-2limit(floor(x) - 1, x, 0)NaNlimitleft(floor(x)^2, x, 0)1limitleft(arcsin(floor(x)), x, 0)-pi/2limitleft(-sgn(x), x, 0)1limitright(-sgn(x), x, 0)-1limit(floor(x) + x, x, 1)NaNlimitright(ln(x^x), x, -1)One known cost: a limit that arrives on the cut from above is declined too, though its value was right. #2294 says why.
Leave a limit on the arctangent's cut unevaluated (#2334)