My Sage Days 23.5 talk.
Goals for this meeting:
* Improve interaction between the Sage and Singular groups:
- Motivation: by working together we can accomplish much, much
more than by competing with each other.
(E.g., Cocoa vs Macaulay vs Singular. Seriously??! They
fight while Magma & Maple clean up.)
- Mailing lists:
- libsingular-devel
- Why Singular is in Sage instead of Macaulay2 or Cocoa: it was
much easier to build Singular from source than Macaulay2, and
Cocoa released their first open source version way too late.
* For Sage developers:
- Learn more precisely the technical details of how Singular is
developed (a social question)
- Understand the goals and roadmap of the Singular project.
- Better understand the actual Singular codebase
- Understand the Singular test suite
- Understand the architecture of Singular
* For Singular developers:
- Learn much more precisely the technical details of how Sage
is developed (again, a social question)
- Understand the goals and roadmap of the Sage project.
- Better understand the actual Sage codebase
- Understand the Sage test suite
- Understand the architecture of Sage
* How Sage is developed:
- very distributed, and very large number of people involved
- trac + mailing lists + irc + rotation release manager + testing
- plain text patches get posted to trac, refereed, then merged into sage
- spkg's
- See Robert Miller's talk for more details
* Goals of the Sage project:
- Create a viable open source alternative to Magma, Maple, Mathematica, and Matlab
Examples of what this includes:
- fast Groebner basis (F4, etc.)
- polynomial factorization
- Function fields (Hess's algorithms)
- 2d/3d graphics
- a notebook interface
- sophisticated symbolic integration, special functions, etc.
- differential equations
- commercial support (custom notebook servers)
- full spectrum of undergrad and grad textbooks, e.g.,
like the new French one by Zimmerman et al.
* Roadmap of Sage project:
- Sage-5.0 (August 31, 2010).
- Windows port via Cygwin
- Upgrade PARI to the latest SVN version (see trac 9343)
- Upgrade MPIR to version 2.x
- Get doctest coverage to 90% (currently at 84.6%)
- Sage-6.0 (2011):
- Function fields (Hess's algorithms, 2-descent, L-functions)
- Special functions (numerical (mpmath), symbolic, connection with integration)
- Much improved Sage notebook (scalability, customizability, speed, etc.)
- Textbooks, interacts, etc., integrated with the sage distribution
- Commercial support (custom notebook servers)
- switch to using C library interfaces for GAP and Maxima.
- Get doctest coverage to 100%
- Sage-7.0 (2012):
- Fast Groebner basis computation that is competitive with Magma/Maple (our operative in Paris)
- Vast improvements in Sage for Science and Engineering (documentation, diff'eq,
data workflows, reproducible research, instrument support, data formats like HD5)
- Statistics: something Pythonic/Cythonic and built on
top of R + scipy.stats + GSL, which competes with
SAS, STATA, S, etc. Speed that really beats R.
- Switch to Python 3.x
- Substantial randomized and unit testing that goes beyond doctesting
- I'm against adding _any_ new standard spkg's to Sage. Any
package can cause major headaches for release managers, and
almost nobody wants to do release management. Ultimaely I
personally suffer. And Sage is already too big (just the reference
manual is over 5000 pages!).