Fwd: Will you be my mentor for Google's Summer of Code?

Jordi Gutierrez Hermoso jordigh@gmail.com
Mon Mar 19 23:15:00 GMT 2007


Hi. I am looking for someone to mentor me on this project for the GNU
Scientific Library. I have already tried asking Brian Gough (forwarded
below), and he suggested that someone from the gcc team might be able
to mentor me, presumably under the auspices of GNU or something like
that.

I hope there's someone here who can help or who can suggest a mentor for me.

Thank you,
- Jordi G. H.

---------- Forwarded message ----------
From: Jordi Gutierrez Hermoso <jordigh@gmail.com>
Date: 15-Mar-2007 14:39
Subject: Will you be my mentor for Google's Summer of Code?
To: "Brian V. Smith" <bvsmith@lbl.gov>
Cc: mattl@gnu.org


Hi. Since you seem to be the only currently active developer on the
GSL, I thought I would try asking you.

I need someone who will agree to mentor me for Google's Summer of
Code. As you have probably been reading in the GSL mailing list, my
idea is to implement an efficient C++ version of the GSL, oviously
using the existent GSL code in C as a base. Specifically, I want to

      * Replace the gsl_ prefixes in all GSL functions with a GSL
        namespace.

      * Implement classes where appropriate, mostly replacing C
        structs with fully-featured C++ classes.

      * Use STL classes where appropriate. In particular, the core
        gsl_vector and gsl_matrix structs ought to be a class
        implemented as tightly as possible; either with valarrays (my
        preference) or via whatever classes Boost is using for their
        BLAS implementation. Relevant arguments against valarrays:

             http://nkari.uw.hu/Tutorials/CPPTips/musings_valarray

      * Replace manual memory management with C++ constructors and
        destructors.

      * Provide a GSL error handler with exception classes and
        exception throwing.

      * Replace preprocessor macro hacks for using various numeric
        types within the GSL with templated classes, whenever
        appropriate.

      * Consider using free code from other numeric libraries, such as
        CERNLib, TNT, HAL, and Blitz++, as suggested by this
        discussion thread from the GSL mailing list:

           http://lists.gnu.org/archive/html/help-gsl/2007-03/msg00030.html

This is a very large project, and I do not think it's realistic that I
can do all of this for all of the GSL. I propose to begin only with
the core GSL functionality, which I see as:

       * Error handling,

       * Basic mathematical functions,

       * Complex numbers (might use std::complex),

       * Linear algebra structs, linear algebra, and BLAS.

If time permits, the other high-priority parts of the GSL I consider to be

       * Numerical integration and differentiation,

       * Special functions,

       * Random number generation,

       * Eigensystems,

       * Fast Fourier transform,

follow by the rest of the GSL.

If you agree to mentor me on this summer coding project, please
contact both me and Matt Lee from GNU (CC'ed from this email) so that
I can complete my application before March 24 and so that Matt Lee can
modify the following webpages appropriately:

       http://www.gnu.org/software/soc-projects/ideas.html
       http://www.gnu.org/software/soc-projects/guidelines.html

Thank you,
- Jordi G. H.



More information about the Gcc mailing list