Boost logo

Ublas :

From: Gunter Winkler (guwi17_at_[hidden])
Date: 2007-11-13 14:08:30


Am Dienstag, 13. November 2007 01:07 schrieb Tony Sheh:
> Mainly we are concerned with cartesian vectors so i have designed a
> class, BoostVector, that uses a vector<gfloat,
> boost::numeric::ublas::bounded_array<double, 3> > for storage/
> manipulation. I'm also using the operators.hpp to generate operations
> between BoostVector objects that call operations defined by the ublas
> headers.

just a comment: ublas is designed with large vectors in mind, so please
don't expect the best possible performance. Read also
http://www.crystalclearsoftware.com/cgi-bin/boost_wiki/wiki.pl?Frequently_Asked_Questions_Using_UBLAS

> the error i get is when i attempt to perform a subtraction between
> two BoostVector objects. One vector has size 3, as expected, the
> other has size 86. I dont' understand how the second vector can even
> be resized to 86 given that i'm using bounded_array..... this vector
> is involved in matrix multiplication with 3x3 matrices...... so i'm
> at a loss to explain the size...

This sounds quite confusing. Maybe this is simply an result of an
out-of-bounds access to a vector - this should be caught in debug mode.
Please try to extract a minimal compilable file that reproduces this
behavior. Otherwise it is hard to help.

mfg
Gunter