# 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
• 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]$$

#### Previous topic

Welcome to the Sage Installation Guide