Puppy Linux Discussion Forum Forum Index Puppy Linux Discussion Forum
Puppy HOME page : puppylinux.com
"THE" alternative forum : puppylinux.info
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

The time now is Mon 22 Sep 2014, 02:14
All times are UTC - 4
 Forum index » Advanced Topics » Additional Software (PETs, n' stuff) » Engineering/Science/Simulation
Sage
Post_new_topic   Reply_to_topic View_previous_topic :: View_next_topic
Page 1 of 1 Posts_count  
Author Message
emil

Joined: 10 Nov 2009
Posts: 618
Location: Austria

PostPosted: Mon 10 Jan 2011, 07:43    Post_subject:  Sage
Sub_title: 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 murga-linux about Sage Live CD and Sage Live CD Project Homepage
Question and answer forum: www.ask.sagemath.org

Edited_times_total
Back to top
View user's profile Send_private_message Visit_website 
emil

Joined: 10 Nov 2009
Posts: 618
Location: Austria

PostPosted: Sun 16 Jan 2011, 05:55    Post_subject: sage with reduced size
Sub_title: stripped down bloat - sage lithe
 

I built a stripped down sage binary version (-60% size vs original binaries):

Download sl-511-46-a1.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: sl-511-46-a1.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 "User-Binary" 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: R-plotting 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
View user's profile Send_private_message Visit_website 
Display_posts:   Sort by:   
Page 1 of 1 Posts_count  
Post_new_topic   Reply_to_topic View_previous_topic :: View_next_topic
 Forum index » Advanced Topics » Additional Software (PETs, n' stuff) » Engineering/Science/Simulation
Jump to:  

Rules_post_cannot
Rules_reply_cannot
Rules_edit_cannot
Rules_delete_cannot
Rules_vote_cannot
You cannot attach files in this forum
You can download files in this forum


Powered by phpBB © 2001, 2005 phpBB Group
[ Time: 0.0550s ][ Queries: 11 (0.0037s) ][ GZIP on ]