Reliable Sympy

34 views
Skip to first unread message

The Lartians

unread,
May 15, 2015, 7:06:50 PM5/15/15
to sy...@googlegroups.com
Hello,

I'm a physics student from Göttingen and currently working on scientific simulation software in c++. I am currently using sympy in my python wrappers as it allows a convenient way for users to define and view simulation functions (they get compiled on-the-fly and are passed as function pointers to the simulation). However I've run into a few issues on the way. For example, simplify on small imaginary numbers yields 0 (which in my case can have a huge impact on the simulation). Additionally, integrals of piecewise functions often return bad results (if they evaluate at all). These bugs make it impossible for me to use sympy in good conscience with scientific projects.

I was therefore wondering if a "reliable" version of sympy exists, meaning a version where all code known to contain bugs or produce bad results is excluded until fixed. Otherwise I would probably create a branch.


Thanks and regards,

Lars


FYI I was talking about these Issues:

Ondřej Čertík

unread,
May 15, 2015, 8:09:22 PM5/15/15
to sympy
Hi Lars,

On Fri, May 15, 2015 at 4:56 AM, The Lartians <thela...@gmail.com> wrote:
> Hello,
>
> I'm a physics student from Göttingen and currently working on scientific
> simulation software in c++. I am currently using sympy in my python wrappers
> as it allows a convenient way for users to define and view simulation
> functions (they get compiled on-the-fly and are passed as function pointers
> to the simulation). However I've run into a few issues on the way. For
> example, simplify on small imaginary numbers yields 0 (which in my case can
> have a huge impact on the simulation). Additionally, integrals of piecewise
> functions often return bad results (if they evaluate at all). These bugs
> make it impossible for me to use sympy in good conscience with scientific
> projects.
>
> I was therefore wondering if a "reliable" version of sympy exists, meaning a
> version where all code known to contain bugs or produce bad results is
> excluded until fixed. Otherwise I would probably create a branch.

Thanks for reporting the bugs below. The "reliable" version of sympy
exists, and it is the latest git master or a release. We try to make
sure that we never return a wrong result, but rather no result if we
cannot do it.

As you said, if you found a result that is wrong, then indeed that
needs to be fixed as soon as possible. Your bugs are still young, 3
days and 5 days, so I think it's not that bad that we didn't manage to
fix it yet. :) As far as I know, we didn't know about them before.

If you know how to fix them, then please send us a pull request. If
you only fix it in your branch, then nobody else can benefit from your
fixes.

If you find more problems, please report them all, and please do not
hesitate to write to this list with the high priority ones (i.e.
returning wrong results).

Thanks again for letting us know about these problems, and if you know
how to fix any of them, please let us know.

Thanks,
Ondrej
> --
> 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 sympy+un...@googlegroups.com.
> To post to this group, send email to sy...@googlegroups.com.
> 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/757f9348-5c7a-4e54-8144-ccc8ed305991%40googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.

Ondřej Čertík

unread,
May 15, 2015, 9:31:23 PM5/15/15
to sympy
I found what the problem was in
https://github.com/sympy/sympy/issues/9398, and posted a possible
solution:

https://github.com/sympy/sympy/pull/9403

Now we just need to make sure that all tests pass and that it didn't
break anything, but it fixes the problem.

Ondrej
Reply all
Reply to author
Forward
0 new messages