Sage

classic Classic list List threaded Threaded
6 messages Options
Reply | Threaded
Open this post in threaded view
|

Sage

Marcus G. Daniels
Few things I noticed about Sage:

1) Symbolic math is courtesy of Maxima, a.k.a. Macsyma, the classic math
Lisp program of MIT.  [1]

sage: x,y=var('x,y')
sage: solve([y==x^2,y==x/2],x,y)
[[x == 1/2, y == 1/4], [x == 0, y == 0]]
sage:
Exiting SAGE (CPU time 0m1.67s, Wall time 1m20.01s).
Exiting spawned Maxima process.

2) The R shared library is actually embedded in the package.  Witness:

sage: r.wilcox_test([1,2,3,10,50,60],[1,2,-1,-20])

    Wilcoxon rank sum test with continuity correction

data:  sage4 and sage26
W = 22, p-value = 0.04157
alternative hypothesis: true location shift is not equal to 0

vs. from the R console:

> wilcox.test(c(1,2,3,10,50,60),c(1,2,-1,-20),exact=FALSE)

    Wilcoxon rank sum test with continuity correction

data:  c(1, 2, 3, 10, 50, 60) and c(1, 2, -1, -20)
W = 22, p-value = 0.04157
alternative hypothesis: true location shift is not equal to 0

3.  The package is enormous and integrates dozens of packages.   300k
lines of Common Lisp,
500k lines of C++, 1.6 million lines of C, 1.7 million lines of Python.
It takes ~ 3 hours on a fast machine to build.
An enormous software integration effort!

[1] http://en.wikipedia.org/wiki/Macsyma
http://en.wikipedia.org/wiki/Maxima_(software)


============================================================
FRIAM Applied Complexity Group listserv
Meets Fridays 9a-11:30 at cafe at St. John's College
lectures, archives, unsubscribe, maps at http://www.friam.org
Reply | Threaded
Open this post in threaded view
|

Re: Sage

Owen Densmore
Administrator
On Nov 23, 2008, at 3:06 PM, Marcus G. Daniels wrote:
> Few things I noticed about Sage:
<snip>

Hi Marcus.  I've sent a few more messages to wedtech, I wasn't sure  
friam'd be interested.  I attach a couple of the wedtech emails.

I'm really starting to like Sage quite a bit.  It is huge, and in some  
ways a bit too monolithic .. i.e. including everything in one huge  
package even though you may have most on your system already.  And I  
do find using their web based distro fine too, so you really don't  
have to download anything .. it seems fast enough on the web.

Anyway: here are the forwards:

    -- Owen

Begin forwarded message:

> From: Owen Densmore <[hidden email]>
> Date: November 19, 2008 4:43:47 PM MST
> To: WedTech <[hidden email]>
> Subject: Sage (scientific computing software) - Wikipedia, the free  
> encyclopedia
>
> Just in case someone was curious about the sage math system  
> mentioned today:
>  http://en.wikipedia.org/wiki/Sage_(computer_algebra_system)
>  http://www.sagemath.org/
> It is kinda raw, but I think it will succeed.  Several nifty things  
> about it:
>
> - It provides a notebook style similar to mathematica, as well as  
> the more traditional python/ipython terminal interface.
>
> - The notebook actually uses your browser, via a small local  
> server!  This also lets it be an on-line tool.  Beam into: http://www.sagenb.org/ 
>  to get it working over the web.
>
> - It integrates just about every open source math library into a  
> python.  I had no idea just how much of scientific computing had  
> moved to python.  R, for example has rpy.  The entire GSL (Gnu  
> Science Library) has pygsl.  Somehow numpy/scipy/matplotlib all got  
> rationally integrated as the matrix/plotting underpinnings.
>
>    -- Owen
Begin forwarded message:

