Differences between revisions 68 and 91 (spanning 23 versions)
Revision 68 as of 2007-06-12 00:17:38
Size: 9585
Editor: anonymous
Comment:
Revision 91 as of 2008-11-14 13:41:57
Size: 1456
Editor: anonymous
Comment: converted to 1.6 markup
Deletions are marked like this. Additions are marked like this.
Line 2: Line 2:
Coding sprint and project ideas for [:days4:SAGE Days 4] June 12-17, 2007.

((NOTE: William Stein is currently reorganizing this page into sections.))
Coding sprint and project ideas for [[days4|SAGE Days 4]] June 12-17, 2007.
Line 8: Line 6:
 * [:days4/projects/packaging: Packaging and Distributing SAGE] -- Didier Deshommes  * [[days4/projects/packaging| Packaging and Distributing SAGE]] -- Didier (remote)
Line 10: Line 8:
 * [:days4/projects/nb: The SAGE Notebook] -- William Stein  * [[days4/projects/nb| The SAGE Notebook]] -- William Stein
Line 12: Line 10:
 * [:days4/projects/dist: Distributed Computation] -- Yi Qiang  * [[days4/projects/dist| Distributed Computation]] -- Yi Qiang
Line 14: Line 12:
 * [:days4/projects/doc: Documentation] -- Nick Alexander  * [[days4/projects/doc| Documentation]] -- ???
Line 16: Line 14:
 * [:days4/projects/numerical: Numerical Computation] -- Josh Kantor  * [[days4/projects/numerical| Numerical Computation]] -- Josh Kantor
Line 18: Line 16:
 * [:days4/projects/numbertheory: Number Theory] -- David Roe  * [[days4/projects/arith| Basic Arithmetic ]] -- Robert Bradshaw
Line 20: Line 18:
 * [:days4/projects/groups: Group Theory] -- David Joyner  * [[days4/projects/colors| Fast Type Isolation ]] -- ???

 * [[days4/projects/numbertheory| Number Theory]] -- David Roe

 * [[days4/projects/database| Databases]] -- Robert Miller

 * (Tabled) [[days4/projects/coding| Coding Theory]] -- Robert Miller

 * [[days4/projects/groups| Group Theory]] -- David Joyner
Line 22: Line 28:
 * [:days4/projects/linalg: Linear Algebra] -- Robert Bradshaw  * [[days4/projects/linalg| Linear Algebra]] -- Nick Alexander
Line 24: Line 30:
 * [:days4/projects/linalg: Combinatorics] -- Mike Hansen  * [[days4/projects/combinat| Combinatorics]] -- Mike Hansen (remote)
Line 26: Line 32:
 * [:days4/projects/calculus: Symbolic Calculus] -- Bobby Moretti  * [[days4/projects/calculus| Symbolic Calculus]] -- Bobby Moretti
Line 28: Line 34:
 * [:days4/projects/graphs: Graph Theory] -- Robert Miller  * [[days4/projects/graphs| Graph Theory]] -- Emily Kirkman

 * [[days4/projects/3d| 3d Graphics]] -- Robert Bradshaw

 * [[days4/projects/emacs| sage-mode for GNU Emacs]] -- Nick Alexander

 * [[days4/projects/mottos| Mottos and Quotes]] -- ???
