I realise that the binding will need quite some work to get right under VC6 (see previous posting). I would welcome suggestions to do the conversion directly (so without all the traits stuff) and not as general. Goal would be to quickly start and then (hopefully) one day be able to migrate to the traits version. Maybe the getrf function in Lapack would be a good starting point? Thanks ... By the way Toon, I think there is a typo in lapack.hpp: template < typename matrix_type, typename IpivIterator > int getrf(matrix_type& a, IpivIterator begin_ipiv, IpivIterator end_ipiv) { using namespace boost::numeric::bindings::traits ; typedef typename matrix_type::value_type value_type ; typedef typename boost::numeric::bindings::traits::value_traits< value_type >::value_type bind_type ; int m = boost::numeric::bindings::traits::matrix_size1( a ) ; int n = boost::numeric::bindings::traits::matrix_matrix_size2( a ) ; Shouldn't matrix_matrix_size2 be matrix_size2? (I can't compile so I did a visual compilation ;^) ... Rgds Geert