sympy vs. maxima (call for sober arguments?)

1,087 views
Skip to first unread message

Bastian Weber

unread,
Jan 12, 2015, 7:07:43 PM1/12/15
to sy...@googlegroups.com
Sorry if this post might be slightly offtopic,

Situation:

A (generalized) colleague is working on a book. Intended audience are
graduate students of electrical engineering. The book treats concepts
like vector fields, differential forms, (linear and nonlinear)
coordinate transforms, null spaces, etc. The author wants to provide
some "illustrations" of the treated concepts by means of short
computer-algebra snippets. Currently he uses maxima.

From my point of view, the combination of IPython notebook and sympy
would be a better choice. So I am collecting arguments, which should be
covered by reliable information, to finally convince him (in the best case).

Status: Until now I only found

[1] https://github.com/sympy/sympy/wiki/SymPy-vs.-Maxima

which seems to be quite neutral, i.e., it does not reflect my personal
experience that the usage of sympy is much more intuitive.


Questions:

1. Are there any documents available, comparing sympy and maxima in
terms of:

a) features ([1] does this on a quite abstract level)
b) development activity
c) community size
d) documentation coverage
e) test coverage
f) subjective "usability experience" (maybe internal consistency, module
compatibility)


2. What would be other arguments for/against Sympy (together with
IPNotebook and Python)?

I started to collect my thoughts here:

[2] https://github.com/basweber/sympy/wiki/sympy_vs_maxima

Best regards,

Bastian

Jason Moore

unread,
Jan 12, 2015, 7:30:20 PM1/12/15
to sy...@googlegroups.com
Bastian,

Maybe https://www.openhub.net/ has both projects. It has sympy and a bunch of stats.

Feel free to improve the wiki page on the sympy repository as it will likely help others too.

--
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/54B461BA.9050205%40gmx-topmail.de.
For more options, visit https://groups.google.com/d/optout.

Jason Moore

unread,
Jan 12, 2015, 7:39:17 PM1/12/15
to sy...@googlegroups.com

Ondřej Čertík

unread,
Jan 12, 2015, 8:02:11 PM1/12/15
to sympy
The link that Jason sent provides data for b), c), d). Few more comments:

a) I think that's comparable, if there is anything that Maxima can do
and SymPy can't, please let us know. SymPy might have more features in
specific areas.

b, c) I think sympy has more developers and the community is more
involved in the development. Also, being in Python, you can use it
with IPython notebook and all the other libraries in Python. For
scientific computing, arguably the Python ecosystem is now the best /
standard. Large community, lots of tools. And if anything replaces
Python in the future (perhaps Julia), it will have to provide good
Python interoperability (Julia does already). So the investment in
Python will not be lost. This is the biggest argument for SymPy
against Maxima in my opinion. The rest is less important, although it
also compares favorably for SymPy.

e) Test coverage in sympy is in my opinion very good, but I don't have
hard data on that compared to maxima.
> https://groups.google.com/d/msgid/sympy/CAP7f1Aj6CpvemUskn14Q7CyCF%2BWLHAz8VEYn5%2B2G%3Dt1G9W%2Babg%40mail.gmail.com.

Aaron Meurer

unread,
Jan 12, 2015, 9:02:24 PM1/12/15
to sy...@googlegroups.com
For me, the sell of SymPy is the Python programming language. Once you are sold on Python, then SymPy comes as a natural choice. 

Even if you aren't sold on the language itself, as Ondrej points out, Python has a whole ecosystem of packages (and not even just scientific packages, it has packages for pretty much anything). 

Aaron Meurer

Bastian Weber

unread,
Jan 13, 2015, 5:26:13 AM1/13/15
to sy...@googlegroups.com
Thank you for the input.

Jasons link is partially what I looked for.

> https://www.openhub.net/p/compare?project_0=SymPy&project_1=Maxima+--+GPL+CAS+based+on+DOE-MACSYMA

However, on that page sympy does not seem to be clearly more active than maxima. I wrote to the "Manager" (Fabian Pedregosa) to update the information.

It might also help for marketing purposes to increase the SymPy users on Open Hub...

(Currently 37 users (SymPy) vs. 54 users (Maxima).)

- - -

