Re: [eigen] How to resize a partially fixed matrix

[ Thread Index | Date Index | More Archives ]

On Wed, Jun 24, 2009 at 10:37 AM, Helmut
Jarausch<jarausch@xxxxxxxxxxxxxxxxxxx> wrote:
> Hi,
> I wonder how I can resize a matrix where one of the dimension is fixed,
> like
> Matrix<double,4,Eigen::Dynamic> MS_BC;
> ....
> MS_BC.resize(5); //  this fails

yes it fails because resize(int size) is for vector only.

> but this works
> MS_BC.resize(4,5);
> but it's not logical?

well that depends. First of all it is very clear that
MS_BC.resize(4,5) *must* work. Now about allowing resize(int size) to
work on such matrices why not. I guess that the main use case for such
matrices is to use a Matrix to store a collection of small vectors,
and so the matrix can be seen as a std::vector, and so having
resize(int size) working makes sense. On the other hand, in that case
the parameter "size" will mean either the number of rows or the number
of cols depending on the context that is not very nice. So there are
pro and cons, but eventually I'm 51% ok to extend resize to partially
dynamic matrices. or, we add an explicit partial_resize(int size)
function ?


> Helmut.
> --
> Helmut Jarausch
> Lehrstuhl fuer Numerische Mathematik
> RWTH - Aachen University
> D 52056 Aachen, Germany

Mail converted by MHonArc 2.6.19+