Glas :RE: [glas] Vector Spaces vs. "Objects called vectors" |
From: Edwards, Harold C (hcedwar_at_[hidden])
Date: 2005-02-03 19:04:12
> Clearly, in a lot of cases it doesn't make sense to resize
> the vector.
> eg, "x += y", x and y should be the same size. The only case
> where it
> would be sensible to consider resizing is for ordinary
> assignment. Here,
> I don't think it is even sensible to fix a policy, if only for
> interoperability reasons (how would you prevent a resize for
> std::vector?
> How would you allow resize for a fixed-size array?).
Perhaps we can frame the "resize" concept in the
broader sense of "reassign vector space."
Some vector-implementations can be "morphed"
among a parameterized family of vector spaces while
other implementations are restricted to their initial
vector space.
Whether the vector-implementation is "morphable" should be
an observable characteristic of its implementation.
I don't believe it is a matter of whether or not to allow
"morphable" vector-implementations, but a matter of how best
to define and manage this characteristic.
> OTOH, partitioning and structure
> certainly are relevant and need to be included at some level in the
> concepts that the vector conform to.
These notions have been extremely useful in other efforts;
and are partially included in the Trilinos design.
http://software.sandia.gov/trilinos/.
--Carter