help-gsl
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Help-gsl] Looking for a mentor for GSoC


From: Jordi Gutierrez Hermoso
Subject: [Help-gsl] Looking for a mentor for GSoC
Date: Tue, 20 Mar 2007 08:52:34 -0600

I'm looking for a mentor to work on the C++ification of the GSL during
Google's Summer of Code. Brian Gough to whom I send the email
forwarded below is unfortunately unable to mentor me. I'm sending this
message to the GSL mailing list in the hopes that someone reading it
might be able to help; yesterday I also tried sending it to the gcc
mailing list per Brian Gough's recommendation. The idea is that
whoever agrees to mentor me can do it under the auspices of GNU.

Time is running short for submitting the application! If you can think
of someone who can help me, please let them know about this.

Thanks,
- Jordi G. H.

---------- Forwarded message ----------
From: Jordi Gutierrez Hermoso <address@hidden>
Date: 15-Mar-2007 18:49
Subject: Will you be my mentor for Google's Summer of Code?
To: Brian Gough <address@hidden>
Cc: address@hidden


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.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]