Domain: sagemath.org
Stories and comments across the archive that link to sagemath.org.
Comments · 113
-
Re:Python is part of the answer
-
Re:Python is part of the answer
Wow. I've never seen the phrase, "I don't know anything about this topic" drawn out into such a long statement!
Disclaimer: IANAM (I am not a mathematician), but I'm applying to grad schools in math, and I work with mathematicians who use computer-aided proofs on a daily basis. Most mathematicians are not concerned with such loose and squirrely concepts such as colliding universes. We care about actual mathematical objects.
For instance, the proof of the four-coloring theorem -- first it was proved by purely mathematical means that every planar graph is essentially the same as one of a few thousand small "representative" graphs. By "essentially the same", I mean that if the representative graph is four-colorable, than the original graph is, too. Then, use a computer program to color each graph with four colors. Finally, give the results to a couple of independent teams and have them verify that your coloring contains no errors.
This isn't the mess of tweaks & hacks that you describe. Now. With closed-source math software, one can never be sure that provable methods are used. With open source, one can.
Sage has bugs. You can fix them. Try that with Mathematica. -
Sage
Sage( http://www.sagemath.org/ ) is currently the most full=featured open-source computer algebra system. It is being developed by the two authors of the AMS opinion piece (and many others including myself). Our goal is to provide a free, viable, open-source alternative to Mathematica, Maple, MATLAB, and Magma. Some nice features of Sage include:
* It uses Python as its programming language so that you can use any existing Python modules with your Sage programs.
* Sage also includes Cython ( http://www.cython.org/ ) which is based on Pyrex and allows one to easily compile Python code down to C for speed.
* Sage's notebook interface with also interface with pretty much every existing computer algebra system, open-source or not.
* Sage includes Maxima, GAP, Scipy, Numpy, and many other open source math packages.
* A very active developer community. If there is something that you need Sage to do, chances are that there will be a number of developers willing to help you out.
For some screenshots, see http://www.sagemath.org/screen_shots/ .
One of the things that Sage needs most now is more users. So, if you have an interest in open source math software, definitely check out Sage. -
Sage
Sage( http://www.sagemath.org/ ) is currently the most full=featured open-source computer algebra system. It is being developed by the two authors of the AMS opinion piece (and many others including myself). Our goal is to provide a free, viable, open-source alternative to Mathematica, Maple, MATLAB, and Magma. Some nice features of Sage include:
* It uses Python as its programming language so that you can use any existing Python modules with your Sage programs.
* Sage also includes Cython ( http://www.cython.org/ ) which is based on Pyrex and allows one to easily compile Python code down to C for speed.
* Sage's notebook interface with also interface with pretty much every existing computer algebra system, open-source or not.
* Sage includes Maxima, GAP, Scipy, Numpy, and many other open source math packages.
* A very active developer community. If there is something that you need Sage to do, chances are that there will be a number of developers willing to help you out.
For some screenshots, see http://www.sagemath.org/screen_shots/ .
One of the things that Sage needs most now is more users. So, if you have an interest in open source math software, definitely check out Sage. -
Re:look at who's speaking...
The AMS did not write that article. I wrote the article as an opinion piece and the AMS published it. They do not necessarily agree with the points made in the article.
By the way, the article is not about formal automated proofs. It is about what is now standard procedure in mathematical research, namely proofs that look like this:
[Formal mathematical argument] ... and (using [Mathematica|Magma|...]) we deduce that [...].
It's incredibly common right now when reading published mathematical papers to see random citations to using closed source software to do key steps of calculations. Usually even the code used to get the closed source program to yield the result isn't given.
The way many mathematicians read proofs is that they often basically skim the argument to get a general idea of what it is about. Then they decide they want to prove something similar or related, and they "dive" into the most refined details of some key part of the argument. When a part of the argument is "... using Mathematica we deduce ..." this gets very very frustrating, since one just hits a brick wall. And, in practice, reimplementing -- with enough optimization to make it useful for research -- just one or two key functions from Mathematica or Magma, can take literally years of work (in fact, that's exactly what I've been doing the last few years with http://sagemath.org/). And sometimes exactly that is necessary to go beyond what has already been done, i.e., to do research.
-- William Stein -
Re:Python is part of the answer
In addition to octave and maxima, there is sage. I have been impressed.
-
Re:Why I don't trust Python
The program Sage http://sagemath.org/ mentioned in the article uses Python extensively, but with a few changes when used interactively. In particular, all floating point literals are created as Python objects that wrap MPFR C-library objects http://www.mpfr.org/ which have better semantics. In particular, your example above in Sage becomes:
sage: 1.00 - 0.01
0.990000000000000
Likewise, in Python one has the confusing (to a mathematician):
>>> 1/3
0
In Sage integer literals wrap GMP integers http://gmplib.org/ (which are vastly faster than Python's large integers), and one has:
sage: 1/3
1/3
-- William, http://wstein.org/ (author of the article being discussed) -
Openness is Fundamental to MathematicsThe article is a very well argued opinion piece, and is correct in that only open-source software should ever be used in a proof.
It is fundamental to mathematics that other mathematicians in the same field can check a proof, and the use of closed source software makes that logically impossible, for without access to the source of the application, it is not possible to guarantee that any particular operation has been implemented correctly.
He's also plugging his own open source project, SAGE - I might have to download it and see if the rusty old brain cells can figure out how to play with it
;) -
Teachers need to use open source tooI teach programming and CCNA in a public high school, and I make extensive use of free and OS software. If possible, teachers should use OSS where ever they can. Myself I use Audacity, MediaWiki , Apache, MySQL, PHP, Samba, and you get the idea... By the way teachers: if your classroom is a computer lab, MediaWiki is a great way to distribute assignments and course notes!
I also make it clear to the students that much of the software I use in class is free to download. This way the students may use the software outside of class. This year is the first year I taught my web design students how to install Apache on windows. At least one student now has a church web site running from his home computer and uses dyndns.org to provide a hostname.
If you are a math teacher there is a piece of software that I have been playing with that I'm excited about. It's called SAGE and the package has really good 2 and 3-d graphing capabilities. Anyway, just plug F/OSS with your students in any way possible.
-
Re:Can't anyone create a GNU version (SAGE)
> Also the number of people who are able to contribute
> significantly to such project is very limited.
There are enough people available, but it takes significant work to find and organize them. During the last two years over 40 people have contributed significantly to SAGE http://www.sagemath.org/, which is a GPL'd mathematics software package that combines Maxima, Python, GAP, PARI, and other systems with lots of new code and interfaces to Mathematica, Maple, MATLAB, etc. Also, SAGE has a modern web-browser based GUI.
> This is
> on the border of several areas - pure abstract mathematics,
> computer science and engineering. How many qualified LISP
> programmers you can find nearby? How many of them are also
You point to one of the problems. That's one reason much of SAGE is in Python; the barrier to entry is much lower. Also, with SAGE we've done a huge amount of work to make it easy to transition code from Python to compiled C code (via Pyrex and SageX). -
Re:Cost
Unless you live in a third-world country, and a site license is as high as the cost to employ a few professors full-time. Then, you use SAGE.
-
Re:Open source systems are out there, too
Huh -- somebody above mentioned SAGE, and it's intense: written in Python, uses NumPy, Maxima and matplotlib.
-
Re:I'm torn...
Check out SAGE. SciPy is available as an optional package in SAGE and can be installed with one command. They work very well together since they're both in Python. I think SAGE uses Numpy for its default numerical linear algebra. In addition, SAGE provides a nice interface to Octave, an open-source MATLAB replacement.
http://www.sagemath.org/