# 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.).

## Bioinformatics

• 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).

## Calculus

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

## Combinatorics

• 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.

## Cryptography

• 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.

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

## Plotting

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

## Polytopes

• 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).

## Statistics

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

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