= 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. == p-adic Numbers == * 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.