[Numpy-discussion] NumPy/SciPy participation in GSoC 2013

Sebastian Berg sebastian at sipsolutions.net
Sun Mar 24 08:21:30 EDT 2013

On Thu, 2013-03-21 at 22:20 +0100, Ralf Gommers wrote:
> Hi all,
> It is the time of the year for Google Summer of Code applications. If
> we want to participate with Numpy and/or Scipy, we need two things:
> enough mentors and ideas for projects. If we get those, we'll apply
> under the PSF umbrella. They've outlined the timeline they're working
> by and guidelines at
> http://pyfound.blogspot.nl/2013/03/get-ready-for-google-summer-of-code.html. 
> We should be able to come up with some interesting project ideas I'd
> think, let's put those at
> http://projects.scipy.org/scipy/wiki/SummerofCodeIdeas. Preferably
> with enough detail to be understandable for people new to the projects
> and a proposed mentor.

Just some more ideas for numpy. I did not think about it much if they
fit the GSoC format well, but maybe a possible mentor likes one:

1. Speed improvement for scalars/small arrays. This would start with
ideas along the lines currently done by two current pull requests for
numpy, that try to improve array + python scalar speed by circumventing
costly scalar -> array conversions, etc. And continue to improving the
speed for finding the correct ufunc (which I believe Nathaniel timed to
be a pretty big factor). But it would touch a lot of numpy internals
probably, so the learning curve may be pretty steep.

2. Implement stable summation. Basically it would be about creating
generalized ufuncs (if that is possible) implementing different kinds of
stable summation algorithms for the inexact types and then adding it as
an option to np.sum.

3. This has been suggested before in some way or another, but improving
of the subclassing of arrays. Though I am unsure if user code might
dislike changes, even if it is improvement...
It would start of with checking which python side functions should
explicitly call __array_wrap__ (possible writing more helpers to do it)
and calling it more consistently plus adding the context information
where it is currently not added (only simple ufunc calls add it, not
even reductions I think). I am sure you can dig a lot deeper into it
all, but it would require some serious thinking and is not straight

4. Partial sorting. This would be about implementing partial sorting and
O(N) median calculation into numpy. Plus maybe new functions that can
make use of it (though I don't know what exactly that would be, but
these functions could also have a home in scipy not numpy).

> We need at least 3 people willing to mentor a student. Ideally we'd
> have enough mentors this week, so we can apply to the PSF on time. If
> you're willing to be a mentor, please send me the following: name,
> email address, phone nr, and what you're interested in mentoring. If
> you have time constaints and have doubts about being able to be a
> primary mentor, being a backup mentor would also be helpful.
> Cheers,
> Ralf
> P.S. as you can probably tell from the above, I'm happy to coordinate
> the GSoC applications for Numpy and Scipy
> _______________________________________________
> NumPy-Discussion mailing list
> NumPy-Discussion at scipy.org
> http://mail.scipy.org/mailman/listinfo/numpy-discussion

More information about the NumPy-Discussion mailing list