$include_dir="/home/hyper-archives/ublas/include"; include("$include_dir/msg-header.inc") ?>
From: Matthias Troyer (troyer_at_[hidden])
Date: 2006-07-23 05:13:35
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);
}