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