On Fri, Aug 9, 2013 at 10:53 AM, Ondřej Čertík <ondrej.cer...@gmail.com>wrote:

> On Fri, Aug 9, 2013 at 9:47 AM, Matthew Rocklin <mrock...@gmail.com>
> wrote:
> > Our code printers support only a narrow set of SymPy.  More advanced
> > mathematical operations like `Gamma` go completely unsupported and even
> give
> > wrong results.
> >
> > This is easy to fix.  Find a SymPy operator, figure out how to print it
> in
> > C, and make a commit.  Here is an example with the Gamma function
> >
> >
> https://github.com/mrocklin/sympy/commit/1559ceaf9e91ef798db4b54a7eae3fb3ec3e7eaa
>
> A test is missing. ;) Is there an example how to test this? At the
> very least I guess we should
> just try to generate the code, to make sure the Python code runs.
>

I've been testing with Theano and the
SymPyCCode<https://github.com/Theano/Theano/pull/1486>op.  I'd prefer
not to have to think about compilation while testing if
possible.


> >
> > If anyone wants to slack off for a few minutes and make a little
> > contribution this one is perfect.
> >
> > What are the SymPy functions that should be supported?  How does one
> compute
> > them in C?
> >
> > Beta, fact, bessel functions, ....  What others?  This isn't my
> specialty.
>
> Fortran has some of these builtin, and for the rest or in C you have
> to use libraries. Since very library might have a different syntax /
> argument order, I am not sure how to handle those. We can maybe
> provide a dictionary to the user so that he can specify his preferred
> names for special functions?
>

What about expanding special functions in terms of less special functions?
 I remember at SciPy Travis showed how he wrote some of the special
functions in numba and compared it to his old work writing them in scipy.
 What would the SymPy solution look like for this?  Can we expand and then
generate our own code?


> 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+unsubscr...@googlegroups.com.
> > To post to this group, send email to sympy@googlegroups.com.
> > Visit this group at http://groups.google.com/group/sympy.
> > For more options, visit https://groups.google.com/groups/opt_out.
> >
> >
>
> --
> 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+unsubscr...@googlegroups.com.
> To post to this group, send email to sympy@googlegroups.com.
> Visit this group at http://groups.google.com/group/sympy.
> For more options, visit https://groups.google.com/groups/opt_out.
>
>
>

-- 
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+unsubscr...@googlegroups.com.
To post to this group, send email to sympy@googlegroups.com.
Visit this group at http://groups.google.com/group/sympy.
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to