typedef trace::dot_product< std::vector< double >::iterator, std::vector< double >::iterator, double > dot_product3d;