plan for the next month

5 views
Skip to first unread message

Ondrej Certik

unread,
Jul 16, 2009, 12:16:10 AM7/16/09
to sympy
Hi,

SymPy was accepted both for the tutorial and a 40 min talk at the
SciPy 2009 conference:

http://conference.scipy.org/schedule
http://conference.scipy.org/abstract?id=3

I'll give the tutorial using sympy that is in all distributions/Sage,
e.g. 0.6.4, or even older, like 0.6.2 in EPD. However, the conference
is a good deadline to get some stuff done.

The absolute number one priority is:

* merge Fabian's assumptions branch and get rid of the old assumptions

if we didn't manage nothing else, we have to manage this, it's very,
very important.

Then the other top priorities are:

* merge the sympyx Python core
* start using Cython in pure python mode (all around sympy)
* merge Luke's trig branch (implements all kinds of simplifications to
all 24 trig and inverse trig functions,
sin/cos/tan/cot/sec/csc/asin/acos/atan/acot/asec/acsc, along with
hyperbolic versions of each, just like Mathematica). I also hope we
could implement some more advanced trig simplifications
* port to Python 3.0

And of course anything else, where you feel the most efficient. For
example Aaron is doing excellent progress with the Constant class and
ODE solvers. Chris just debugged a very nasty arithmetic
simplification bug and fixed it (it's already committed).

assumptions
-----------------

We'll start working on this with Fabian right after we release sympy
0.6.5 (hopefully tomorrow). Me and Fabian will put 100% of our efforts
to make this succeed.

sympyx
-----------

We did some work on that when Aaron visited me in Los Alamos and it
seems it will allow to implement Order, infinity and other things
outside the core, code is here (see also the handler branch):

http://github.com/certik/sympyx

python 3.0
---------------

latest development on the python3.0 front is here:

http://code.google.com/p/sympy/issues/detail?id=1262

There doesn't seem to be any showstoppers now, just dozens of little
things to fix. I believe anyone can finish it from this point on. :)

Cython
-----------

As to Cython, I was just about to say "Cython is still not ready yet"
when I noticed that Robert just fixed the showstopper bug:

http://codespeak.net/pipermail/cython-dev/2009-July/006360.html

I tested and it works! See here for a demo how the pure python mode
works (see the README):

http://github.com/certik/cython-test

Now this is very exciting --- we can now use Cython to speed up
critical parts of sympy and mpmath, and still remain pure Python. I
plan to setup additional buildbots, that take sympy, runs cython on it
and execute all tests. E.g. the same sympy tests will test both pure
Python sympy, and cythonized sympy.

Stuff like factorization of integers and similar things can be sped up
very easily a lot. The ultimate goal of course is to cythonize the
core classes, because they become C structs and its virtually as fast
as ginac, if done with care. The sympyx has it, but it will take some
time to fully integrate it (it's easy to create a fast simple core,
but way more challenging to add all the special cases, like
assumptions, infinities, Order, ...). But we can (and will) start
using cython here and there now, setup all the infrustructure and
slowly start improving and experimenting with it. And then gradually
improve.

Ondrej

Aaron S. Meurer

unread,
Jul 16, 2009, 12:29:29 AM7/16/09
to sy...@googlegroups.com
Sounds great. Please post the slides (or if it is recorded, post
that) after your presentation. The abstract mentions that you will
talk about how SymPy started, and I am interested in learning about
that.

Otherwise, the favorite of mine from below is the sympyx core, because
I will be unable to implement Constant as a fully automated class that
does automatic simplification until we have handler logic in Add and
Mul. I imagine that it will have to wait until the new assumptions
are in, because they will have to be integrated into whatever core we
have (maybe we could get everything else from the sympyx core working
and skip integrating new assumptions into the current core). Until
then, arbitrary constant simplification will have to just be
implemented as a function.

It looks like the conference is right at the end of the Google Summer
of Code program, so hopefully I will have some ODE stuff at least in
the git repository by that point. I already have several first order
methods, though I plan on refactoring dsolve with a hints engine. As
for higher order equations, I should have at least variation of
parameters working by then as well, and maybe more!

Aaron Meurer

Ondrej Certik

unread,
Jul 16, 2009, 12:43:31 AM7/16/09
to sy...@googlegroups.com
On Wed, Jul 15, 2009 at 10:29 PM, Aaron S. Meurer<asme...@gmail.com> wrote:
>
> Sounds great.  Please post the slides (or if it is recorded, post
> that) after your presentation.  The abstract mentions that you will
> talk about how SymPy started, and I am interested in learning about
> that.

I have some stuff in some older presentations:

http://code.google.com/p/sympy/wiki/SymPyPresentations

but I will make sure there is someone with a video camera and records
it. And upload to youtube.

>
> Otherwise, the favorite of mine from below is the sympyx core, because
> I will be unable to implement Constant as a fully automated class that
> does automatic simplification until we have handler logic in Add and
> Mul.  I imagine that it will have to wait until the new assumptions
> are in, because they will have to be integrated into whatever core we
> have (maybe we could get everything else from the sympyx core working
> and skip integrating new assumptions into the current core).  Until
> then, arbitrary constant simplification will have to just be
> implemented as a function.

