+1 On Mon, May 2, 2011 at 2:02 PM, Aaron S. Meurer <[email protected]> wrote: > So there has been some discussion recently, both on and off list, as to what > SymPy is and what it should be. That is why I think that we need to have a > mission statement, which clearly outlines what SymPy is and where it should > go. > > Fortunately, I think we have really had one all along. I think the standard > description of SymPy at the top of our website, the Google Code page, and a > bunch of other places is a perfect mission statement. This is it, except I > have added "open source," because I think that's important to have in there. > > "SymPy is an open source Python library for symbolic mathematics. It aims to > become a full-featured computer algebra system (CAS) while keeping the code > as simple as possible in order to be comprehensible and easily extensible. > SymPy is written entirely in Python and does not require any external > libraries." > > To break this up into its component parts: > > "SymPy is an open source…" > > SymPy is BSD licensed, which means that people can incorporate the code in > non-open source projects. This is a good thing, because it lets people use > SymPy who otherwise wouldn't be able to. BSD is a good choice for libraries > like SymPy. But the core library code should always be open source. I don't > think anyone would disagree with this, but it's important to have it in the > statement. > > … Python library…" > > SymPy should be written in Python. See below. > > "… for symbolic mathematics. It aims to become a full-featured computer > algebra system (CAS)…"" > > This is one of the places where we have had disagreements recently. The core > goal of SymPy is to become a full-featured CAS. This means that we should > try to become just as powerful as any of the great CASs out there, like > Maple, Mathematica, Axiom, etc. So if you could see something being > implemented in one of those, then it can be implemented in SymPy to. Just > take a look at the diversity of our GSoC projects this year. Some of them > are very core CAS, like the Groebner bases project or the Meijer G-Function > integration project. Others are a little more external, like the quantum > projects or the PyDy project. But these all belong on SymPy because they are > things that you could easily see being part of a CAS like Maple, and they all > relate to symbolic manipulation. > > We have things that are not directly related to symbolic manipulation, like > the mpmath numerical library and plotting. But of course, these things > belong in a CAS (it's hard to imagine Maple or Mathematica being unable to do > plotting, for example). > > "… while keeping the code as simple as possible in order to be comprehensible > and easily extensible." > > I don't think there is much to elaborate on here, and I doubt many people > will disagree with this. One thing that I want to mention is that the fact > that SymPy is written in Python, which is a very clean language, means that > the algorithms will be very easy to read. Python also makes the source code > very accessible. So it is very easy for someone to dig in and learn how > something works. > > "SymPy is written entirely in Python and does not require any external > libraries." > > This is important. You should be able to use SymPy with nothing but Python > installed. Sure, some features might require some external library or > further dependencies (like plotting for example), but you should be able to > use the core functionality of SymPy with nothing but Python. > > The lack of any required external dependencies is also important. It makes > it very easy to use SymPy anywhere. For example, a high school student could > use SymPy on his personal account on the school computers, so long as those > computer have Python installed, even if he doesn't have any administrative > privileges on those computers, simply by downloading the tarball and running > isympy out of the bin directory. I'm sure others will have some examples > of why this is a good idea. > > Aaron Meurer > > -- > You received this message because you are subscribed to the Google Groups > "sympy" group. > To post to this group, send email to [email protected]. > To unsubscribe from this group, send email to > [email protected]. > For more options, visit this group at > http://groups.google.com/group/sympy?hl=en. > >
-- Brian E. Granger Cal Poly State University, San Luis Obispo [email protected] and [email protected] -- You received this message because you are subscribed to the Google Groups "sympy" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/sympy?hl=en.
