[SciPy-Dev] GSOC 2015 projects
Ralf Gommers
ralf.gommers at gmail.com
Tue Mar 24 16:54:17 EDT 2015
Hi Ian,
On Tue, Mar 24, 2015 at 1:22 AM, Ian Henriksen <
insertinterestingnamehere at gmail.com> wrote:
> Hi all,
>
> I'm putting together an application for GSOC 2015, and, although the
> deadline is approaching fast, I would still appreciate your feedback on a
> few of my ideas.
>
Great to see your interest.
> I am a masters student studying mathematics at Brigham Young University.
> Thus far my primary contribution to SciPy has been the Cython API for BLAS
> and LAPACK (see https://github.com/scipy/scipy/pull/4021).
>
> My research is in Isogeometric Analysis, i.e. finite element analysis on
> spline curves. My open source work and research at BYU have given me a
> great deal of experience with Python and Cython, but I am also familiar
> with C, C++, and Fortran. As such, I have been reflecting on projects that
> would be best suited to my skill set, as well as most beneficial to SciPy.
>
> I'm curious to know which of the following projects would be of greatest
> interest to the SciPy community:
>
> 1. Wrapping the PROPACK library for sparse linear algebra and using it for
> sparse SVD computation in scipy.sparse. There has been some initial work on
> f2py wrappers for PROPACK at https://github.com/jakevdp/pypropack, though
> it appears the wrappers are still incomplete.
>
This is definitely a feature that's regularly requested. On an older post
on this mailing list a factor of 10 faster than ARPACK is mentioned,
benchmarks at
https://jakevdp.github.io/blog/2012/12/19/sparse-svds-in-python/ say a
factor ~5. Here is an old issue requesting addition of a wrapper to Scipy:
https://github.com/scipy/scipy/issues/857
Some feedback from Jake on the state of his wrapper and whether this would
fill a whole GSoC would be great to have.
2. Implementing an improved library for spline operations in SciPy. I am
> very familiar with the different refinement techniques used in CAD (knot
> insertion, degree elevation, etc.) and could implement a library that would
> be able to perform them all. My ideal here would be to write a C++ or
> Fortran library to do this and then wrap it via Cython. The emphasis would
> be primarily on writing code for refinement and evaluation that is both
> fast and general. I could include code for spline subdivision methods as
> well.
>
Also often discussed, is one of the listed GSoC ideas, and one of the
topics in Scipy that need a major make over. It's not clear to me how well
your proposed C++/Fortran library would mesh with the Python/Cython splines
code that Evgeni and Pauli have in progress - that would need some
discussion.
(https://github.com/scipy/scipy/pull/3174 seems to have stalled)
> 3. Adding support for Cython to both f2py and numpy.distutils. The goal
> here would be to allow f2py to generate cython-compatible wrappers from
> existing pyf files. I would also modify numpy.distutils so it could compile
> Cython files.
>
The f2py part sounds potentially interesting, I'm a bit worried about
mentoring power here though (f2py is close to unmaintained). The
numpy.distutils part seems to me to be of lower prio - Cython itself has
distutils support, and things like tools/cythonize.py in Scipy work fine.
4. Wrap ffts (https://github.com/anthonix/ffts) and use it as an
> alternative to FITPACK in scipy.fft for use cases where it is faster.
>
Benchmarks look great, but this also looks like a potential build nightmare
(dynamically generated code, a JNI interface, no Windows builds?).
>
> Which of these projects would be most appreciated? I certainly want to be
> able to make a valid and, more importantly, useful contribution.
>
All of these ideas could make a nice GSoC project, but I suspect (1) or (2)
would be preferable over (3) or (4).
Cheers,
Ralf
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/scipy-dev/attachments/20150324/df7bd4cf/attachment.html>
More information about the SciPy-Dev
mailing list