Differences between revisions 18 and 19
Revision 18 as of 2007-04-21 02:03:54
Size: 3205
Editor: DavidJoyner
Revision 19 as of 2007-04-23 16:25:58
Size: 3347
Editor: wstein
Deletions are marked like this. Additions are marked like this.
Line 10: Line 10:
 * SAGE has fairly complete symbolic manipulation capabilities, including symbolic and numerical integration, differentiation, limits, etc.

What SAGE Can Do

This is supposed to be a high-level overview and list of functionality that is easily available from the standard SAGE interface. In particular, don't list functionality that is only available, e.g., by directly calling GAP or other systems. Also, this is aimed at people who have never heard of programs like GAP, Singular, etc., and don't care how SAGE does things -- they just want to know exactly what SAGE can do.


  • SAGE has fairly complete symbolic manipulation capabilities, including symbolic and numerical integration, differentiation, limits, etc.

Coding theory

  • Many commands from GAP and GUAVA are wrapped and there are some native (Python/SAGE) commands.

Commutative Algebra

  • Fast computation of Groebner basis.


  • Classical ciphers are well supported.

Elementary Education

  • The SAGE notebook (a graphical interface) is a useful tool for basic math education because of its flexible visualization/output capabilities.

Finite Fields

  • Basic arithmetic over finite extension fields is fast because of the Givaro library.

Graphical Interface

  • A web-browser based graphical interface, which anybody can easily use or share. The GUI can also be used for any math software that SAGE interfaces with.
  • A wiki with math typesetting preconfigured.

Group Theory

  • Permutations groups
  • Abelian groups
  • Matrix groups (in particular, classical groups over finite fields) Most of these are computed by wrapping GAP commands but some commands are native (Python/SAGE).


  • Interpreter interfaces to Axiom, CoCoA, GAP, KASH, Macaulay2, Magma, Maple, Mathematica, Matlab, Maxima, MuPAD, Octave, and Singular.
  • C/C++-library interfaces to NTL, PARI, Linbox, and mwrank.

Linear Algebra

  • Compute the reduced row echelon form of e.g. dense 20,000x20,000 matrices over GF(2) in seconds and 50MB of RAM.
  • Computation of reduced row echelon forms of sparse matrices.
  • Fast matrix multiplication, characteristic polynomial and echelon forms of dense matrices over QQ.

Number Theory

  • Compute Mordell-Weil groups of (many) elliptic curves using both invariants and algebraic 2-descents.
  • A wide range of number theoretic functions, e.g., euler_phi, primes enumeration, sigma, tau_qexp, etc.
  • Compute the number of points on an elliptic curve modulo p for all primes p less than a million in seconds.
  • Optimized implementation of the SEA point counting algorithm for counting points modulo p when p is large.
  • An optimized modern quadratic Sieve for factoring integers n = p*q.
  • Modular symbols for general weight, character, Gamma1, and GammaH.
  • Modular forms for general weight >= 2, character, Gamma1, and GammaH.

Numerical Computation

  • Fast arithmetic and special functions with double precision real and complex numbers.
  • Matrix and vector arithmetic, QR decomposition, system solving.

p-adic Numbers


  • SAGE provides 2d plotting functionality similar to Mathematica's.
  • SAGE provides limited 3d plotting via an included ray tracer.


  • Exact convex hulls in any dimension can be quickly computed using polymake and the cddlib library.

cando (last edited 2008-11-14 13:42:15 by anonymous)