The time now is Fri 22 May 2015, 04:43
All times are UTC  4 
Author 
Message 
emil
Joined: 10 Nov 2009 Posts: 618 Location: Austria

Posted: Mon 10 Jan 2011, 07:43 Post subject:
Sage Subject description: Mathematic Software: Information and Links 

Sage is a very comprehensive mathematical package. It can run from commandline, in a browser based interface (notebook) or also as a multi user server over the web.
Sage browser based notebook (note the typesetting)
Sage has a very ambitious goal:
Create a viable alternative to the MA's
The MA's are Mathematica, Maple, Matlab and Magma  so this is quite an undertaking!
The philosophy of Sage is "to build the car" and not to reinvent the wheel, so it is build from many  over 100  existing open source packages. Amongst those are some really high profile packages like Maxima and R. Everything is tied together in a a common build environment, and glued together by a python (numpy, scipy, matplotlib and lots of native sage code) layer which provides a unified interface to all the packages.
Don't reinvent the wheel. (Image created by Martin Albrecht.)
In that respect, Sage is its own meta distribution, because it ships with most of its dependencies and a complete development environment (including mercurial version control  warning: compilers in puppy devx.sfs are still required dependencies, as well as fortran compiler installed). Although the big size of the package  sources are currently around 380 MB  I think Sage is the most interesting open source math project, due to the following reasons:
Comprehensive capabilities, lots of mature projects "under the hood"
Notebook web interface
You can use sage from servers running on the web
Dependencies included
Good community and project managment
Good documentation, Tutorials
Active support lists and forums
Runs on wide variaty of hardware, from desktop to supercomputer
Multiuser server mode
It has a vision
it makes development and results free and transparent in a true scientific spirit
this is opposed to closed source witchcraft results
I have built sage sfs packages earlier, but I stopped it. The reasons are that the release cycle of sage is rather fast, and with the multitude of different puppy branches (Ubuntu, T2, Slackware) it is impossible to maintain a "one fits all" build.
Instead I have made a series of puppy derivatives (Sage Live CD) on a Lucid 5.11 base (actually shinobars excellent Quickset edition). This might not be bleeding edge, but it provides me a stable base to build on. This Live CD has been the official Live CD for the sage project since spring 2010.
Latest Sage Live CD derivative: Lite version with preconfigured multiuser server
For all other puppies I recommend to build sage from source (on a physical disk like /mnt/home)  despite the size it is one of the easiest systems to build I came across. This gives the additional bonus that sage libraries like linear algebra are built optimized for your processor. Once you have it working it is always possible to upgrade sage from inside to the latest version.
My current developement interests and activities are:
Making Sage Live CD images
"Sage on Windows"
Making small versions of Sage  "Sage Lite"  just application, no developement.
Building small sage virtual machines on a puppy base (e.g. to use it on windows machines)
Building preconfigured server versions  this involves multiuser and network stuff in puppy.
LINKS:
Sage homepage www.sagemath.org
Puppy derivatives: Thread on murgalinux about Sage Live CD and Sage Live CD Project Homepage
Question and answer forum: www.ask.sagemath.org
Last edited by emil on Mon 21 Nov 2011, 06:37; edited 5 times in total

Back to top



emil
Joined: 10 Nov 2009 Posts: 618 Location: Austria

Posted: Sun 16 Jan 2011, 05:55 Post subject:
sage with reduced size Subject description: stripped down bloat  sage lithe 

I built a stripped down sage binary version (60% size vs original binaries):
Download sl51146a1.sfs (218 MB):
dependencies: gfortran and tcltk and Java RE (for 3d plotting)
Right now the sfs was tested on Puppy 5.11. Sadly it won't work in the new Puppy 5.2, I am not sure why.
I have also built a Pupplet iso: sl51146a1.iso 400 MB (includes Java for 3D plotting).

I like Sage, but it always bogged me that it is so big. I settled with the fact that it is a Python program, and every larger python project seems to have this bloated feeling. And, every sage is a complete developer version  with the complete sources. The functionality is deeply dependend to have the python code available, because it needs the source for traceback (the error messages you get when you type wrong commands) and also "doctests"  the self testing capabilities of the package.
The current sage 4.6.1 had over 1.9 GB unpacked. After inspecting the code I noticed, that huge parts of the code where there in 2 or even 3 different directory trees. I learned that this is the way it is built, it would be possible to avoid this but this would mean a rewrite of the sage build scripts  a task nobody seems to be very keen of. Beside that, the ability that every sage ships with immediate developement ability is seen as a core feature of the package. I disagree here, I think a smaller "UserBinary" and an additional DEV package is the better approach.
Compiling sage is pretty straightforward in any puppy (gfortran is needed and Tcltk recommended for some functionality). So this are my steps for building and stripping.
Just to add: Rplotting works in this package, I installed Rcmdr from within without problems.
Code:  sage sh
R
install.packages("Rcmdr", dependencies=TRUE)
library(Rcmdr)

Having built with export SAGE_MATPLOTLIB_GUI="yes" also allows standard use of python packages, so
Code:  sage sh
python
from pylab import *
plot([1,2,3],[1,0,2])
show() 
produces the plot.
Java is needed for 3D plotting (included in the iso)

Back to top





You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum You cannot attach files in this forum You can download files in this forum

Powered by phpBB © 2001, 2005 phpBB Group
