Differences between revisions 15 and 28 (spanning 13 versions)
Revision 15 as of 2007-04-18 16:34:27
Size: 2743
Editor: wstein
Comment:
Revision 28 as of 2007-04-27 18:52:38
Size: 4121
Editor: wstein
Comment:
Deletions are marked like this. Additions are marked like this.
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. In particular, don't list functionality that is only available,
e.g., by directly calling GAP or other systems. Also, this is aimed at people who have never heard
of programs like GAP, Singular, etc., and don't care how SAGE does things -- they just want to know
exactly ''what'' SAGE can do.
SAGE does a wider range of mathematics than every other open source mathematics software, partly by virtue of incorporating several of the other large mature systems.

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.). This should be aimed at SAGE-2.5, and will be released with it.
Line 10: Line 8:
 * SAGE has fairly complete symbolic manipulation capabilities, including symbolic and numerical integration, differentiation, limits, etc.

== Combinators ==
 * Many basic functions.
 * Many of Sloane's functions are implemented.

== Coding theory ==

 * A wide range of basic functionality.
Line 18: Line 25:
 * Fast point counting on elliptic curves.
Line 25: Line 33:
 * Basic arithmetic over finite extension fields is fast because of the Givaro library.  * Very fast arithmetic over finite fields and extensions of finite fields (especially up to cardinality 2^16).

== 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 32: Line 46:

 * Permutations groups
 * Abelian groups
 * Matrix groups (in particular, classical groups over finite fields)
Line 47: Line 65:
 * 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 SEA point counting algorithm for counting points modulo p when p is large.
 * An optimized modern quadratic Sieve for factoring integers n = p*q.
 * An optimized modern quadratic sieve for factoring integers n = p*q.
Line 52: Line 68:
 * 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 58: Line 81:
 * Extensive support for arithmetic with a range of different models of p-adic arithmetic.
Line 60: Line 84:
 * SAGE provides 2d plotting functionality similar to Mathematica's.  * SAGE provides very complete 2d plotting functionality similar to Mathematica's.
Line 62: Line 86:

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

What SAGE Can Do

SAGE does a wider range of mathematics than every other open source mathematics software, partly by virtue of incorporating several of the other large mature systems.

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.). This should be aimed at SAGE-2.5, and will be released with it.

Calculus

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

Combinators

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

Cryptography

  • Classical ciphers are well supported.
  • Fast point counting on elliptic curves.

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

  • Very fast arithmetic over finite fields and extensions of finite fields (especially up to cardinality 2^16).

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

  • 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.
  • 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.
  • An optimized modern quadratic sieve for factoring integers n = p*q.
  • 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).

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