PyUblas

PyUblas

PyUblas provides a seamless glue layer between Numpy and Boost.Ublas for use with Boost.Python.

What does that mean? When writing hybrid scientific code, one of the main problems is that abstractions that exist in the high-level language go away or become unwieldy in the low-level language. Sometimes libraries exist in both languages for these abstractions, but they refuse to talk to each other. PyUblas is a bridge between two such libraries, for some of the main abstractions used in scientific codes, namely vectors and matrices.

Documentation

See the PyUblas Documentation.

Support

If you need help using PyUblas, please use the PyUblas Mailing list.

Download

PyUblas may be downloaded from its Python Package Index page or obtained directly from my source code repository by typing

git clone http://git.tiker.net/trees/pyublas.git

You may also browse the source.

Prerequisites:

  • Boost (any recent version should work)
  • Boost Ublas Bindings (this is only a bunch of headers you need to drop into your include path)

PyUblasExt

PyUblasExt is a companion to PyUblas and exposes a variety of useful additions to PyUblas, such as an "operator" class, matrix-free linear system solvers and eigensolvers. Interested? Head over to the PyUblasExt page.

Joint release 0.92 of PyUblas and PyUblasExt

I'm happy to announce the availability of PyUblas and its companion package PyUblasExt in version 0.92. While PyUblasExt is available for the first time in released form, these are the changes made to PyUblas:

  • Sparse wrappers are now not compiled by default. You have to request them using --with-sparse-wrappers at configure time.
  • Provide implicit to-/from-python conversion for Ublas's vector, bounded_vector, and matrix types.
  • Provide from-Python converters for Numpy's array scalars.
  • Instantiate converters for a much wider range of element types.
  • Fixed compilation without -DNDEBUG.
  • Plus a slew of other cleanups and fixes.