papers on sympy?

28 views
Skip to first unread message

David Joyner

unread,
Oct 6, 2011, 11:57:16 AM10/6/11
to sy...@googlegroups.com
Hi:

I was wondering if there is a list of papers on/using sympy
on the sympy website, analogous to
http://www.sagemath.org/library-publications.html?

- David

Matthew Rocklin

unread,
Oct 6, 2011, 12:00:30 PM10/6/11
to sy...@googlegroups.com
I would be interested in seeing this as well.

> --
> You received this message because you are subscribed to the Google Groups "sympy" group.
> To post to this group, send email to sy...@googlegroups.com.
> To unsubscribe from this group, send email to sympy+un...@googlegroups.com.
> For more options, visit this group at http://groups.google.com/group/sympy?hl=en.
>
>

Vladimir Perić

unread,
Oct 6, 2011, 12:09:42 PM10/6/11
to sy...@googlegroups.com
Well, there's a list of presentations about SymPy at [1], but I don't
think there's a list of papers using SymPy anywhere. There's a
guideline on how to cite SymPy in the README I believe, though. In any
case, I'd also like to see such an list: perhaps we should create a
(stub) page and some might turn up?

[1] https://code.google.com/p/sympy/wiki/SymPyPresentations

--
Vladimir Perić

Aaron Meurer

unread,
Oct 6, 2011, 12:36:35 PM10/6/11
to sy...@googlegroups.com
There are indeed many papers that cite SymPy. You can get an idea of
them by searching Google Scholar:
http://scholar.google.com/scholar?q=sympy&hl=en&btnG=Search&as_sdt=1%2C32&as_sdtp=on.
Also see http://scholar.google.com/scholar?cites=9158549765950986808&as_sdt=5,32&sciodt=0,32&hl=en,
which is a list of papers that explicitly cite SymPy (rather than just
mention it).

It turns out that there are actually quite a few papers that mention
SymPy. Many just mention it in a list of CASs, which is good, because
that means that the author considers SymPy to be a reasonable
alternative to other systems like Maple, Mathematica, Axiom, Maxima,
etc.