Line 30: Line 42:
----------------------

 * M Albrecht: Go through the wiki and clean it up, write more documentation, and check what content should be added to the documentation
 * W Stein: Implement a global '''proof = True''' or '''proof = False''' option that is queried by algorithms when proof=None.
 * David Roe: General elliptic curve '''height bound''' code (port Cremona's GPL'd MAGMA code to SAGE.)
 * W Stein: Implement '''Tate's algorithm over number fields''' (again, this involves porting Cremona's GPL'd MAGMA code to SAGE).
 
 * Nick Alexander (from UCI) and Thea (from SFU): I'd like to implement some basic''' linear algebra over Z/nZ''', following perhaps '' Algorithms for Linear Algebra Problems over Principal Ideal Rings '' (1996), Johannes Buchmann, Stefan Neis at http://citeseer.ist.psu.edu/719844.html. The algorithms of that paper apply to principal ideal '''rings''', and in the case of a principal ideal '''domain''', reduce to computing the Hermite normal form. So this could expand to trying to compute the Hermite normal form in the manner of Steel's unpublished algorithm as implemented in MAGMA.
 * David Joyner: I'm interested in adding functionality to the '''group theory''' functionality in SAGE.
 * David Joyner: I'm also interested in coding theory and in particular Robert Miller's work on (now GPL'd) '''Leon's partition backtracking''' programs.
 * Robert Miller
   * '''Leon's partition backtracking''' programs are almost ready for inclusion as a SAGE spkg. I'd like to have each of Leon's original command-line functions wrapped in the library I'm working on. A native group theory class will be much more feasible if these programs are all available.
   * Once Leon's library is finished, the DSage '''Doubly Even Codes''' class will not depend on magma at all, and will be suitable for inclusion to the SAGE library.
 * Kirsten Fagnan, Peter Clark: '''3d Graphics'''
 * Kirsten Fagnan, Josh Kantor, didier deshommes: '''Numerical Computation'''
  1. Incorporate superLU into SAGE with appropriate wrapping via sagex
  1. Incorporate clapack into SAGE
  1. Incorporate something that depends on clapack
  1. Improve SAGE's support for octave and matlab
 * William Stein, David Roe, Joel Mohler: '''Number Fields''' There are numerous issues with number fields in SAGE. Basically the design is terrible. The KANT developers have worked very hard for literally a decade to get the design of number fields right, but the design in SAGE (1) completely ignores all the good work done by the KANT group, and just doesn't feel right.
  1. Arithmetic speed -- Joel improved this a lot, but it's unclear what the best plan is. Discussion at SD4 about design would be very worthwhile.
  1. I really ''do not'' like how relative extensions are implemented in SAGE. It's terrible. Design discussions + possibly rewrite it all. The main problem is that it works way too much like PARI and isn't structural; it doesn't fit at all with how SAGE is supposed to work, and is utterly confusing from a KANT/MAGAM point of view. It's really bad.
  1. Rings of integers and orders -- Discuss how they might be implemented; required functionality etc.
 * David Roe:''' p-Adic Arithmetic''' -- Design and implement highly optimized algorithms for arithmetic with p-adic numbers. The current implementation is already extensive, containing a wide range of different models of p-adic arithmetic (capped relative, capped absolute, lazy, extensions, etc.) but many new algorithms need to be developed, especially for arithmetic with polynomials over the p-adics, for p-adic linear algebra, for computing in the lattice of extensions of a p-adic ring, and for computing with completions of a number field. (This project started at SAGE Days 2, and has been very actively pursued, especially by David Roe during the last 7 months.)
 * Applications of '''Monsky-Washnitzer Cohomology''': Investigate algorithms for''' fast point counting''' on elliptic and hyperelliptic curves, computation of p-adic height pairings, and computations of''' ''p''-adic Coleman integrals'''. This project began in 2006 at an MSRI workshop, and has been an active area of work during the last year by Kiran Kedlaya, David Harvey, and Robert Bradshaw. In particular, Harvey has recently developed new algorithms that will be explored at the workshop, which allow for new efficient point counting on Jacobians of hyperelliptic curves, Bradshaw and Kedlaya have implemented Coleman integration which has application to the study of rational points on curves, and Stein has been investigating p-adic analogues of the Birch and Swinnerton-Dyer conjecture in many new cases using a new algorithm for computing p-adic heights. Kiran Kedlaya: for applications to rational points on curves, it would be useful to have '''iterated Coleman integrals'''. Also, what about p-adic heights on hyperelliptic curves with good ordinary reduction? Amnon Besser has a recipe for computing heights using Coleman integrals, but it would be easier if one could use only the Frobenius matrix, since then Harvey's improvements become available.
 * '''Quaternion Algebra Arithmetic''' and Modular Forms: Create and implement algorithms for efficient arithmetic in quaternion algebras, and apply this work to computation of Hecke operators, modular forms, Tamagawa numbers of modular abelian varieties, and enumeration of elliptic curves of large conductor. Gonzalo Tornaria has long worked in this area, and William Stein is working with David Kohel and Lassina Dembele on the design of better algorithms. This could also involve porting code from MAGMA to SAGE -- the two authors of Magma's quaternion algebra arithmetic have both strongly encouraged me to port their code to SAGE (or have partly done so themselves already).
 * '''Optimized Polynomial Arithmetic''': David Harvey and Bill Hart (Postdoc, Warwick) have recently created and implemented what is by far the '''world’s fastest code for univariate polynomial arithmetic'''. Explore how to fill in the remaining gaps in order to make the results of their work easily available to a larger user community. Similarly, Tom Boothby has worked for about 9 months on algorithms for very '''fast evaluation of polynomials''' at points, and another project will be to explore how to deploy this.
 * '''Commutative Diagram Coercion Model''': The current SAGE coercion model has some advantages (speed, ability to override for new classes) but also some issues. A user is not able to override the coercion system at runtime and use their own coercion maps (this could be incredibly useful for polynomials, or systems of field extensions). It is difficult to get a system-wide picture of what coercion maps exist: as SAGE grows, this will introduce bugs when the rules for transitivity of coercion are not followed. It is also difficult, though not impossible, to implement coercion systems where the computation of the coercion map requires effort (creating a coercion map from $\mathbf{F}_{7^8} \to \mathbf{F}_{7^{24}}$). I, David Roe, want to discuss a new coercion model, either replacing over built on top of the old, that addresses these problems. Currently I have some ideas for a system based on commutative diagrams, but I want to brainstorm some more before implementing it. This project will include discussions on ways to improve category theory in SAGE. Nick Alexander is also very interested in working on the proposed commutative diagram coercion model.
 * '''p-adic L-series of elliptic curves''': Christian Wuthrich and I will do a lot along these lines the week before. Finishing this off at SAGE Days might be really interesting.
 * Kiran Kedlaya: I would love to have '''Arithmetic on Jacobians of Hyperelliptic Curves''' (Cantor's method), ideally SageX'd. I don't know whether this could be ported from MAGMA.
 * Bobby Moretti: '''Symbolic calculus'''. Speeding up arithmetic, cleaning up functions.py, reimplementing and improving maxima's solve command.
 * Bobby Moretti: '''Weirstrass Normal Form'''. Implement EllipticCurve_from_cubic() without using MAGMA.
 * didier deshommes: Improve support for '''SAGE on NexentaOS'''. Several packages need to be patched.
 * Mike Hansen: '''Symmetric functions'''. Implement the algebra of symmetric functions using SYMMETRICA for backend calculations.
 * Mike Hansen, Yi Qiang(?): '''Bootable (Cluster) CD for SAGE/DSAGE'''. Using BCCD ( http://bccd.cs.uni.edu/ ) as a base, create a bootable CD to allow one to easily turn in unused lab into DSAGE cluster.
 * [[days4/projects/redbull| Staple the Dead Beaver to the Sidewalk]]

Projects

Coding sprint and project ideas for SAGE Days 4 June 12-17, 2007.

Each section lists the project followed by the main contact person for that project.

days4/projects (last edited 2008-11-14 13:41:57 by anonymous)