On Mon, Oct 20, 2014 at 1:11 PM, Marek Kaluba <[email protected]> wrote: > Well I tried auto_int_to_Integer=True, with no effect:
This is a known issue https://github.com/sympy/sympy/issues/2839. I recommend just using S(1)/3. This will work even if you write a Python script with your code (int_to_Integer is only for interactive use). If you do want the interactive use, you'll need to use isympy -i for now. And by the way, if you want integer division, I recommend always using //, like 1//3. This will work even in Python 3 or Python 2 with from __future__ import division. Aaron Meurer > > from sympy import init_session > > init_session(auto_int_to_Integer=True) > IPython console for SymPy 0.7.4.1 (Python 2.7.7-64-bit) (ground types: gmpy) > > These commands were executed: >>>> from __future__ import division >>>> from sympy import * >>>> x, y, z, t = symbols('x y z t') >>>> k, m, n = symbols('k m n', integer=True) >>>> f, g, h = symbols('f g h', cls=Function) > > Documentation can be found at http://www.sympy.org > WARNING: Hook shutdown_hook is deprecated. Use the atexit module instead. > > type(1/3) > Out[3]: float > > pprint(1/3) > 0.333333333333 > > > > On Monday, 20 October 2014 19:18:40 UTC+2, Marek Kaluba wrote: >> >> Hi all, >> >> recently I started using sympy (and immediately fall for it), so this mail >> may be simply my lack of understanding how sympy internally works. >> However I found a _strange_ (to me) issue with numerical evaluation: >> >> (ipython console) >> from sympy import * >> N(1/3) >> 0 //integer division, ok >> N(Rational(1)/Rational(3),20) >> 0.33333333333333333333 //numerical approximation of 1/3, ok >> >> init_session() //for nice latex printing and default variables -- I guess >> this is what init_session() does?? >> [...] //standard output >> >> pprint(N(1/3)) >> 0.333333333333333 // why not 0? >> >> pprint(N(1/3,100)) >> >> 0.3333333333333333148296162562473909929394721984863281250000000000000000000000 >> 000000000000000000000000 >> // what is happening here?? >> >> I'd be grateful if anyone can explain this to me... >> >> Cheers, >> Mark > > -- > You received this message because you are subscribed to the Google Groups > "sympy" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > To post to this group, send email to [email protected]. > Visit this group at http://groups.google.com/group/sympy. > To view this discussion on the web visit > https://groups.google.com/d/msgid/sympy/203eb3ef-b8dd-49f8-8a94-4d1b3418d23d%40googlegroups.com. > > For more options, visit https://groups.google.com/d/optout. -- You received this message because you are subscribed to the Google Groups "sympy" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at http://groups.google.com/group/sympy. To view this discussion on the web visit https://groups.google.com/d/msgid/sympy/CAKgW%3D6Lh81OivoLkgJognZwvFufkc9Ee9HxBBU1APtHjz%3DdgLQ%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.
