= Sage Days 6 Coding Sprints =

== Wrap-Up ==
 *  Benchmarking (was, malb, wjp)
   * developed a file format for benchmarks
   * wrote code which parses, runs, generates plots for these
   * going to be in the 2.9 release
   * might form the basis for new benchmarking document in the spirit of the constructions document

 * Cython Syntax Highlighting (robertwb)
   * visualization to show how good your Cython code is
   * HTML output

 * Wrapping g0n (jec)
   * g0n is optional package now
   * first wrapper written
   * memleaks fixed in g0n

 * Rewrapping Simon's Ell GP Scripts (robertwb, jec)
   * much simpler now because Simon updated code

 * Flint (Bill Hart)
   * many bugs fixed

 * Coercion (robertwb, roed, ...)
   * some beta available, other's can start working with it

 * Programming Guide
   * see [[days6/sprint/prog_guide| new plan]]

 * FFT Improvements for NTL (dmharvey)
   * much faster on Opterons
   * not so much faster on Core2Duo (~ 20%)
   * available on [[http://www.math.harvard.edu/~dmharvey/code/ntl-fft/index.html|David's website]]
   * automatic tuning required, not ready for inclusion

 * Sympy & SAGE (Ondrej)
   * mixing SAGE/SymPy expressions
  
 * Debian package of Cython (Ondrej)
   * preliminary package available

 * Matrix Permanents (Jaap)
   * hope to achieve 30 - 50% speed-up for permanents

 * Gröbner Basis Update (malb)
   * generic implementation for Gröbner bases over any field (slow!!)
   * implementation for Gröbner bases over ZZ (slow!!)

 * Doctest Benchmark (wjp)
   * timings of all doctests
   * basic comparison possible eg. 2.8.12 vs. 2.8.13

 * PolyBoRi (Michael, Burcin)
   * Python Interface of PolyBoRi reimplemented in Cython
   * new wrapper can run most testcases
   * PolyBoRi release next weekend

== Projects ==
 * elliptic curves (John, rpw, was)
  * getting g0n into Sage
  * sparse linear algebra over $F_q$
  * $\#E(F_q)$

 * multivariate polynomial quotient rings (Burcin, malb, Ludovic, Michael Brickenstein)
  * generic polynomial division/reduction
  * quotient rings via libSINGULAR
  * PolyBoRi integration
  * FGB integration

 * coercion model/calculus/programming manual (robertwb, roed, John Hanke, Ondrey, David Loeffler, Jaap)

 * [[days6/sprint/packages|packages/updates/LinBox]] (cpernet, mabshoff)
  * LinBox bugfixes and updates
  * Givaro
  * IML

 * benchmarking (robertwb, Willem)
  * doctest benchmarking interface


== Originally Proposed Projects ==

 * (wstein and ondrej certik) [[/debian| determine exactly which sage packages are in debian]]

 * (robertwb, roed, willem, jaap, jon hanke, david loeffler, ondrej) [[/prog_guide| Programming Guide]]

 * (robertwb, roed, willem, jaap, jon hanke, david loeffler, ondrej) [[/coercion| Coercion]]

 * (robertwb, roed, willem, jaap, jon hanke, david loeffler, ondrej) [[/calculus| Calculus]]

 * (wstein) upgrade the freetype package in sage.

 * (wstein) upgrade the cvxopt package to 0.9

 * (wstein) Number fields -- Reduction modulo a prime ideal, or any ideal.

 * (wstein) Number fields -- optimize K([1,2,3,4,5]), etc., for K number field or order.

 * (wstein) Timing of doctests (partially done)

 * (wstein) Double question mark for spyx files doesn't work.; docstrings work.

 * (wstein) Markup Cython code based on what C code it generates.

 * (wstein) R Python expect interface

 * (wstein) [[/edwards| Redo all the "edwards coord" proofs in Sage instead of Magma.]]  

 * (wstein) ATLAS into Sage on Linux.

 * (wstein) Linbox -- get rid of all the crappy hacks for minpoly/charpoly use in Sage.

 * (wstein) Linbox -- fix wrapping of smith_form problems in Sage.

 * (wstein) Create pickle database

 * (wstein) Document number fields.

 * (wstein) Compute kernels of matrices over $\mathbf{Z}/p^n\mathbf{Z}$.

 * (Ondrej Certik) simplify/improve calculus in SAGE [[/calculus| see this link for more info]]

 * (mabshoff) fix BlasMatrix::Hom leak in LinBox

 * (mabshoff) start of 2.8.13 release cycle

 * (david harvey) try to improve cache efficiency of NTL's FFT routine

 *(Bill Allombert) improve PARI ECM implementation

 * (john.cremona) adapt interface to new Simon gp scripts

 * (john.cremona) elliptic curve isomorphisms, urst transforms of curves and points

 * (john.cremona) improved $\#E(F_q^d)$ for elliptic curves defined over $F_q$

 * (malb) speed up $GF(p^n)$ for $p \neq 2$ and $p^n \geq 2^{16}$ (using NTL::ZZ_pE and NTL::zz_pE)

 * (malb) implement quotient rings over multivariate polynomial rings over finite fields using libSINGULAR

 * (malb) implement multivariate polynomial rings over number fields using libSINGULAR

 * --((malb) implement sparse matrices over $GF(p^n)$ (using Givaro) modelled after sparse matrices modint.)--

 * (weinmann) related to malb's point directly above: merge smatlib code into SAGE.

 * (weinmann) extend MPolynomialSystemGenerator such that equation systems for (stream and block) ciphers can be generated in a generic way.