Sage FAQ: Frequently Asked Questions

TableOfContents

1. Introduction

1.1. What is Sage?

Sage is a comprehensive open-source mathematics software suite that has the mission statement "Creating a viable free open source alternative to Magma, Maple, Mathematica, and Matlab." See [http://www.sagemath.org/] for more details.

2. Getting Sage

2.1. How do I get a Sage program I can run immediately?

Go to [http://sagemath.org/download.html] and click on the link for the binary for your operating system.

2.2. How do I get the Sage source code?

Go to [http://sagemath.org/dist/src/index.html] to download the tar archive for any release of Sage.

2.3. How do I get a previous release of Sage?

Go to [http://sagemath.org/dist/src/index.html] to download the tar archive for any release of Sage.

3. Installing and running Sage

3.1. How do I compile the source to Sage?

Download the source tar archive, extract the archive, change your directory to be inside of it, and type make

3.2. How do I run Sage on a platform other than VMWare or Windows?

Change your directory to the sage directory and run ./sage

To start an online notebook server, start Sage and type notebook() at the sage command prompt.

3.3. How do I run Sage with VMWare?

You must install the VMWare software (the free VMWare Player should work). Simply start the virtual machine using the VMWare software, wait for the virtual machine to boot up, then type notebook at the prompt.

3.4. How do I run Sage in Windows?

Windows is currently supported via the VMWare image, so see the instructions for running Sage under VMWare.

4. Developing in Sage

4.1. What tools do I need to develop in Sage?

Sage comes with all needed tools. Mercurial is the source code revision system that Sage uses.

4.2. Where is the source code to Sage?

You can browse the complete source code to everything in Sage at [http://www.sagemath.org/hg/]. This is a web interface to the Mercurial repository. The main source files are at [http://www.sagemath.org/hg/sage-main?cmd=manifest;manifest=-1;path=/sage/]. The other directories include docs directories, the package system, etc.

5. Other questions


sage: from scipy import stats
sage: RealNumber=float
sage: stats.ttest_ind(list([1,2,3,4,5]),list([2,3,4,5,.6]))
(array(0.076752955645333687), 0.940704902474)







sage -t  devel/sage-main/sage/libs/pari/gen.pyx
python(4563) malloc: *** vm_allocate(size=4096000000) failed (error code=3)
python(4563) malloc: *** error: can't allocate region
python(4563) malloc: *** set a breakpoint in szone_error to debug











# These comments are hints to Sage/Pyrex about the compiler and
# libraries needed for the Givaro library:
#
#clang c++
#clib givaro gmpxx gmp m stdc++
cimport sage.rings.finite_field_givaro
# Construct a finite field of order 11.
cdef sage.rings.finite_field_givaro.FiniteField_givaro K
K = sage.rings.finite_field_givaro.FiniteField_givaro(11)
print "K is a", type(K)
print "K cardinality =", K.cardinality()
# Construct two values in the field:
cdef sage.rings.finite_field_givaro.FiniteField_givaroElement x
cdef sage.rings.finite_field_givaro.FiniteField_givaroElement y
x = K(3)
y = K(6)
print "x is a", type(x)
print "x =", x
print "y =", y
print "x has multiplicative order =", x.multiplicative_order()
print "y has multiplicative order =", y.multiplicative_order()
print "x*y =", x*y
# Show that x behaves like a finite field element:
for i in range(1, x.multiplicative_order() + 1):
    print i, x**i
assert x*(1/x) == K.one_element()

To find out more, type sage.rings.finite_field_givaro.FiniteField_givaro. at the Sage prompt and hit tab, then use ?? to get more info on each function. For example:

sage.rings.finite_field_givaro.FiniteField_givaro.one_element??

tells you more about the multiplicative unit element in the finite field.


/bin/login -f sage

and make this file executable; then edit /etc/event.d/tty1, comment out

respawn /sbin/getty 38400 tty1

and add

respawn /sbin/getty -n -1 /usr/bin/autologin 38400 tty1

Now every time the appliance reboots, it will automatically load directly to the sage: prompt. Warning: This will make it nearly impossible to get a terminal prompt! So only do this if you don't plan on any further management.



ToDo