commons-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Phil Steitz <>
Subject [math][all] Mentoring for Google's Summer of Code program
Date Thu, 02 Jun 2005 12:02:38 GMT
I have volunteered to help Ryan with the proposal below and to serve
as a mentor if it is accepted.  Pls see the links infra and the
general Wiki page ( for more
info on Google's  "Summer of Code".

With Ryan's permission, I am forwarding the proposal.  The content as
stated clearly goes beyond the current scope of [math], but several
items are in scope.

Comments, please.  After a little discussion - including maybe the
inevitable reopening of the "what do we want to be when we grow up" -
assuming others are favorable, I will work with Ryan to get something
suitable onto the Wiki for consideration as one of the apache
projects.  Comments from all commons community members are welcome.



---------- Forwarded message ----------
From: Phil Steitz <>
Date: Jun 2, 2005 4:50 AM
Subject: [Fwd: Mentoring for Google's Summer of Code program]

-------- Original Message --------
Subject: Mentoring for Google's Summer of Code program
Date: Wed, 1 Jun 2005 07:23:25 -0700 (PDT)
From: Ryan Li <>

Dear Phil,

I'm just wondering if you or other developers of the The Jakarta
Commons Math library would be interested in mentoring me for the Google
Summer of Code program (more details at and Just so you know that the
Apache Software Foundation is already a mentoring organization
( Please see below for
my draft project proposal (as you can see I've already mentioned the
Jakarta Commons Math library in it and I've put down ASF as my mentor,
so you or other team members will probably be contacted by Google

Thank you very much for your consideration!

Ryan Du Li
A college student specialising in optimization and numerical analysis


Project description:

Numerical Library for Financial Modelling / Scientific Computation in
Java (with a C# port)

The goal of this project is to develop a reusable toolkit for
developing mathematical models for valuing financial products and risk
management. Due to its numerical intensive nature, it can also be used
effectively in other applications that make uses of highly efficient
numerical algorithms. Specific language features and design patterns
will be used aggressively to allow for high performance and
reusability. The C# port will be made in parallel as the Java version
is developed, a number of features of C# (up to version 2.0) will be
used, in particular operator overloading will be used for all matrix

Highly efficient numerical algorithms will be implemented in the
following areas:

1. a generic matrix and linear algebra package (including support for
dense and sparse matrices and commonly used decomposition methods), an
existing library might be used for this part of the toolkit.

2. an approximation package, with an emphasis on the support for
B-splines, which is used to approximate curves in general, given a set
of points on the curve. Very useful for any sort of data fitting, and
heavily used in term structure modelling in finance

3. generic PDE/ODE solvers, with built-in support for Poisson/heat/wave
equations. Useful in a large number of situations in modelling.

3. an optimization package, including linear programming (simplex
method, later also interior point method), quadratic programming,
nonlinear unconstraint/constraint minimization, later will also include
search methods including genetic programming.

4. a simulation package, to provide a framework for running
(Quasi)Monte-Carlo simulations

5. other essential tools, multi-dimensional numerical integration,
Fourier transform, root-solver, interpolation/extrapolation, , special
functions, statistical distributions.

Current Java/C# open-source efforts in this area are limited (with many
projects abandoned or no longer actively maintained),  in particular
useful things like B-Spline PDE-Solver, multi-dimensional numerical
integration, Fourier transform are not addressed in any existing
project I'm aware of (including most commercial ones). Also usually not
the most robust & efficient implementation is used whenever a routine
does exist, commercial projects have a significant advantage in this

Some of the code I've written for past school projects (I am a maths
student specialising in optimization and numerical analysis) in the
past will be adapted for various part of the toolkit. It is hoped that
by the end of summer the main components of the library will be ready
for production use, and it will be actively developed and maintained

I've put down Apache Software Foundation as my sponsor as I noted that
they have a Commons-Math project
( to which my project would
complement very nicely.


Discover Yahoo!
Have fun online with music videos, cool games, IM and more. Check it out!

To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message