[ublas] Serious bug in mapped_vector_of_mapped_vector

There is a serious bug in the mapped_vector_of_mapped_vector spare matrix type. Rows containing only zero elements are not treated correctly in prod(). The following code should give a vector that contains only 1 in the last element. Instead prod() gives a vector containing 1 in each element. In debug mode this bug is found by the checks: Check failed in file boost/boost/numeric/ublas/detail/ vector_assign.hpp at line 371: detail::expression_type_check (v, cv) Aborted The bug appears in Boost 1.33 as well as in the CVS version Best regards Matthias #include <boost/numeric/ublas/matrix_sparse.hpp> #include <boost/numeric/ublas/vector.hpp> int main() { boost::numeric::ublas::mapped_vector_of_mapped_vector<double> m (64,64); boost::numeric::ublas::vector<double> v(64); boost::numeric::ublas::vector<double> w(64); v[63] = 1.; m(63,63) = 1.; w = boost::numeric::ublas::prod(m,v); }

Just a reminder that this bug is still open and I did not hear anything yet. What is the right way of reporting an ublass bug? Matthias On Jul 23, 2006, at 11:13 AM, Matthias Troyer wrote:
There is a serious bug in the mapped_vector_of_mapped_vector spare matrix type. Rows containing only zero elements are not treated correctly in prod(). The following code should give a vector that contains only 1 in the last element. Instead prod() gives a vector containing 1 in each element. In debug mode this bug is found by the checks:
Check failed in file boost/boost/numeric/ublas/detail/ vector_assign.hpp at line 371: detail::expression_type_check (v, cv) Aborted
The bug appears in Boost 1.33 as well as in the CVS version
Best regards
Matthias
#include <boost/numeric/ublas/matrix_sparse.hpp> #include <boost/numeric/ublas/vector.hpp>
int main() { boost::numeric::ublas::mapped_vector_of_mapped_vector<double> m (64,64); boost::numeric::ublas::vector<double> v(64); boost::numeric::ublas::vector<double> w(64); v[63] = 1.; m(63,63) = 1.; w = boost::numeric::ublas::prod(m,v); }
_______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/ listinfo.cgi/boost
participants (1)
-
Matthias Troyer