Differences between revisions 11 and 28 (spanning 17 versions)
Revision 11 as of 2007-11-11 15:47:54
Size: 1508
Comment:
Revision 28 as of 2010-10-29 04:29:46
Size: 5106
Editor: DanDrake
Comment: remove link added by spammer
Deletions are marked like this. Additions are marked like this.
Line 3: Line 3:
List any and all project ideas here. Use the format
 * (name) Project idea. If the idea is more than one line, make a [:/example: link like this (note the leading slash) to more info].
== 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
Line 6: Line 10:
== Here they are ==  * 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
Line 10: Line 98:
 * (wstein) Number fields --optimize K([1,2,3]).  * (wstein) Number fields -- optimize K([1,2,3,4,5]), etc., for K number field or order.
Line 20: Line 108:
 * (wstein) Redo all the "edwards coord" proofs in Sage instead of Magma. See email to sagedays6, along with http://hyperelliptic.org/EFD/edwards.html  * (wstein) [[/edwards| Redo all the "edwards coord" proofs in Sage instead of Magma.]]
Line 22: Line 110:
 * (wstein) Fix computing trace over $\mathbf{F}_q$ algebraically.  * (wstein) ATLAS into Sage on Linux.
Line 24: Line 112:
 * (wstein) ATLAS into Sage on Linux.  * (wstein) Linbox -- get rid of all the crappy hacks for minpoly/charpoly use in Sage.
Line 26: Line 114:
 * (wstein) Linbox -- get rid of all the crappy hacks for minpoly/charpoly

* (wstein) Linbox -- fix wrapping of smith_form problems.
 * (wstein) Linbox -- fix wrapping of smith_form problems in Sage.
Line 32: Line 118:
 * (wstein) Document number fields.   * (wstein) Document number fields.
Line 36: Line 122:
 * (Ondrej Certik) simplify/improve calculus in SAGE [:/calculus: see this link for more info]  * (Ondrej Certik) simplify/improve calculus in SAGE [[/calculus| see this link for more info]]
Line 45: Line 131:

 * (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.

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
  • FFT Improvements for NTL (dmharvey)
    • much faster on Opterons
    • not so much faster on Core2Duo (~ 20%)

    • available on 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)
  • packages/updates/LinBox (cpernet, mabshoff)

    • LinBox bugfixes and updates

    • Givaro
    • IML
  • benchmarking (robertwb, Willem)
    • doctest benchmarking interface

Originally Proposed Projects

  • (wstein and ondrej certik) determine exactly which sage packages are in debian

  • (robertwb, roed, willem, jaap, jon hanke, david loeffler, ondrej) Programming Guide

  • (robertwb, roed, willem, jaap, jon hanke, david loeffler, ondrej) Coercion

  • (robertwb, roed, willem, jaap, jon hanke, david loeffler, ondrej) 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) 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 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.

days6/sprint (last edited 2010-10-29 04:29:46 by DanDrake)