Differences between revisions 20 and 38 (spanning 18 versions)
Revision 20 as of 2007-04-23 16:33:49
Size: 3183
Editor: wstein
Comment:
Revision 38 as of 2008-01-11 16:20:46
Size: 4705
Comment:
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 supposed to be a high-level overview and list of functionality that is easily available
from the standard SAGE interface. The idea is to basically *NOT* say "can do what GAP does".
Instead describe actually functionalitty. Imagine a reader who has never heard of Maxima,
GAP, Singular, Givaro, etc.

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).
Line 9: 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 18: Line 25:
 * Fast basic arithmetic over $Q$ and $GF(p^n)$.
 * Global, local and mixed monomial orderings.
 * Many basic ideal related functions/methods.
Line 22: Line 32:
 * Fast point counting on elliptic curves.
 * Support for algebraic cryptanalysis like small scale AES equation system generators
Line 25: 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 29: 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 41: Line 60:
== Interfaces == == Interfaces to Math Software ==
Line 50: Line 69:
 * Sparse matrix solver and rank computation over $GF(p)$.
Line 55: 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 Schoof-Elkies-Atkin 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 60: 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 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
Line 66: Line 92:
 * Extensive support for arithmetic with a range of different models of p-adic arithmetic.
Line 68: 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 74: Line 101:

== Statistics ==
 * Linear and nonlinear modelling, classical statistical tests, time-series analysis, classification, clustering.

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.

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