ccgsl
Use Gnu Scientific Library as if it were writtem in C++.
The ccgsl provides simple C++ wrappers for the GNU Scientific Library. It uses Java-like shared-pointer classes in place of structs to avoid direct memory allocation/freeing and to work better with the STL. It lets you construct functions for optimisation, root-finding and the like from C++ member functions, making it easier to integrate with existing C++ code. It also provides C++ exceptions.