Why SAGE as opposed to, say, SCILAB?

1,875 views
Skip to first unread message

miner_tom

unread,
Jun 6, 2008, 7:26:51 PM6/6/08
to sage-edu
Hi,

Last night I became aware of SAGE through a televised lecture by the
developer. I am familiar with different mathematical software, and one
of the key reasons that the developer gave for all of the effort that
he put into developing SAGE was that there was no open source
mathematical software "out there" that would do the job.

I was wondering, since SCILAB is open source, why was SCILAB not
satisfactory?

Thank You
Tom
tom_ci...@hotmail.com

Robert Bradshaw

unread,
Jun 6, 2008, 9:05:19 PM6/6/08
to sage...@googlegroups.com
I am sure other people will have more to say about this, but SCILAB
seems to be more aimed at numerical computation and doesn't have much
support for working in areas like number theory, combinatorics, exact
linear algebra, etc. There's also a question of licensing (more
restrictive commercial use) though I see there are plans to change that.

- Robert

Mike Hansen

unread,
Jun 6, 2008, 9:04:18 PM6/6/08
to sage...@googlegroups.com
Hi Tom,

From scilab's website: "Scilab is a scientific software package for
numerical computations providing a powerful open computing environment
for engineering and scientific applications". This is great if you
want to do numerical computations or "engineering and scientific
applications", but it's not so hot for doing things like number
theory, exact linear algebra, commutative algebra, combinatorics,
group theory, etc. It offers almost no functionality in these areas
since they aren't really in scilab's scope.

Many of Sage's developers are mathematicians interested in exactly
those areas that I mentioned above including William Stein (who I'm
guessing is the one you saw give a lecture).

--Mike

Francis

unread,
Jul 7, 2008, 12:09:14 PM7/7/08
to sage-edu
Sage is definitively more focused on mathematics and Scilab is more
for physicist and engineers which do more of numerical exercises. I
needed a free software to analyze signal data and I have looked into
various packages including Scilab, Sage, Octave, Freemat, etc. For the
moment I have selected Scilab since I used Matlab at the University
and got used to its programming language and stepping over to Scilab
is a small step. Furthermore Scilab seems to get a lot of support from
the governments and research consortia and and with downloads numbers
of over 40000 per month it looks like it will stay.
However, I have to admit that Scilab still has a long way to go. The
support (e.g. forums, documentation) and the user interface is rather
poor and it feels less intuitive compared to Matlab. Perhaps the
coming release will show some considerable improvements, but I think
considerable improvements can be made in support in the form of
forums, documentation, script exchange, etc.
Although Sage is designed for mathematicians it can do number
crunching. However, most Sage tutorials are very much focussed on
maths it is difficult to get into it as a physicist/engineer. Personal
I am intrigued by Sage. One of the main reason is that the language is
Python and such that Sage can be extended with thousands of libraries
including GUIs, support for Fortran, C++, etc. Furthermore I believe
that Sage has better graphics support which is a big plus over Scilab
since at the end of the calculations you will need to produce a graph
At the moment I keep working with Scilab since I can work with it
without learning to much new things, but I have spend some time using
Sage and if Scilab 5 does not show the improvements I would like to
see I probably lean very hard towards Sage.

By the way it has been mentioned several times on Sage websites that
Scilab is not open source in the true meaning of the word. If you read
the license agreement carefully you will find that commercialization
of the code requires authorization i.e. you can't use the code to
create your own Matlab/Mathematica to sell it to consumers and any
derived/composite versions need to say copyright Scilab Enri (or
something like that). Is that a big deal ... it is free advertisement
for the institute and more money will finds it way to the project!?

I guess I am rambling a bit, but in conclusion: Scilab and Sage are
different packages with each pros and cons, both seem to have a good
foundation (from community and government) and will be around for the
coming years and maybe decades. Physicists/engineers probably will
prefer Scilab whereas Scilab is not really an option for
mathematicians. As physicist I have to acknowledge that Sage has some
good trump card and if Scilab does not improve I will really consider
using Sage for professional use rather than just interest.

William Stein

unread,
Jul 7, 2008, 12:22:43 PM7/7/08
to sage...@googlegroups.com
On Mon, Jul 7, 2008 at 9:09 AM, Francis <F.Dro...@ed.ac.uk> wrote:
>...