> From: Owen Densmore <[hidden email]>
> Date: November 19, 2008 7:09:07 PM MST
> To: [hidden email]
> Subject: Re: [WedTech] Sage (scientific computing software) -  
> Wikipedia, the free encyclopedia
>
> [I love answering my own posts!]
>
> So I started looking at the docs a bit more and found out that the  
> notebook format (Simon's comment during today's chat) Sage uses is  
> pretty sophisticated.  If you start Sage on your own system, then  
> look at this URL:
>  http://localhost:8000/doc/live/tut/node3.html
> or
>  http://www.sagenb.org/doc/live/tut/index.html online,
> .. you'll get the Sage tutorial *as a notebook*  .. i.e. the pdf/
> html/... format the tutorial comes in is also available as a  
> notebook where all the examples in the tutorial are available live!
>
> I'm really impressed!
>
> Also, beyond all the python stuff they have, they also use jsMath
>  http://www.math.union.edu/~dpvc/jsMath/
> .. a javascript TeX renderer.  I think I'll figure out how to get my  
> website using jsMath, its pretty nice.
>
>    -- Owen
>

>
>

Begin forwarded message:

> From: Owen Densmore <[hidden email]>
> Date: November 23, 2008 9:07:31 AM MST
> To: WedTech <[hidden email]>
> Subject: Sage Reference Manual
>
> The Sage reference book:
>  http://www.sagemath.org/doc/ref/ref.html
> .. is a sort of raw dump, or log, of all the stuff in Sage, and is  
> HUGE!  The pdf version runs to 3990 pages!
>
> So I've taken to searching the pdf to find some of the odd corners.  
> (It alas does not have its own search function in the html version)
>
> Carl: here's Category Theory, for example:
>  http://www.sagemath.org/doc/ref/module-sage.categories.category.html
> .. and monoids get their own section immediately following category  
> theory, followed by General Rings, Ideals and Morphisms.
>
> I'm a bit puzzled by Sage's focus on Rings as the primary numeric  
> formalism.  R, Q, Z etc are presented as rings rather than fields,  
> for example.  I discovered one reason .. it allows Matrices to be  
> included in them due to Rings not requiring commutivity of the  
> multiplicative operator.
>
>    -- Owen
>
>

============================================================
FRIAM Applied Complexity Group listserv
Meets Fridays 9a-11:30 at cafe at St. John's College
lectures, archives, unsubscribe, maps at http://www.friam.org

