Introduction
============
You can install Sage either from a pre-built binary tarball or from
source. The binary method is fastest, and has the fewest
prerequisites. The source method gives you access to possibly a
slightly more up-to-date version of Sage, and ensures that you can
modify any of the Sage source code and recompile. Also, installing
from source should be simpler than you're used to with most
software, since much testing is done to make sure Sage and all its
components can be successfully compiled with no user interaction on
a range of computers. Thus it's probably easier for you to build
all of Sage from source than it would be for you to build some of
the packages that come with Sage (e.g., Singular).
The Sage distribution includes most programs on which Sage depends --
see a partial list below. These programs are all released under a
license compatible with the GNU General Public License (GPL), version 3.
See the COPYING.txt file in the Sage root directory for more details.
Here is a list of some of the software included with Sage:
* atlas: The ATLAS (Automatically Tuned Linear Algebra Software) project
* bzip2: bzip2 compression library
* ecl: common lisp interpreter
* cython: the Cython programming language: a language, based on Pyrex,
for easily writing C extensions for Python
* eclib: John Cremona's programs for enumerating and computing with
elliptic curves defined over the rational numbers
* ecm: elliptic curve method for integer factorization
* flint: fast library for number theory
* GAP: A System for Computational Discrete Algebra
* GCC: GNU compiler collection containing C, C++ and Fortran compilers
* genus2reduction: Reduction information about genus 2 curves
* gfan: Computation of Groebner fans and toric varieties
* givaro: a C++ library for arithmetic and algebraic computations
* mpir: MPIR is an open source multiprecision integer library derived from
GMP (the GNU multiprecision library)
* gsl: GNU Scientific Library is a numerical library for C and C++
programmers
* ipython: An enhanced Python shell designed for efficient interactive
work, a library to build customized interactive environments using
Python as the basic language, and a system for interactive distributed
and parallel computing
* jmol: a Java molecular viewer for three-dimensional chemical
structures
* lapack: a library of Fortran 77 subroutines for solving the most
commonly occurring problems in numerical linear algebra.
* lcalc: Rubinstein's L-functions calculator
* libfplll: contains different implementations of the floating-point LLL
reduction algorithm, offering different speed/guarantees ratios
* libm4ri: Library for matrix multiplication, reduction and inversion
over GF(2)
* linbox: C++ template library for exact, high-performance linear
algebra computation
* mathjax: Javascript display engine for mathematics
* matplotlib: a Python 2-D plotting library
* maxima: symbolic algebra and calculus
* mercurial: a Source Control Management system designed for handling of
very large distributed projects
* mpfi: a C library for arithmetic by multi-precision intervals, based
on MPFR and GMP
* mpfr: a C library for multiple-precision floating-point computations
with correct rounding
* networkx: a Python package for the creation, manipulation, and study
of the structure, dynamics, and functions of complex networks
* NTL: number theory C++ library
* numpy: numerical linear algebra and other numerical computing
capabilities for Python
* palp: a package for analyzing lattice polytopes
* pari: PARI number theory library
* pexpect: Python expect (for remote control of other systems)
* polybori: provide high-level data types for Boolean polynomials and
monomials, exponent vectors, as well as for the underlying
polynomial rings and subsets of the power set of the Boolean
variables
* PPL: The Parma Polyhedra Library
* pynac: a modified version of GiNaC (a C++ library for symbolic
mathematical calculations) that replaces the dependency on CLN by
Python
* Python: The Python programming language
* R: a language and environment for statistical computing and graphics
* readline: GNU Readline line editor library
* scipy: scientific tools for Python
* singular: Polynomial computations in algebraic geometry, etc.
* symmetrica: routines for computing in the representation theory of
classical and symmetric groups, and related areas
* sympow: Symmetric power L-functions and modular degrees
* sympy: a Python library for symbolic mathematics
* tachyon: Tachyon(tm) parallel/multiprocessor ray tracing software
* termcap: Display terminal library
* Twisted: Networking framework
* zlib: zlib compression library
* zn_poly: C library for polynomial arithmetic in `\ZZ/n\ZZ[x]`