I have some high level questions about CSymPy.

- What are the goals of the project?

- What are the things that should definitely go in CSymPy?

- What are the things that should definitely not go in CSymPy?

- How will CSymPy be architectured to allow things to happen in CSymPy
when they can but fallback to SymPy when they cannot.

My main concern here is that CSymPy has not clear separation from
SymPy, and as a result it will end up growing larger and larger, until
it becomes an independent CAS (which is fine if that's the goal, but
my understanding was that it was supposed to be just a small fast
core).

In particular, if there is some feature of SymPy functions, how will
CSymPy be architectured so that it can take advantage of it without
having to completely reimplement that function in C++?

For instance, a current goal of CSymPy is to implement trig functions.
But this can be quite complicated if you consider all the different
things you can do with trig functions. Without even thinking about
trig simplification, there are complicated evaluation issues (e.g.,
consider sin(pi/7).rewrite(sqrt) in SymPy). It would be a shame to
reimplement all this logic twice, especially it is not needed for
performance.

Finally, I noticed that the CSymPy Python API doesn't adhere to SymPy
standards, e.g., it doesn't use .args. I think a first step in this
direction would be to make all CSymPy objects completely compatible
with SymPy. Probably a good idea would be to mixin Basic to all CSymPy
classes (is this possible?).

Aaron Meurer

-- 
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.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/sympy/CAKgW%3D6JHyDNqq-aAvQ4Nf2RcicvFfbKkbjJv3RkYS7X1WMRqgQ%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to