Differences between revisions 1 and 24 (spanning 23 versions)
Revision 1 as of 2006-10-11 17:58:25
Size: 1563
Editor: DavidHarvey
Comment: create page
Revision 24 as of 2006-10-27 23:08:38
Size: 4393
Editor: DavidHarvey
Comment: aha! though of a reason for cdef _base_ring
Deletions are marked like this. Additions are marked like this.
Line 4: Line 4:

David Harvey, Martin Albrecht, Joel Mohler, Robert Bradshaw, William Stein
[:DavidHarvey:David Harvey], ["Martin Albrecht"], Joel Mohler, Robert Bradshaw, [:WilliamStein:William Stein]
Line 12: Line 11:
 * Write a benchmarking module.  * Write a benchmarking module or improve on the existing one.
Line 14: Line 13:
 * Make Algebra {{{_base_ring}}} into a cdef attribute.  * Make Algebra {{{_base_ring}}} into a cdef attribute. This will make it possible to give a fast pathway for scalar multiplications.
Line 16: Line 15:
  * Rewrite polynomials over Z and Z/nZ using direct NTL calls. (''David'')   * Rewrite polynomials over Z and Z/nZ using direct NTL calls. (''David'')
Line 18: Line 17:
 * 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 21: Line 21:
Line 24: Line 23:
== 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 ...
Line 25: Line 47:
== Notebook/web team ==  * 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)
Line 27: Line 53:
 * [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"], 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...

Other groups add yourselves here