Release Sage: Open Source Mathematics Software


_wb_

Microbe
Staff member
Joined
Apr 5, 2012
Messages
5,390
Age
43
Location
Brussels, Belgium
My current project is to bring Sage to the Pandora.

http://www.sagemath.org/

I'm making good progress, at least I managed to finish the compilation process. It took more than a week, mostly because it often took several hours before I noticed that it got stuck somewhere - actual compile time was "only" 3 or 4 days. So I can now get the Sage prompt and confirm that 1+1 equals 2 :)

Sage is a huge collection of software though, and of course most stuff is only loaded when needed. So it will take me a while to check that everything works - I'm probably going to stop at some point, and just wait for complaints to fix stuff as needed.

It will take some effort to nicely package this as a PND, since it is damn huge. I'm talking several gigabytes in its raw just-compiled form. A lot of the stuff is probably not needed if you can live with not being able to install additional packages (it would be very hard to make that possible anyway, since installing packages usually means compiling them from sources, for which you need a nontrivial setup), because then I can throw out a lot of include files and sources. I'm also going to strip all debug symbols away from all binaries and libraries, remove all object files etc etc.

Meanwhile, if you're a Sage user and you want me to verify that something works, let me know so I can check that before I upload some initial PND to the repo.
 
oh very cool, that will come in handy since I don't have a graphical calculator,

thankZ : )
 
Hmm, have been hoping to see a working install of Sage in a while.

Indeed its dependencies are a proper hell (also because they don't really seem to be following upstream much and many distros have trouble syncing with them).

I don't have any particular use for it myself at the moment, but it sounds like a very cool package to have for the Pandora :)
 
Respect  :p . The question is, what would you have done if sage had asserted 1+1=3????
 
Last edited by a moderator:
Let's just say I'm happy it gave the right answer :)

Sage is incredibly huge, so I'm never going to be able to check that everything works fine. So far, I've just checked some basic stuff: the notebook seems to work, plotting simple 2D and 3D functions seems to work, the interfaces to GAP, Singular, PARI/GP, Maxima and R seem to work, and that's about all I tested. I'm not going to add any of the optional packages until someone asks for it, since the default packages are already a lot.

Sage has components written in nearly all programming languages: C, C++, Java, Fortran, LISP, Python, Cython, Bash, Javascript, etc etc.  Everything is glued together with Python and shellscripts, which makes it quite hard to check that everything works. There are some automated tests, but even on a perfect build it is "normal" that some of those fail (according to the documentation), and the automated tests for all the Python stuff are disabled by default because many of them fail even on a perfect build. Sigh.

Anyway, I managed to bring my current working copy down to "only" 1.5GB (uncompressed), and I hope to find some more stuff that can be trimmed. My target is to have a PND that is at least smaller than that of Code::Blocks :)
 
Don't care about size.

In times where big SD-cards are cheap I prefer having all the add-ons instead of saving some disk space.
 
It's not because of the size that I'm leaving out the optional add-ons, it's because 1) it will take a LOT of time and effort to get all of them working well, 2) there is already so much stuff included in the set of "standard" packages (here is a list) that I seriously doubt that you will need the extras, and 3) many of the optional packages are just generic development tools like gcc, git, valgrind etc. I don't see the point of adding those in sage if we already have PNDs like Code::Blocks.
 
I understand this.

It's just that size isn't an argument for me any more.

Of course it's lot's of work to make all those add-ons working.
 
Maybe you can get some information from these tables:

http://en.wikipedia.org/wiki/Comparison_of_numerical_analysis_software

http://en.wikipedia.org/wiki/Comparison_of_computer_algebra_systems

http://en.wikipedia.org/wiki/Comparison_of_statistical_packages

Since the mission statement of Sage is "Creating a viable free open source alternative to Magma, Maple, Mathematica and Matlab.", and given that is in very active development for more than 8 years now, with a version number "5.10" (whatever that means, but in the world of FOSS, 1.0 is usually already pretty good),  I expect it to be quite competitive, both feature-wise and performance-wise.

Also compared to MATLAB, one major advantage is its license (Free (GPL) vs proprietary $99 educational / $2150 commercial) and the fact that it works on something like the Pandora (I assume MATLAB is only available for x86).

Here are some benchmarks comparing Sage to Mathematica and MATLAB: http://www.sagemath.org/tour-benchmarks.html

(this is on the same x86 32-bit machine). As you can see, for tasks like matrix multiplication, Sage is actually faster than MATLAB.

What I like most about Sage is that it can do so much. It really covers most areas of mathematics into one unified system. In contrast, the big, expensive, proprietary systems typically have particular strengths and weaknesses, or need additional expensive add-ons.
 
Back
Top