Version 5 (modified by oliphant, 5 years ago)

--

There are a lot of ways for someone to plug-in to the NumPy project. Here is a list of ideas we are thinking about. Use the list to communicate if you are interested in working on any of these so you can coordinate with others interested in the same things.

Ideas for Projects

  • (per thread) threading pool for use when GIL is released in NumPy
  • use intrinsics (SSE-instructions) to speed up low-level loops in NumPy
  • general looping function object GeneralLoopingFunctions
  • add ability to "compile" a restricted set of Python (combination of weave and Cython) to allow writing ufuncs and general looping functions in Python syntax (and use decorators and/or the with statement to make it easy): Something like this is the syntax I'm thinking about:
@make_ufunc([float, complex], scalar=True)
def sinc_add(a,b):
    if a == 0:
       c = 1
    else:
       c = sin(pi*a)/(pi*a)
    return c + b

This would create a ufunc that performed this function (in compiled code) and linked it to 1-d loops that worked with float and complex numbers.

  • Use Cython to move the matrix, recarray, and chararray classes to compiled extensions.
  • Use Cython to move .py files to extension modules.
  • Move the basic sparse matrix structure from SciPy over into NumPy and making it work seamlessly with the matrix object
  • Use Google API's to automatically upload NumPy arrays to
    • spreadsheets
    • youtube videos
    • picassa web-albums
    • etc., etc.