Boost Bindings Library

Numeric Library Bindings for Boost UBlas

Boost Bindings is a bindings library (not just) for Boost.Ublas. It offers an easy way of calling BLAS, LAPACK, UMFPACK, MUMPS and many other mature legacy numerical codes from within C++.

This library was mainly written by Kresimir Fresl and others a few years back, and has since languished in dark corners of version control systems. Many people (including myself) posted improvements, some got integrated, others got silently dropped on the floor.

This here is my contribution to keeping the bindings alive: I try to collect contributions and roll them into downloadable releases, in the hope of making the library more accessible to potential users. Previously, all I did was make snapshot releases of the current state of CVS; this has changed. The most recent release includes significant updates scavenged from the Boost.Ublas mailing list, see the version control browser below for details.

(Disclaimer: Though I have contributed to the library, it is mostly other people’s work that I rerelease here.)

Obtaining a Copy

Download ready-made releases. Check out of version control:

git clone http://git.tiker.net/trees/boost-numeric-bindings.git

Browse the current git tree.

Installation

Download the archive, then type the following commands into your shell:

$ tar xvfz /where/to/you/downloaded/it/boost-numeric-bindings-NNNNNNNN-.tar.gz
$ cd boost-numeric-bindings
$ ./configure --prefix=/where/you/want/to/install/it
$ make install

Then, when compiling your boost-numeric-bindings-dependent software, do that with

$ c++ -I/where/you/want/to/install/it/include/boost-numeric-bindings

or, for, previous versions:

$ c++ -I/where/you/want/to/install/it/include/boost-bindings

Boost Bindings 20080405

I’ve rolled another new Boost bindings snapshot, dated 20080405.

This time around, I’ve done a bit more than update to current svn. I’ve tried to scavenge past contributions from the Ublas mailing list that got dropped on the floor. I’ve created a new version control tree where I intend on maintaining these changes:

http://git.tiker.net/?p=boost-bindings.git;a=summary

For starters, I’ve picked up:

  • Jesse Manning’s gels* routines.
  • Vardan Akopian’s gbsv routines.
  • Georg Baum’s non-std::complex<> fixes.
  • Georg Baum’s Fortran naming override.

If there’s anything I’ve missed, or if you have a contribution to the bindings sitting on your disk waiting for submission, please email me now! The bindings are a tremendous resource, let’s try to not let them wither away.

New release of Boost.Bindings tracking Boost 1.35 CVS

I’ve rolled a new release (20070826) of the Boost.Bindings library to track what’s currently going on in the Boost CVS tree leading up to release 1.35. What’s released works with current CVS as of 8/26/2007, I assume it will also work with the final release. I suspect that it will not work with boost 1.34.1 and older.

Additionally, this release has a configure script and a Makefile to enable it to be installed with the familiar ./configure;make;make install procedure. Using this is completely optional, the library will also work without installation, as before.

Boost Bindings update for UFsparse

I have released a new version of the Boost Bindings that fixes a problem with UMFPACK now typically being packaged as part of UFsparse. While I don’t think that this kind of packaging is a smart idea, Debian has recently jumped on the bandwagon, and thus this fix is necessary. The only change is from

#include <umfpack/umfpack.h>

to

#include <umfpack.h>

to let the code find an umfpack.h that is now under a directory called ufsparse.

Note: This version diverges from boost-bindings CVS, by this one change.