Also, it doesn't seem to be on the Google Scholar site (or maybe I
missed it), but if the proceeding of the SciPy 2011 conference are
published (or maybe they already are), Mark Dewing gave a talk
"Constructing scientific programs using Sympy". There's also
Mateusz's masters thesis, which I didn't see there either
(https://github.com/mattpap/masters-thesis).

I started https://github.com/sympy/sympy/wiki/SymPy-Papers for this.
Go ahead and add any papers that you know of to that page.

Aaron Meurer

william ratcliff

unread,
Oct 6, 2011, 1:03:58 PM10/6/11
to sy...@googlegroups.com
Has the core team thought about making a small publication somewhere for sympy?  For the academics it might be useful...


William

David Joyner

unread,
Oct 6, 2011, 1:10:35 PM10/6/11
to sy...@googlegroups.com
On Thu, Oct 6, 2011 at 1:03 PM, william ratcliff
<william....@gmail.com> wrote:
> Has the core team thought about making a small publication somewhere for
> sympy?  For the academics it might be useful...


I'm not in the core team, but I've been asked to write such a paper
on some CAS (eg, sympy) by Communications of the ACM, for the
Dec issue (due in Nov). I was thinking of doing so, if there is no
objection.

Mateusz Paprocki

unread,
Oct 6, 2011, 1:16:01 PM10/6/11
to sy...@googlegroups.com
Hi,

On 6 October 2011 10:10, David Joyner <wdjo...@gmail.com> wrote:
On Thu, Oct 6, 2011 at 1:03 PM, william ratcliff
<william....@gmail.com> wrote:
> Has the core team thought about making a small publication somewhere for
> sympy?  For the academics it might be useful...


I'm not in the core team, but I've been asked to write such a paper
on some CAS (eg, sympy) by Communications of the ACM, for the
Dec issue (due in Nov). I was thinking of doing so, if there is no
objection.

It's actually encouraged by the "core team". If you need any support with this, let us know.

Mateusz

David Joyner

unread,
Oct 7, 2011, 2:09:53 PM10/7/11
to sy...@googlegroups.com
On Thu, Oct 6, 2011 at 1:16 PM, Mateusz Paprocki <mat...@gmail.com> wrote:

...

>>
>> I'm not in the core team, but I've been asked to write such a paper
>> on some CAS (eg, sympy) by Communications of the ACM, for the
>> Dec issue (due in Nov). I was thinking of doing so, if there is no
>> objection.
>
> It's actually encouraged by the "core team". If you need any support with
> this, let us know.
>

Will do, thanks.

>> >> Mateusz's masters thesis, which I didn't see there either
>> >> (https://github.com/mattpap/masters-thesis).
>> >>
>> >> I started https://github.com/sympy/sympy/wiki/SymPy-Papers for this.

Thanks for the references!

Ondřej Čertík

unread,
Oct 11, 2011, 11:01:15 PM10/11/11
to sy...@googlegroups.com
On Thu, Oct 6, 2011 at 10:10 AM, David Joyner <wdjo...@gmail.com> wrote:
> On Thu, Oct 6, 2011 at 1:03 PM, william ratcliff
> <william....@gmail.com> wrote:
>> Has the core team thought about making a small publication somewhere for
>> sympy?  For the academics it might be useful...
>
>
> I'm not in the core team, but I've been asked to write such a paper
> on some CAS (eg, sympy) by Communications of the ACM, for the
> Dec issue (due in Nov). I was thinking of doing so, if there is no
> objection.

I would be interested in helping out as well.

Ondrej

David Joyner

unread,
Oct 12, 2011, 5:35:39 AM10/12/11
to sy...@googlegroups.com
2011/10/11 Ondřej Čertík <ondrej...@gmail.com>:

> On Thu, Oct 6, 2011 at 10:10 AM, David Joyner <wdjo...@gmail.com> wrote:
>> On Thu, Oct 6, 2011 at 1:03 PM, william ratcliff

...

>>
>>
>> I'm not in the core team, but I've been asked to write such a paper
>> on some CAS (eg, sympy) by Communications of the ACM, for the
>> Dec issue (due in Nov). I was thinking of doing so, if there is no
>> objection.
>
> I would be interested in helping out as well.


I started a template for the paper last weekend. I'd like to
follow to format template of the analogous paper on GAP
http://boxen.math.washington.edu/home/wdj/sigsam/oscas-cca3.pdf
I don't see a blog post of talk with details on the history of
SymPy. There is your SageDays6 talk but the bullet points in the slides
where you presumably described some history of the SymPy development
was very sketchy. Is that recorded somewhere?


>
> Ondrej
>

Aaron Meurer

unread,
Oct 12, 2011, 1:21:31 PM10/12/11
to sy...@googlegroups.com

There is a short history in the README that I think goes to 2007 or
2008. Mateusz also has an extensive history of the polys module in
his thesis.

You could also glean a lot from the GSoC reports
(http://code.google.com/p/sympy/w/list?q=label:GSoC) and
(https://github.com/sympy/sympy/wiki/gsoc-2011-report), since a good
portion of the features in SymPy were implemented from these projects.

Otherwise, Ondrej will be the best person to ask about the history,
since he's the one who started it all.

Aaron Meurer

>
>
>>
>> Ondrej

David Joyner

unread,
Oct 13, 2011, 5:33:41 AM10/13/11
to sy...@googlegroups.com
On Wed, Oct 12, 2011 at 1:21 PM, Aaron Meurer <asme...@gmail.com> wrote:

>>
>> I started a template for the paper last weekend. I'd like to
>> follow to format template of the analogous paper on GAP
>> http://boxen.math.washington.edu/home/wdj/sigsam/oscas-cca3.pdf
>> I don't see a blog post of talk with details on the history of
>> SymPy. There is your SageDays6 talk but the bullet points in the slides
>> where you presumably described some history of the SymPy development
>> was very sketchy. Is that recorded somewhere?
>
> There is a short history in the README that I think goes to 2007 or
> 2008.  Mateusz also has an extensive history of the polys module in
> his thesis.
>
> You could also glean a lot from the GSoC reports
> (http://code.google.com/p/sympy/w/list?q=label:GSoC) and
> (https://github.com/sympy/sympy/wiki/gsoc-2011-report), since a good
> portion of the features in SymPy were implemented from these projects.


Thanks very much for these. I'll post a draft for criticism once it reaches
a more readable state.

David Joyner

unread,
Oct 30, 2011, 12:14:33 PM10/30/11
to sy...@googlegroups.com
On Thu, Oct 13, 2011 at 5:33 AM, David Joyner <wdjo...@gmail.com> wrote:
> On Wed, Oct 12, 2011 at 1:21 PM, Aaron Meurer <asme...@gmail.com> wrote:
>

...

>
> Thanks very much for these. I'll post a draft for criticism once it reaches
> a more readable state.


I hope the paper is in a more readable state now. In any case, it is posted to
http://boxen.math.washington.edu/home/wdj/sigsam/sympy/oscas-sympy.pdf
(The sources are in that directory too, if you want them.)

Thanks for the comments from Ondrej and Aaron on the very rough drafts.
Further comments and criticisms are welcomed. It is for the December issue
of CCA (formerly Sigsam Bull.), so will have to be submitted soon.

BTW, does anyone know the copyright info/distribution license of the SymPy logo?
I couldn't find that. (I vaguely remember an open-source project with a
restrictive license on its logo...)

Mateusz Paprocki

unread,
Oct 30, 2011, 12:32:04 PM10/30/11
to sy...@googlegroups.com
Hi,

On 30 October 2011 09:14, David Joyner <wdjo...@gmail.com> wrote:
On Thu, Oct 13, 2011 at 5:33 AM, David Joyner <wdjo...@gmail.com> wrote:
> On Wed, Oct 12, 2011 at 1:21 PM, Aaron Meurer <asme...@gmail.com> wrote:
>

...

>
> Thanks very much for these. I'll post a draft for criticism once it reaches
> a more readable state.


I hope the paper is in a more readable state now. In any case, it is posted to
http://boxen.math.washington.edu/home/wdj/sigsam/sympy/oscas-sympy.pdf
(The sources are in that directory too, if you want them.)

There is one tiny thing to fix. The title of my thesis is "(...) Typed Programming Language" ("Programming" was missing in the README, it's fixed now).
 

Thanks for the comments from Ondrej and Aaron on the very rough drafts.
Further comments and criticisms are welcomed. It is for the December issue
of CCA (formerly Sigsam Bull.), so will have to be submitted soon.

BTW, does anyone know the copyright info/distribution license of the SymPy logo?
I couldn't find that. (I vaguely remember an open-source project with a
restrictive license on its logo...)

Logo is available on the same terms [1] as SymPy itself.

 

>
>
>>
>> Otherwise, Ondrej will be the best person to ask about the history,
>> since he's the one who started it all.
>>
>> Aaron Meurer
>>
>

--
You received this message because you are subscribed to the Google Groups "sympy" group.
To post to this group, send email to sy...@googlegroups.com.
To unsubscribe from this group, send email to sympy+un...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/sympy?hl=en.


Mateusz

Vladimir Perić

unread,
Oct 30, 2011, 12:48:59 PM10/30/11
to sy...@googlegroups.com
On Sun, Oct 30, 2011 at 5:14 PM, David Joyner <wdjo...@gmail.com> wrote:
> On Thu, Oct 13, 2011 at 5:33 AM, David Joyner <wdjo...@gmail.com> wrote:
>> On Wed, Oct 12, 2011 at 1:21 PM, Aaron Meurer <asme...@gmail.com> wrote:
>>
>
> ...
>
>>
>> Thanks very much for these. I'll post a draft for criticism once it reaches
>> a more readable state.
>
>
> I hope the paper is in a more readable state now. In any case, it is posted to
> http://boxen.math.washington.edu/home/wdj/sigsam/sympy/oscas-sympy.pdf
> (The sources are in that directory too, if you want them.)

I spotted a minor typo: in the "Acknowledgments" you say "think"
instead of "thank".

I also think the "Capabilities" section is a bit.. short. You took it
from the website, I assume? That homepage hasn't been updated in a
long time (and writing that list is even one task for Google Code-In).
At the very least, I think you should give more mention to the physics
and quantum modules, which is a real advantage SymPy has over other
CAS systems.

>
> Thanks for the comments from Ondrej and Aaron on the very rough drafts.
> Further comments and criticisms are welcomed. It is for the December issue
> of CCA (formerly Sigsam Bull.), so will have to be submitted soon.
>
> BTW, does anyone know the copyright info/distribution license of the SymPy logo?
> I couldn't find that. (I vaguely remember an open-source project with a
> restrictive license on its logo...)
>
>>
>>
>>>
>>> Otherwise, Ondrej will be the best person to ask about the history,
>>> since he's the one who started it all.
>>>
>>> Aaron Meurer
>>>
>>
>

> --
> You received this message because you are subscribed to the Google Groups "sympy" group.
> To post to this group, send email to sy...@googlegroups.com.
> To unsubscribe from this group, send email to sympy+un...@googlegroups.com.
> For more options, visit this group at http://groups.google.com/group/sympy?hl=en.
>
>

--
Vladimir Perić

David Joyner

unread,
Oct 30, 2011, 12:54:10 PM10/30/11
to sy...@googlegroups.com
On Sun, Oct 30, 2011 at 12:32 PM, Mateusz Paprocki <mat...@gmail.com> wrote:
> Hi,

...

>
> There is one tiny thing to fix. The title of my thesis is "(...) Typed
> Programming Language" ("Programming" was missing in the README, it's fixed
> now).


Fixed.

>

...

>
> Logo is available on the same terms [1] as SymPy itself.
> [1] http://code.google.com/p/sympy/source/browse/materials/logo/logo.txt
>

Thanks!
Fixed version is posted to the same location.

David Joyner

unread,
Oct 30, 2011, 12:56:18 PM10/30/11
to sy...@googlegroups.com
On Sun, Oct 30, 2011 at 12:48 PM, Vladimir Perić <vlada...@gmail.com> wrote:

...

>
> I spotted a minor typo: in the "Acknowledgments" you say "think"
> instead of "thank".


Thinks ... er ... Thanks!


Fixed version is posted to the same location.


>


> I also think the "Capabilities" section is a bit.. short. You took it
> from the website, I assume? That homepage hasn't been updated in a
> long time (and writing that list is even one task for Google Code-In).
> At the very least, I think you should give more mention to the physics
> and quantum modules, which is a real advantage SymPy has over other
> CAS systems.
>


Can you suggest something? I know next to nothing about that
and am afraid I'll say something wrong or misleading.


>>

...


>
>
> --
> Vladimir Perić

Matthew Rocklin

unread,
Oct 30, 2011, 12:59:13 PM10/30/11
to sy...@googlegroups.com
It might be interesting to post the source to this document as a github pull request and use our standard reviewing system. We wouldn't have to ever accept this pull into SymPy but using the github mechanics might actually simplify things. Of course, it might also just make everything much more complex :)

On a tangential note does anyone know of community created/reviewed academic articles written using the open source development chain?

Vladimir Perić

unread,
Oct 30, 2011, 12:59:30 PM10/30/11
to sy...@googlegroups.com
On Sun, Oct 30, 2011 at 5:56 PM, David Joyner <wdjo...@gmail.com> wrote:
> On Sun, Oct 30, 2011 at 12:48 PM, Vladimir Perić <vlada...@gmail.com> wrote:
>
> ...
>
>>
>> I spotted a minor typo: in the "Acknowledgments" you say "think"
>> instead of "thank".
>
>
> Thinks ... er ... Thanks!
> Fixed version is posted to the same location.
>
>
>>
>> I also think the "Capabilities" section is a bit.. short. You took it
>> from the website, I assume? That homepage hasn't been updated in a
>> long time (and writing that list is even one task for Google Code-In).
>> At the very least, I think you should give more mention to the physics
>> and quantum modules, which is a real advantage SymPy has over other
>> CAS systems.
>>
>
>
> Can you suggest something? I know next to nothing about that
> and am afraid I'll say something wrong or misleading.

Me too, unfortunately. Ondřej would probably know, you could try
asking him. I feel it's important to note it, as that's a really big
comparative advantage for SymPy. Brian Granger is even using it in the
subjects he teaches (AFAIK, you could try mailing him too).

>
>
>>>
>
> ...
>
>
>>
>>
>> --
>> Vladimir Perić
>>
>> --
>> You received this message because you are subscribed to the Google Groups "sympy" group.
>> To post to this group, send email to sy...@googlegroups.com.
>> To unsubscribe from this group, send email to sympy+un...@googlegroups.com.
>> For more options, visit this group at http://groups.google.com/group/sympy?hl=en.
>>
>>
>
> --
> You received this message because you are subscribed to the Google Groups "sympy" group.
> To post to this group, send email to sy...@googlegroups.com.
> To unsubscribe from this group, send email to sympy+un...@googlegroups.com.
> For more options, visit this group at http://groups.google.com/group/sympy?hl=en.
>
>

--
Vladimir Perić

David Joyner

unread,
Oct 31, 2011, 6:33:54 PM10/31/11
to sy...@googlegroups.com
On Sun, Oct 30, 2011 at 12:48 PM, Vladimir Perić <vlada...@gmail.com> wrote:

...

>


> I also think the "Capabilities" section is a bit.. short. You took it
> from the website, I assume? That homepage hasn't been updated in a
> long time (and writing that list is even one task for Google Code-In).
> At the very least, I think you should give more mention to the physics
> and quantum modules, which is a real advantage SymPy has over other
> CAS systems.


After a few emails from Brian Granger (thanks Brian!) I have
created a new subsection on quanum physics. It is very sketchy
but hopefully has enough for interested readers to pursue
further leads.

Latest version is at
http://boxen.math.washington.edu/home/wdj/sigsam/sympy/oscas-sympy.pdf
(and sources are in that directory too).

BTW, if anyone wants to post this to github, that is fine with me.
However, I know
zip about git:-)


Thanks to all of you for your great help!

>

...

> --
> Vladimir Perić

Aaron Meurer

unread,
Oct 31, 2011, 7:31:07 PM10/31/11
to sy...@googlegroups.com
Comments:

- "as its beautiful logo" should this be "as is its beautiful logo"?

- "However, the most active are..." Maybe rather say "However, the
most active as of October 2011 are..." to make it clear that this is a
snapshot into this particular point in time. For example, over the
summer a different set of developers were most active (i.e., these
people plus the GSoC students).

- "For example, the following simple Python commands were run from the
SymPy command line." I would reword this sentence. It sounds like
SymPy has it's own interpreter, and I think it especially would to a
user of any other computer algebra system. I'm not sure what the best
wording is, but make it clear that SymPy just runs inside a normal
Python interpreter, such as the one that comes with Python or IPython.
Maybe it would be best to just include a short paragraph about the
isympy script, which just paraphrases the docstring from that file.

"Surprisingly, it seems Maxima cannot do this at the present time." If
I remember correctly, Maxima took the lazy route and only implemented
second order differential equations (or maybe they can also do higher
order but only if they are homogeneous, I can't remember). The
general non-homogeneous case requires either undetermined coefficients
(if the non-homogeneous term has the correct form), or, in the general
case, the nth order version of variation of parameters, which is not
too difficult to implement if you have strong integration routines and
knowledge of linear algebra (Cramer's rule), but it seems is so rarely
actually taught that I only found two resources anywhere on the
internet that dealt with it in the nth case out of the thousands that
dealt with the 2nd order case, and neither was very good. I discussed
this on my blog back when I implemented it
(http://asmeurersympy.wordpress.com/2009/08/01/variation-of-parameters-and-more/).
In fact, at the time, I couldn't find another open source system that
implemented this, though I would definitely try to verify this fact
before putting it in the paper.

"On the
other hand, perhaps it is not surprising that SymPy is relatively strong in
the area of differential equations since many or the developers come from
physics and computational mathematics communities." Actually it's
mainly because of my GSoC project :)

Aaron Meurer

David Joyner

unread,
Oct 31, 2011, 8:37:54 PM10/31/11
to sy...@googlegroups.com
On Mon, Oct 31, 2011 at 7:31 PM, Aaron Meurer <asme...@gmail.com> wrote:
> Comments:
>
> - "as its beautiful logo"  should this be "as is its beautiful logo"?

fixed

>
> - "However, the most active are..." Maybe rather say "However, the
> most active as of October 2011 are..." to make it clear that this is a
> snapshot into this particular point in time.  For example, over the
> summer a different set of developers were most active (i.e., these
> people plus the GSoC students).

fixed

>
> - "For example, the following simple Python commands were run from the
> SymPy command line." I would reword this sentence.  It sounds like
> SymPy has it's own interpreter, and I think it especially would to a
> user of any other computer algebra system.  I'm not sure what the best
> wording is, but make it clear that SymPy just runs inside a normal
> Python interpreter, such as the one that comes with Python or IPython.
> Maybe it would be best to just include a short paragraph about the
> isympy script, which just paraphrases the docstring from that file.

revised, as suggested

>
> "Surprisingly, it seems Maxima cannot do this at the present time." If
> I remember correctly, Maxima took the lazy route and only implemented
> second order differential equations (or maybe they can also do higher
> order but only if they are homogeneous, I can't remember).  The
> general non-homogeneous case requires either undetermined coefficients
> (if the non-homogeneous term has the correct form), or, in the general
> case, the nth order version of variation of parameters, which is not
> too difficult to implement if you have strong integration routines and
> knowledge of linear algebra (Cramer's rule), but it seems is so rarely
> actually taught that I only found two resources anywhere on the
> internet that dealt with it in the nth case out of the thousands that
> dealt with the 2nd order case, and neither was very good. I discussed
> this on my blog back when I implemented it
> (http://asmeurersympy.wordpress.com/2009/08/01/variation-of-parameters-and-more/).
> In fact, at the time, I couldn't find another open source system that
> implemented this, though I would definitely try to verify this fact
> before putting it in the paper.
>

I made revisions but I think Axiom has more functionality that Maxima
in this area:
http://www.axiom-developer.org/axiom-website/hyperdoc/equdifferentiallinear.xhtml


> "On the
> other hand, perhaps it is not surprising that SymPy is relatively strong in
> the area of differential equations since many or the developers come from
> physics and computational mathematics communities." Actually it's
> mainly because of my GSoC project :)


Good point. I changed that.

New version posted to the usual place:-)

Thanks Aaron!

Aaron Meurer

unread,
Nov 1, 2011, 12:22:20 PM11/1/11
to sy...@googlegroups.com

Ah, that's not surprising. Axiom probably implements something like
http://www-sop.inria.fr/cafe/Manuel.Bronstein/sumit/bernina_demo.html.

Aaron Meurer

Mateusz Paprocki

unread,
Nov 1, 2011, 1:01:14 PM11/1/11
to sy...@googlegroups.com
Hi,

There are algorithms for solving certain classes of differential equations in full generality (e.g. linear with polynomial coefficients). See http://reference.wolfram.com/mathematica/tutorial/DSolveReferences.html and search for Bronstain and Abramov. Actually, one of those algorithms I implemented during my summer of code for the discrete case (recurrence solving), but it can be generalized to the continuous case. I'm not sure if they are implemented in Axiom, but most certainly they are implemented in various libraries (in Aldor) written by Bronstein.

Mateusz

Ondřej Čertík

unread,
Nov 1, 2011, 7:19:01 PM11/1/11
to sy...@googlegroups.com

Sorry for my late reply. So here I put your sources to github:

https://github.com/certik/oscas-sympy

then I sent a pull request with my proposed changes:

https://github.com/certik/oscas-sympy/pull/1

you can browse there the total diff, or individual patches. If you
want my latest tex file, just download it by clicking here:

https://raw.github.com/certik/oscas-sympy/changes/oscas-sympy.tex

I am posting here my licence quote that is quoted in the article, so
that it is public:
"
Some people say, that GPL had its place in history. Well, maybe
it had, maybe not, it's hard to say - let's leave it for historians.
But today in 2011, I think that there is no advantage of GPL over
BSD. The only thing that matters is to have a solid
community, so that lots of people contribute to the project. Also it
seems that these days, there are a lot of people who come to
open-source, who don't really feel strongly about licensing, they just
want their code to be used (no matter how), and thus use BSD.
"

Ondrej

Reply all
Reply to author
Forward
0 new messages