Differences between revisions 1 and 19 (spanning 18 versions)
Revision 1 as of 2006-10-11 17:58:25
Size: 1563
Editor: DavidHarvey
Comment: create page
Revision 19 as of 2006-10-14 13:35:53
Size: 4313
Comment:
Deletions are marked like this. Additions are marked like this.
Line 5: Line 5:
David Harvey, Martin Albrecht, Joel Mohler, Robert Bradshaw, William Stein [:DavidHarvey:David Harvey], [:Martin Albrecht:Martin Albrecht], Joel Mohler, Robert Bradshaw, [:WilliamStein:William Stein]
Line 12: Line 12:
 * Write a benchmarking module.  * Write a benchmarking module or improve on the existing one.
Line 18: Line 18:
 * Wrap NTL finite fields and polynomials over finite fields.
 * Benchmark omalloc. (''Martin'')
 * 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.
Line 25: Line 26:

== 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
   
   * Axiom -- Bill Page (a 0.2 version is done; Stein is integrating it)
   * MATLAB -- William Stein -- work in progress
Line 26: Line 42:
  Tom Boothby, Alex Clemesha, 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

== 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)

 * [http://sage.math.washington.edu:9001/graph Main Project Wiki]
 * [http://sage.math.washington.edu:9001/graph_survey Existing Software] list; includes links to several algorithm pages also; list is now complete
 * [http://sage.math.washington.edu:9001/graph_benchmark Initial Benchmarking] now beginning; purpose is to test construction, storage, retrieval and ''very'' basic functions
 * currently interfacing NetworkX with SAGE
 * experts will be contacted regarding a) the completeness of the list, b) the best benchmark tests
 * ''thorough'' benchmarking to begin soon: we will set up another wiki for results
 * after benchmarking, the real fun begins...

== GSL ==

Josh Kantor, William Stein, Tom Boothby

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

A page to summarise and coordinate SAGE development activity.

Core arithmetic team

[:DavidHarvey:David Harvey], [:Martin Albrecht: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.

  • 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
    • Axiom -- Bill Page (a 0.2 version is done; Stein is integrating it)
    • MATLAB -- William Stein -- work in progress

Notebook/web team

  • Tom Boothby, Alex Clemesha, 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

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

Other groups add yourselves here