Differences between revisions 26 and 27
Revision 26 as of 2006-11-19 01:35:34
Size: 4930
Editor: DavidJoyner
Comment:
Revision 27 as of 2006-12-03 05:15:10
Size: 5006
Editor: anonymous
Comment:
Deletions are marked like this. Additions are marked like this.
Line 67: Line 67:
David Joyner David Joyner, Bobby Moretti
Line 70: Line 70:
 * See [:BasicCalculus:Basic calculus architecture] for SAGE.

A page to summarise and coordinate SAGE development activity.

Core arithmetic team

[:DavidHarvey:David Harvey], ["Martin Albrecht"], Joel Mohler, Robert Bradshaw, [:WilliamStein:William Stein]

  • Develop new __mul__ semantics for rings/algebras using something like ToyQuarternionAlgebraElement as a test case.

  • Migrate _add_, _mul_ etc to new _add_sibling, _add_sibling_cdef, framework etc. Intention is to eventually remove _add_ everywhere.

  • Change all __add__ methods (etc) to use new fast code pathways, pyrex tricks, as studied at SAGE Days 2.

  • Try changing a.parent() == b.parent() conditions to a._parent is b._parent in various places and see what breaks.

  • Write up more entries in WritingFastPyrexCode. (everyone)

  • Write a benchmarking module or improve on the existing one.
  • Optimise pyrex in coercion module.
  • Make Algebra _base_ring into a cdef attribute. This will make it possible to give a fast pathway for scalar multiplications.

  • Move univariate Polynomial class down to Pyrex, and make it inherit from CommutativeAlgebra instead of CommutativeRing. (David)

    • Rewrite polynomials over Z and Z/nZ using direct NTL calls. (David)

  • Optimise new integers mod n code using fast pyrex tricks.
  • Make GivaroGFq the default finite extension field implementation ([:MartinAlbrecht:malb])

  • build [:MallocReplacements:omalloc] as a shared library (or link it statically to memory.so the Pyrex wrapper) and make sure as much stuff as possible uses it (SAGE_malloc macros, GMP, etc.)

  • Wrap NTL finite extension fields (order \geq 2^{16}) and polynomials over finite fields.

  • Linear algebra (perhaps William or Robert want to say something here?)

Lower priority issues

  • Make generic dense polynomial class in pyrex using C arrays to store coefficients?

Making SAGE Releases (Packaging and Integration)

  • William Stein
  • Getting sage-1.4.1 ready:
    • New maxima, pari, clisp.
    • Editing and including axiom interface.

Interfaces

  • William Stein, Bill Page
    • (done) Axiom -- Bill Page (a 0.2 version is done; Stein is integrating it)
    • (done) MATLAB -- William Stein -- work in progress

Notebook/web team

  • Tom Boothby, Alex Clemesha, [:dmr:Dorian Raymer], William Stein
  • Change the Notebook over to use Twisted
  • Add SSL support for the Notebook (with Twisted/pyOpenSSL)
  • Make public Notebook more secure
    • no cross-side scripting by passing cell output thru MoinMoin

    • send passwords (at minimum) over SSL
    • Sage spawns sage0 in a changeroot jail which is firewalled to only listen on the port assigned to it. This sage0 serves the notebook, which spawns an additional sage0 for each worksheet -- these, in turn, are in smaller changeroot jails which have no internet access, and can only read/write from within their worksheet directory.
  • Add notebook help browser
  • Wikify some parts of the Notebook
  • Add ability to edit plain text Notebook cells and then re-upload
  • Live bootable notebook (Alfredo Portes)

3D Graphics

Alex Clemesha, Robert Miller, Tom Boothby ...

  • Add 3D Graphics built on top of matplotlib
  • Fix & re-optimize tachyon plotting

  • Generalize interface with plot3d(f, ..., style='tachyon') to place camera & light sources apppropriately, etc.

Graph Theory Implementation

Emily Kirkman, Robert Miller, Bobby Moretti, Tom Boothby (eventually)

GSL

Josh Kantor, William Stein, Tom Boothby

  • RDF, CDF are done. Are matrices / vectors?
  • Wrap more special functions, add to sage.misc.functions...

Teaching

David Joyner, Bobby Moretti

  • Wrapping Maxima functions and creating Python classes to support Calculus and ODEs.
  • Creating functions to teach Fourier series and discrete Fourier transforms on various groups.
  • See [:BasicCalculus:Basic calculus architecture] for SAGE.

Coding theory

David Joyner

  • Wrapping GAP and GUAVA code to support work in error-correcting codes.

Group theory

David Joyner

  • Wrapping GAP code and creating Python classes to support work in finite group theory and representation theory.

Documentation

William Stein, David Joyner

Other groups add yourselves here