Differences between revisions 38 and 39
Revision 38 as of 2008-01-11 16:20:46
Size: 4705
Revision 39 as of 2008-11-14 13:42:15
Size: 4705
Editor: anonymous
Comment: converted to 1.6 markup
No differences found!

What Sage Can Do

This is a high-level overview and list of functionality that is easily available from the standard Sage interface. (The intended reader has never heard of Maxima, GAP, Singular, Givaro, etc.).


  • Sage can parse various file formats such as GenBank, FASTA, BLAST, and ClustalW.

  • Access online databases such as NCBI, SwissProt, and PubMed.

  • Translate RNA sequences to protein sequences using a variety of translation types (e.g. mitochondrial).


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


  • Many basic functions.
  • Many of Sloane's functions are implemented.

Coding theory

  • A wide range of basic functionality.

Commutative Algebra

  • Fast computation of Groebner basis.
  • Fast basic arithmetic over Q and GF(p^n).

  • Global, local and mixed monomial orderings.
  • Many basic ideal related functions/methods.


  • Classical ciphers are well supported.
  • Fast point counting on elliptic curves.
  • Support for algebraic cryptanalysis like small scale AES equation system generators

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

  • Fast arithmetic over finite fields and extensions of finite fields for GF(p^n) with p^n < 2^{16} and p=2 and n > 1.

Graph Theory

  • Construction, directed graphs, labeled graphs.
  • 2d and 3d plotting of graphs using an optimized implementation of the spring layout algorithm.
  • Constructors for all standard families of graphs
  • Graph isomorphism testing; automorphism group computation

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)

Interfaces to Math Software

  • 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.
  • Sparse matrix solver and rank computation over GF(p).

  • 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.
  • Optimized modern quadratic sieve for factoring integers n = p*q.
  • Optimized implementation of the elliptic curve factorization method.
  • Modular symbols for general weight, character, Gamma1, and GammaH.
  • Modular forms for general weight >= 2, character, Gamma1, and GammaH.

  • Elliptic Curves:
    • All standard invariants of elliptic curves over QQ, division polynomials, 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 Schoof-Elkies-Atkin point counting algorithm for counting points modulo p when p is large.
    • Complex and p-adic L-functions of elliptic curves
    • Can compute p-adic heights and regulators for p < 100000 in a reasonable amount of time.

    • Formal groups

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

  • Extensive support for arithmetic with a range of different models of p-adic arithmetic.


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


  • State of the art support for computing with lattice polytopes.
  • Exact convex hulls in any dimension can be quickly computed (requires the optional polymake package).


  • Linear and nonlinear modelling, classical statistical tests, time-series analysis, classification, clustering.

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