On Wed, Apr 23, 2014 at 4:27 PM, Aaron Meurer <[email protected]> wrote: > Well that would only affect what you do in your own workspace. Much > better would be if sympy transparently imported and used csympy > wherever relevant when it was available, so that sympy.Symbol would be > csympy.Symbol, and so on. Then everywhere in sympy would use csympy.
That's a good idea. There is of course the issue with assumptions, attached to the Symbols... > > But this requires full interoperability between sympy and csympy > (which is one of the things I have not seen yet). I think the next > task for csympy should be: > > - Patch sympy/core/symbol.py to use csympy.Symbol (so that from > sympy.core.symbol import Symbol gives csympy.Symbol) > - Run the tests > - Fix whatever fails > - Repeat with further csympy objects > > And always do this with every csympy object that is written. We > perhaps need a more unified way to automatically replace anything in > sympy with csympy (especially since Ondrej still hasn't provided a > clear separation between what will and will not be in csympy, at least > in my mind). > > Then we can stop making these artificial benchmarks and performance > speculations, and just see what really is slow, and what really speeds > things up, and, just as importantly, what doesn't speed things up > enough to warrant the complexity cost. > > I would focus on this rather than PyDy specifically. It may be > possible to use csympy in PyDy without doing this, but it will be a > wasted effort if you eventually do this and then the PyDy specific > implementation can be scrapped. The goal of using CSymPy in PyDy is precisely to do this switch (single line of code) in PyDy only, not the core of SymPy. Because that's a lot simpler (no need to worry about assumptions) and tons of tests. And doing a real application where speed matters. After that, do this in sympy.core --- that requires tackling assumptions and maybe few other things. Ondrej > > Aaron Meurer > > On Wed, Apr 23, 2014 at 5:19 PM, Matthew Rocklin <[email protected]> wrote: >> Perhaps a good target workflow would be something like the following >> >> from sympy import * >> from csympy import * >> >> ... do work as usual ... >> >> In other words it would be nice for csympy to take over from sympy where it >> has functionality, but for sympy-proper to fill in all of the holes. >> Ondrej, is this on your roadmap at all? >> >> It gets weird of course when you have something like Expr(...) + CExpr(...) >> >> -- >> 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/CAJ8oX-Fh%3DFR5LM2Uehn%2BWTdFs%3D8QBys%2B2BoPXUdZKgdWeHaqbA%40mail.gmail.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%3D6Kn9fKNFN7uNya_pLaj0%2Bqy0d%3DisZ8_6SKdp8sGwwBMKQ%40mail.gmail.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/CADDwiVC6p_oH8L01RaXcruP25%3DscPSr5-t%2B3uE_2p7uKK3tF7Q%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.
