596
Comment:
|
3183
|
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. 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. |
|
Line 4: | Line 9: |
* SAGE has fairly complete symbolic manipulation capabilities, including symbolic and numerical integration, differentiation, limits, etc. == Coding theory == * A wide range of basic functionality. |
|
Line 7: | Line 17: |
== Crypto == | * Fast computation of Groebner basis. == Cryptography == |
Line 13: | Line 25: |
* Using the notebook, Timothy Clemans has made an app that shows the calculation of the GCD of a list of numbers using cancellation and an app that given a factorable trinomial where A = 1 a visualization of finding the solution is given. | * The SAGE notebook (a graphical interface) is a useful tool for basic math education because of its flexible visualization/output capabilities. |
Line 17: | Line 29: |
* Very fast arithmetic over finite fields and extensions of finite fields (especially up to cardinality 2^16). |
|
Line 18: | Line 32: |
* 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 21: | Line 37: |
* 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. |
|
Line 23: | Line 48: |
* 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. |
|
Line 24: | Line 53: |
* 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. * 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. * Modular symbols for general weight, character, Gamma1, and GammaH. * Modular forms for general weight >= 2, character, Gamma1, and GammaH. |
|
Line 26: | Line 62: |
* Fast arithmetic and special functions with double precision real and complex numbers. * Matrix and vector arithmetic, QR decomposition, system solving. |
|
Line 30: | Line 68: |
* SAGE provides 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). |
What SAGE Can Do
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.
Calculus
- SAGE has fairly complete symbolic manipulation capabilities, including symbolic and numerical integration, differentiation, limits, etc.
Coding theory
- A wide range of basic functionality.
Commutative Algebra
- Fast computation of Groebner basis.
Cryptography
- Classical ciphers are well supported.
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).
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.
- 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.
- Modular symbols for general weight, character, Gamma1, and GammaH.
Modular forms for general weight >= 2, character, Gamma1, and GammaH.
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
Plotting
- SAGE provides 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).