> At the moment I keep working with Scilab since I can work with it
> without learning to much new things, but I have spend some time using
> Sage and if Scilab 5 does not show the improvements I would like to
> see I probably lean very hard towards Sage.
>
> By the way it has been mentioned several times on Sage websites that
> Scilab is not open source in the true meaning of the word. If you read
> the license agreement carefully you will find that commercialization
> of the code requires authorization i.e. you can't use the code to
> create your own Matlab/Mathematica to sell it to consumers and any
> derived/composite versions need to say copyright Scilab Enri (or
> something like that). Is that a big deal ...

Yes. These discussions were usually in the context of why Sage doesn't
somehow work closely with the scilab project (e.g., building on top of it).
The license for Scilab is not GPL compatible so it is illegal for Sage to
build on the work of Scilab. My understanding is that this may change
in the next version of Scilab.

> I guess I am rambling a bit, but in conclusion: Scilab and Sage are
> different packages with each pros and cons, both seem to have a good
> foundation (from community and government) and will be around for the
> coming years and maybe decades. Physicists/engineers probably will
> prefer Scilab whereas Scilab is not really an option for
> mathematicians. As physicist I have to acknowledge that Sage has some
> good trump card and if Scilab does not improve I will really consider
> using Sage for professional use rather than just interest.

There are a lot of people in the "numerical Python" / numpy / scipy community
who work is all in Sage. This conference http://conference.scipy.org/ has very
good participation. Sage definitely aims to one day be a viable alternative
to Matlab. We care about the physicist and engineer users.

If you do switch to Sage, please consider (re)writing some of our documentation
to be more engineering friendly.

-- William

Francis

unread,
Jul 21, 2008, 12:03:39 PM7/21/08
to sage-edu
Just to finalize the previous discussion. I have made the decision
that I will focus on using python for numerical computations. My
decision is based on the fact that
A: it is using python rather than it is own obscure language
B: nicer graphics although 3D requires other python libraries
C: it has functions for reading SEG-Y data and also deconvolution
functions
D: help function and function descriptions in Scilab are horrible and
forums/mailing lists are not really effective.

However to be honest, I have to admit that I have uninstalled Sage and
just installed the Numpy, Scipy and Matlibplot only. Sage is becoming
massive. The download is about 300MB and I recall that after unfolding
it occupies a space of 800MB. Compare this with the 15MB of Scilab!!!
Although it might seem to make Sage very powerful, I think I would not
use 99.5% of the possibilities Sage offers and actually wasting
computer resources.

Francis


On Jul 7, 5:22 pm, "William Stein" <wst...@gmail.com> wrote:
> who work is all in Sage. This conferencehttp://conference.scipy.org/has very

William Stein

unread,
Jul 21, 2008, 1:04:36 PM7/21/08
to sage...@googlegroups.com
On Mon, Jul 21, 2008 at 6:03 PM, Francis <F.Dro...@ed.ac.uk> wrote:
>
> Just to finalize the previous discussion. I have made the decision
> that I will focus on using python for numerical computations. My
> decision is based on the fact that
> A: it is using python rather than it is own obscure language
> B: nicer graphics although 3D requires other python libraries

Sage includes with two ways of doing 3D plotting, both which
work reasonably well, based on jmol and tachyon. Try this, on
either the command line or notebook:

sage: x, y = var('x,y')
sage: plot3d(x^2 + y^2, (x,-2,2), (y,-2,2))
sage: plot3d(sin(x*y), (x, -pi, pi), (y, -pi, pi), viewer='tachyon')


> C: it has functions for reading SEG-Y data and also deconvolution
> functions
> D: help function and function descriptions in Scilab are horrible and
> forums/mailing lists are not really effective.

Interesting.

> However to be honest, I have to admit that I have uninstalled Sage and
> just installed the Numpy, Scipy and Matlibplot only. Sage is becoming
> massive. The download is about 300MB and I recall that after unfolding
> it occupies a space of 800MB. Compare this with the 15MB of Scilab!!!
> Although it might seem to make Sage very powerful, I think I would not
> use 99.5% of the possibilities Sage offers and actually wasting
> computer resources.

Sorry for wasting your hard drive space. Evidently the 3d graphics
I mention above won't be relevant for you. Best of luck with
numpy/scipy/matplotlib/python.

-- William

Reply all
Reply to author
Forward
0 new messages