3063
Comment:

← Revision 39 as of 20081114 13:42:15 ⇥
4705
converted to 1.6 markup

Deletions are marked like this.  Additions are marked like this. 
Line 1:  Line 1: 
= What SAGE Can Do =  = What Sage Can Do = 
Line 3:  Line 3: 
This is a highlevel 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.)  This is a highlevel 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). 
Line 6:  Line 12: 
* SAGE has fairly complete symbolic manipulation capabilities, including symbolic and numerical integration, differentiation, limits, etc.  * 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. 
Line 15:  Line 25: 
* Fast basic arithmetic over $Q$ and $GF(p^n)$. * Global, local and mixed monomial orderings. * Many basic ideal related functions/methods. 

Line 19:  Line 32: 
* Fast point counting on elliptic curves. * Support for algebraic cryptanalysis like small scale AES equation system generators 

Line 22:  Line 38: 
* The SAGE notebook (a graphical interface) is a useful tool for basic math education because of its flexible visualization/output capabilities.  * The Sage notebook (a graphical interface) is a useful tool for basic math education because of its flexible visualization/output capabilities. 
Line 26:  Line 42: 
* Very fast arithmetic over finite fields and extensions of finite fields (especially up to cardinality 2^16).  * 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 
Line 38:  Line 60: 
== Interfaces ==  == Interfaces to Math Software == 
Line 47:  Line 69: 
* Sparse matrix solver and rank computation over $GF(p)$.  
Line 52:  Line 75: 
* 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 SchoofElkiesAtkin point counting algorithm for counting points modulo p when p is large. * An optimized modern quadratic Sieve for factoring integers n = p*q. 
* Optimized modern quadratic sieve for factoring integers n = p*q. * Optimized implementation of the elliptic curve factorization method. 
Line 57:  Line 79: 
* 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 SchoofElkiesAtkin point counting algorithm for counting points modulo p when p is large. * Complex and padic Lfunctions of elliptic curves * Can compute padic heights and regulators for p < 100000 in a reasonable amount of time. * Formal groups 

Line 63:  Line 92: 
* Extensive support for arithmetic with a range of different models of padic arithmetic.  
Line 65:  Line 95: 
* SAGE provides 2d plotting functionality similar to Mathematica's. * SAGE provides limited 3d plotting via an included ray tracer. 
* Sage provides very complete 2d plotting functionality similar to Mathematica's. * Sage provides limited 3d plotting via an included ray tracer. 
Line 71:  Line 101: 
== Statistics == * Linear and nonlinear modelling, classical statistical tests, timeseries analysis, classification, clustering. 
What Sage Can Do
This is a highlevel 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 webbrowser 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 MordellWeil groups of (many) elliptic curves using both invariants and algebraic 2descents.
 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 SchoofElkiesAtkin point counting algorithm for counting points modulo p when p is large.
 Complex and padic Lfunctions of elliptic curves
Can compute padic 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.
padic Numbers
 Extensive support for arithmetic with a range of different models of padic 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, timeseries analysis, classification, clustering.