Comment #52 on issue 2084 by [email protected]: limit(1+1/x, x, 0,
dir='-') fails
http://code.google.com/p/sympy/issues/detail?id=2084
Some issues mentioned by Ronan still remain:
In [1]: limit((-x)**(-1/S(2)),x,0,dir="-")
Out[1]:
-ⅈ
──
0
In [2]: gruntz((-x)**(-1/S(2)),x,0,dir="-")
Out[2]: ∞
Gruntz() is actually correct.
There are also some others:
In [3]: limit((-x)**(-1/S(2)),x,0,dir="+")
Out[3]: ∞
In [4]: gruntz((-x)**(-1/S(2)),x,0,dir="+")
Out[4]:
-ⅈ
──
0
I would rewrite code as following:
if e.is_Pow:
b, ex = e.args
if b.is_Mul:
c, b = b.as_two_terms()
c = sign(c)
else:
c = S.One
if c == S.NegativeOne:
if dir == "+":
dir = "-"
else:
dir = "+"
if b == z and ex.is_number:
if z0 == 0 and ex < 0:
if dir == '-':
# integer
if ex.is_even:
return S.Infinity
elif ex.is_odd:
return S.NegativeInfinity
# rational
elif ex.is_Rational:
return (S.NegativeOne**ex)*S.Infinity
else:
return S.ComplexInfinity
return S.Infinity
return z0**ex
and change tests accordingly.
--
You received this message because you are subscribed to the Google Groups
"sympy-issues" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/sympy-issues?hl=en.