Differences between revisions 1 and 36 (spanning 35 versions)
Revision 1 as of 2007-04-16 17:59:23
Size: 265
Editor: anonymous
Comment:
Revision 36 as of 2008-01-11 16:19:28
Size: 4702
Comment:
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
= What SAGE Can Do = = 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).
Line 4: Line 12:
 * Sage has fairly complete symbolic manipulation capabilities, including symbolic and numerical integration, differentiation, limits, etc.
Line 5: Line 14:
== Commutative Algebra == == 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.
Line 9: Line 42:
 * 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 10: Line 51:
 * 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.
Line 13: Line 56:
 * 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.
Line 15: Line 67:
== Number Theory ==  * 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
Line 18: Line 88:
 * Fast arithmetic and special functions with double precision real and complex numbers.
 * Matrix and vector arithmetic, QR decomposition, system solving.
Line 20: Line 92:
 * Extensive support for arithmetic with a range of different models of p-adic arithmetic.
Line 22: Line 95:
 * 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.

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)