Safari032.png (163K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Sage

Marcus G. Daniels
Owen Densmore wrote:
>> - It integrates just about every open source math library into a
>> python.  I had no idea just how much of scientific computing had
>> moved to python.  R, for example has rpy.  The entire GSL (Gnu
>> Science Library) has pygsl.  Somehow numpy/scipy/matplotlib all got
>> rationally integrated as the matrix/plotting underpinnings.
As a user one might think Python, but the implementations are still
reference ones (e.g. non-Python).
I think this is the way to go.  It's crazy to reimplement huge swaths of
functionality every time a slightly better language comes along..  
Especially delicate codes like this.

============================================================
FRIAM Applied Complexity Group listserv
Meets Fridays 9a-11:30 at cafe at St. John's College
lectures, archives, unsubscribe, maps at http://www.friam.org
Reply | Threaded
Open this post in threaded view
|

Re: Sage

Alfredo Covaleda-2
Marcus

Thanks. Pretty interesting. I didn't know anything about SAGE. If you compare it with Maxima and R, SAGE must be really good.

I like Maxima and R so much. Maxima is an amazing software. I'm still admired with a software that makes algebra so simple and fast. In Windows Maxima  makes everything you want, but in their Linux version seems to still lack some capabilities. Am I wrong or Maxima isn't fully developed for Linux?.

Alfredo

2008/11/24 Marcus G. Daniels <[hidden email]>
Owen Densmore wrote:
- It integrates just about every open source math library into a python.  I had no idea just how much of scientific computing had moved to python.  R, for example has rpy.  The entire GSL (Gnu Science Library) has pygsl.  Somehow numpy/scipy/matplotlib all got rationally integrated as the matrix/plotting underpinnings.
As a user one might think Python, but the implementations are still reference ones (e.g. non-Python).
I think this is the way to go.  It's crazy to reimplement huge swaths of functionality every time a slightly better language comes along..  Especially delicate codes like this.


============================================================
FRIAM Applied Complexity Group listserv
Meets Fridays 9a-11:30 at cafe at St. John's College
lectures, archives, unsubscribe, maps at http://www.friam.org


============================================================
FRIAM Applied Complexity Group listserv
Meets Fridays 9a-11:30 at cafe at St. John's College
lectures, archives, unsubscribe, maps at http://www.friam.org
Reply | Threaded
Open this post in threaded view
|

Re: Sage

Owen Densmore
Administrator
In reply to this post by Marcus G. Daniels
Indeed; I think one of the best parts of python is how well it  
integrates C code .. its sorta a "shell" for existing C libraries, in  
a fairly nice language.

I was blown away to see that Sage even has quick ways to integrate C  
code with little of the usual python/C interface programming.  They  
use Cython, which lets you have either a python-like script which  
compiles to C, or a near-trivial way to integrate C into Sage:
   http://www.sagemath.org/doc/tut/node54.html
   http://www.sagemath.org/doc/prog/node31.html

More on Cython:
   http://docs.cython.org/docs/tutorial.html#the-basics-of-cython
   http://www.perrygeo.net/wordpress/?p=116

And finally a slide set on Sage development:
   http://sagemath.org/library/talks/20071114-sage_bristol/sage-slides.pdf

I'm really excited by Sage.  It just does what you'd like.  Great  
latex integration, good graphics, a web based notebook, with its own  
tiny web server for local use.  It just goes on and on.

They really appreciate new users, along with good bug reports.  And  
they respond *really quickly*!

     -- Owen


On Nov 23, 2008, at 10:48 PM, Marcus G. Daniels wrote:

> Owen Densmore wrote:
>>> - It integrates just about every open source math library into a  
>>> python.  I had no idea just how much of scientific computing had  
>>> moved to python.  R, for example has rpy.  The entire GSL (Gnu  
>>> Science Library) has pygsl.  Somehow numpy/scipy/matplotlib all  
>>> got rationally integrated as the matrix/plotting underpinnings.
> As a user one might think Python, but the implementations are still  
> reference ones (e.g. non-Python).
> I think this is the way to go.  It's crazy to reimplement huge  
> swaths of functionality every time a slightly better language comes  
> along..  Especially delicate codes like this.


============================================================
FRIAM Applied Complexity Group listserv
Meets Fridays 9a-11:30 at cafe at St. John's College
lectures, archives, unsubscribe, maps at http://www.friam.org
Reply | Threaded
Open this post in threaded view
|

Re: Sage

Robert Holmes
Dammit Owen, I have a hard enough time getting my to-do list down to manageable proportions, and then you come along with something as cool as Sage.... -- Robert

On Mon, Nov 24, 2008 at 10:45 AM, Owen Densmore <[hidden email]> wrote:
Indeed; I think one of the best parts of python is how well it integrates C code .. its sorta a "shell" for existing C libraries, in a fairly nice language.

I was blown away to see that Sage even has quick ways to integrate C code with little of the usual python/C interface programming.  They use Cython, which lets you have either a python-like script which compiles to C, or a near-trivial way to integrate C into Sage:
 http://www.sagemath.org/doc/tut/node54.html
 http://www.sagemath.org/doc/prog/node31.html

More on Cython:
 http://docs.cython.org/docs/tutorial.html#the-basics-of-cython
 http://www.perrygeo.net/wordpress/?p=116

And finally a slide set on Sage development:
 http://sagemath.org/library/talks/20071114-sage_bristol/sage-slides.pdf

I'm really excited by Sage.  It just does what you'd like.  Great latex integration, good graphics, a web based notebook, with its own tiny web server for local use.  It just goes on and on.

They really appreciate new users, along with good bug reports.  And they respond *really quickly*!

   -- Owen



On Nov 23, 2008, at 10:48 PM, Marcus G. Daniels wrote:

Owen Densmore wrote:
- It integrates just about every open source math library into a python.  I had no idea just how much of scientific computing had moved to python.  R, for example has rpy.  The entire GSL (Gnu Science Library) has pygsl.  Somehow numpy/scipy/matplotlib all got rationally integrated as the matrix/plotting underpinnings.
As a user one might think Python, but the implementations are still reference ones (e.g. non-Python).
I think this is the way to go.  It's crazy to reimplement huge swaths of functionality every time a slightly better language comes along..  Especially delicate codes like this.


============================================================
FRIAM Applied Complexity Group listserv
Meets Fridays 9a-11:30 at cafe at St. John's College
lectures, archives, unsubscribe, maps at http://www.friam.org


============================================================
FRIAM Applied Complexity Group listserv
Meets Fridays 9a-11:30 at cafe at St. John's College
lectures, archives, unsubscribe, maps at http://www.friam.org