That's good enough to get started and we can later add it as a class
that will do that automatically.

>
> It looks like the conference is right at the end of the Google Summer
> of Code program, so hopefully I will have some ODE stuff at least in
> the git repository by that point.  I already have several first order
> methods, though I plan on refactoring dsolve with a hints engine.  As
> for higher order equations, I should have at least variation of
> parameters working by then as well, and maybe more!

That looks like a very good plan. Looking forward to it. We should
also meet once again at the end of the summer, when Luke comes to
visit me and work on SymPy together.

Ondrej

william ratcliff

unread,
Jul 16, 2009, 12:48:18 AM7/16/09
to sy...@googlegroups.com
I just wanted to check--will the patches for noncommutative numbers be included in this release?

Thanks,
William

Ondrej Certik

unread,
Jul 16, 2009, 1:07:32 AM7/16/09
to sy...@googlegroups.com
On Wed, Jul 15, 2009 at 10:48 PM, william
ratcliff<william....@gmail.com> wrote:
> I just wanted to check--will the patches for noncommutative numbers be
> included in this release?

If you mean this:

http://code.google.com/p/sympy/issues/detail?id=1358

it didn't, as the patches are not ready yet. Fabian helped with that,
but more work is needed, as I understood some tests are still failing.
I'll try to look into it, what can be done in the coming days.

Ondrej

william ratcliff

unread,
Jul 16, 2009, 1:34:03 AM7/16/09
to sy...@googlegroups.com
Thanks!

Mateusz Paprocki

unread,
Jul 16, 2009, 2:50:21 AM7/16/09
to sy...@googlegroups.com
Hi,

On Wed, Jul 15, 2009 at 10:16:10PM -0600, Ondrej Certik wrote:
>
> Hi,
>
> SymPy was accepted both for the tutorial and a 40 min talk at the
> SciPy 2009 conference:
>
> http://conference.scipy.org/schedule
> http://conference.scipy.org/abstract?id=3
>

That's great news. This way we will have two large talks about SymPy
this summer: at EuroSciPy next week and then at the SciPy conference.

> I'll give the tutorial using sympy that is in all distributions/Sage,
> e.g. 0.6.4, or even older, like 0.6.2 in EPD. However, the conference
> is a good deadline to get some stuff done.
>

Right, that's a good plan. To the TODO list I would also add yet another
polynomials module I was working on last few weeks. The idea was to use
integerpolys.py approach and generalize it to other coefficient domains
(than integers) without loss of efficiency or even improving it in Z[X]
case. For long I wasn't sure if this will really work, but now it works
fine and it's very fast and Cython ready to make it even more efficient.
Now I need to write OO layer above all core stuff and in a week or two I
should have a preliminary patch set ready for publication.

Regards,

--
Mateusz

signature.asc

Fabian Pedregosa

unread,
Jul 16, 2009, 6:52:03 AM7/16/09
to sy...@googlegroups.com
william ratcliff wrote:
> I just wanted to check--will the patches for noncommutative numbers be
> included in this release?

No if you are asking for the patches on issue
http://code.google.com/p/sympy/issues/detail?id=1358

By the way, after the release I would like to start a discussion about
the way we implement noncommutative multiplication, since it clashes a
bit with the new assumption system. I'll send a long email explaining my
claims.
--
http://fseoane.net/blog/

Toon Verstraelen

unread,
Jul 16, 2009, 2:02:20 PM7/16/09
to sy...@googlegroups.com
Ondrej Certik wrote:
> The absolute number one priority is:
>
> * merge Fabian's assumptions branch and get rid of the old assumptions
>
> if we didn't manage nothing else, we have to manage this, it's very,
> very important.
>

Although, I'm not so familiar with the internals of the new assumption
system, I'm happy to help testing where possible. I'd like to work
mainly the ccode and fcode printers. With the new assumptions system,
piecewise functions can finished. I'm happy to contribute there.

cheers,

Toon

Ondrej Certik

unread,
Jul 16, 2009, 2:20:29 PM7/16/09
to sy...@googlegroups.com
On Thu, Jul 16, 2009 at 12:02 PM, Toon
Verstraelen<Toon.Ver...@ugent.be> wrote:
>
> Ondrej Certik wrote:
>> The absolute number one priority is:
>>
>> * merge Fabian's assumptions branch and get rid of the old assumptions
>>
>> if we didn't manage nothing else, we have to manage this, it's very,
>> very important.
>>
>
> Although, I'm not so familiar with the internals of the new assumption
> system, I'm happy to help testing where possible. I'd like to work

Many thanks for the offer. Once we have something ready, we'll write
to the list.

> mainly the ccode and fcode printers. With the new assumptions system,
> piecewise functions can finished. I'm happy to contribute there.

Yes, that'd be awesome.

Ondrej

Reply all
Reply to author
Forward
0 new messages