Ondřej and Aaron: Do you know any citable sources (Blog posts, etc) to support your standpoint?
I am sure I will find something by myself but maybe not the best (most convincing).
> > moorepants.info <http://moorepants.info>
> > +01 530-601-9791 <tel:530-601-9791>
> >
> > On Mon, Jan 12, 2015 at 4:29 PM, Jason Moore <moore...@gmail.com
> <mailto:moore...@gmail.com>> wrote:
> >>
> >> Bastian,
> >>
> >> Maybe https://www.openhub.net/ has both projects. It has sympy
> and a bunch
> >> of stats.
> >>
> >> Feel free to improve the wiki page on the sympy repository as it will
> >> likely help others too.
> >>
> >>
> >> Jason
> >> moorepants.info <http://moorepants.info>
> >> +01 530-601-9791 <tel:530-601-9791>
> >>
> >> On Mon, Jan 12, 2015 at 4:07 PM, Bastian Weber
> >> <bastia...@gmx-topmail.de
> <mailto:sympy%2Bunsu...@googlegroups.com>.
> >>> To post to this group, send email to sy...@googlegroups.com
> <mailto: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/54B461BA.9050205%40gmx-topmail.de.
> >>> 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 sympy+un...@googlegroups.com
> <mailto:sympy%2Bunsu...@googlegroups.com>.
> > To post to this group, send email to sy...@googlegroups.com
> <mailto: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/CAP7f1Aj6CpvemUskn14Q7CyCF%2BWLHAz8VEYn5%2B2G%3Dt1G9W%2Babg%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 sympy+un...@googlegroups.com
> <mailto:sympy%2Bunsu...@googlegroups.com>.
> To post to this group, send email to sy...@googlegroups.com
> <mailto:sy...@googlegroups.com>.
> --
> 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
> <mailto:sympy+un...@googlegroups.com>.
> To post to this group, send email to sy...@googlegroups.com
> <mailto: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/CAKgW%3D6LD%3Do6M2Tre4YcBtgh1aO2c9iYdqp0woHuQBXOCxrPM7w%40mail.gmail.com
> <https://groups.google.com/d/msgid/sympy/CAKgW%3D6LD%3Do6M2Tre4YcBtgh1aO2c9iYdqp0woHuQBXOCxrPM7w%40mail.gmail.com?utm_medium=email&utm_source=footer>.

Ondřej Čertík

unread,
Jan 13, 2015, 7:44:41 AM1/13/15
to sympy
On Tue, Jan 13, 2015 at 3:26 AM, Bastian Weber
<bastia...@gmx-topmail.de> wrote:
> Thank you for the input.
>
> Jasons link is partially what I looked for.
>
>> https://www.openhub.net/p/compare?project_0=SymPy&project_1=Maxima+--+GPL+CAS+based+on+DOE-MACSYMA
>
> However, on that page sympy does not seem to be clearly more active than maxima. I wrote to the "Manager" (Fabian Pedregosa) to update the information.

Just look at the Statistics section (All time, 12 months, 30 days),
and look at number of developers, commits, files modified etc. SymPy
is clearly more active than Maxima, using these stats.

>
> It might also help for marketing purposes to increase the SymPy users on Open Hub...
>
> (Currently 37 users (SymPy) vs. 54 users (Maxima).)
>
> - - -
>
> Ondřej and Aaron: Do you know any citable sources (Blog posts, etc) to support your standpoint?
> I am sure I will find something by myself but maybe not the best (most convincing).

Sure. Google "scientific computing ecosystem", for me, 7 out of the
first 10 links mention Python in the title.

You can also try other phrases, like "scientific computing community".
You get tons of links, e.g.:

http://programmers.stackexchange.com/questions/138643/why-is-python-used-for-high-performance-scientific-computing-but-ruby-isnt

Specifically, you don't find Lisp (the language Maxima is written in)
in those links.

Just to clarify: this is to support the claim that Python related
tools are the ecosystem of scientific computing. It doesn't follow
from this that Maxima is a bad tool (it isn't). It follows, that if
you have a tool, written in any language, you better have good Python
wrappers/support.

Ondrej
> 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/54B4F2C1.20606%40gmx-topmail.de.

Richard Fateman

unread,
Jan 15, 2015, 6:41:55 PM1/15/15
to sy...@googlegroups.com
Typically the best system to use is the one that your colleagues (in the same
application area, or company, or school) are using.  

In the case of a textbook for electrical engineering graduate students, I
would expect them to know Matlab. They might know FORTRAN.
They might know Python. They probably don't know Lisp, but that
is irrelevant since a Maxima user doesn't need to know or use
Lisp.

The Maxima front-end language and system should be compared to some sympathetic
Python front end for congeniality.  Maybe the comparison should be to Sage rather
than sympy?

If the role of the text is to be an introduction to a scientific ecosystem
(not what was said, but anyway...)  I think Matlab or its free clones might
be in the competition. 

 Depends on the audience, really.

And if the intent is to just make pretty pictures or short math/computer lang
segments, it really doesn't matter much.


RJF

Robert Semenoff

unread,
Apr 3, 2018, 2:49:10 PM4/3/18
to sympy
As someone who is facing the choice between sympy and maxima, I am finding myself asking how much risk there is that the time invested in learning the CAS will end up being wasted because of deficiencies, bugs, lack of documentation and lack of support. All these things depend on the developers and how they are motivated. So for example, although scikit-learn is free (as in beer), it is supported by a consortium. Sympy is not, as far as I know, therefore the developers, as many as there are, are all motivated to learning programming skills and not necessarily the quality of documentation and support.  And maxima, although not conveniently integrated via python, is based on a government financed project so I have some circumstantial guarantee that it is a solid piece of software.

This is my impressionistic opinion, and if I am incorrect on any (assumed) facts, I welcome any corrections.


On Monday, January 12, 2015 at 4:07:43 PM UTC-8, bastian.weber wrote:
Reply all
Reply to author
Forward
0 new messages