What do you mean by "just use it as" ? For example.. I have a matrix<double> m(5,5); In some code I actually need to use it as a 5x5 matrix.. but other parts must reference it as a vector (to pass to another library). Currently I am doing something like this matrix<double> m(5,5); // do stuff to m vector<double> v(25); v.data() = m.data(); // pass v to library // get results back m.data() = v.data(); This is obviously not optimal.. and if both m.data() and v.data() pointed to the same location in memory the problem would be solved. I suppose I might be able to get around it by making my own storage class that allows you to specify a location and size instead of allocating one itself. --Stephen On Wed, Nov 27, 2002 at 08:31:37AM +0200, Scott Sinclair wrote:
Hi Stephen
Yes, just use a (1, n) or (n, 1) matrix as appropriate and do matrix operations instead of vector ops. The results will be correct as long as you make sure you have a correctly dimensioned matrix in place of your vector (i.e one that matches your vectors size and orientation). After all a matrix is just a collection of vectors ;-)
cheers, Scott
On 27/11/2002 05:10, Stephen Crowley wrote
It is possible for a vector and a matrix to share the same storage, as long as the dimensions agree?
Some of the algorithms I am implementing require some objects to be treated as an arbitrarily sized matrix, and sometimes as a vector, and it would be convient to have a matrix and a vector share the same memory.
-- Stephen
The contents of this email may be confidential. Unauthorised use is prohibited. Umgeni Water does not accept liability for any statements and opinions which are the sender's own view and not expressly made on its behalf.
Info: http://www.boost.org Wiki: http://www.crystalclearsoftware.com/cgi-bin/boost_wiki/wiki.pl Unsubscribe: mailto:boost-users-unsubscribe@yahoogroups.com
Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
-- Stephen