Summer of Code



Hi all,

A few days ago, Google announced that there will be another Summer of
Code that will take place from May 23 to August 21. There are more
details at http://code.google.com/summerofcode.html

This is something that Maxima could really use to its benefit, and as
such it would be rather useful to discuss ideas for possible projects.
I've included a number of suggestions that were cobbled together from a
combination of the design notes on the wiki and the ideas from the same
topic last year, and I would like to hear what everybody thinks of
these, as well as any suggestions of their own. Anyway, here they are:

1. Linear Algebra
- Write methods for some matrix decompositions such as the SVD, QR, and
others. These should probably be symbolic.

2. Generalized Functions
- Implement the Dirac delta and unit step functions outside of Laplace
transforms. Maxima should be able to compute derivatives and integrals
of expressions that involve these functions.
- If the above is accomplished, some functionality could be created for
Green's functions.

3. Differential Equations
- Come up with a function solves ordinary differential equations as a
generalized power series. This can already be done by creating a
truncated Taylor series and solving the resultant algebraic equation,
but a general function would be more useful.
- Develop some utilities for partial differential equations. I
don't believe there is a lot of (or any?) functions for this in Maxima
right now, so it would need some additional discussion on what would be
required and how it should be done.

4. Linear Programming
- One of the suggestions on the mailing list last year was a method to
solve linear programming problems symbolically. This is an area that I
believe Maxima still doesn't support.

5. Numerical Methods
- Add more numerical methods to Maxima. Root-finding, numerical
solutions of PDEs, etc... Perhaps this should involve Octave?

6. Other
- Matplotlib/Pylab (http://matplotlib.sourceforge.net/) produces very
high-quality plots and animations with LaTeX text. It would be useful if
Maxima could interact with it somehow. Since this is a Python module, it
would involve building some Python support in Maxima.
- Various GUI work.
- Vector analysis and differential geometry. Maxima already has packages
for both of these, but they might be able to use some more work.

Cheers,

Irwin