Re: [eigen] Re: ArrayXXf::matrix().applyOnTheLeft(...)

[ Thread Index | Date Index | More Archives ]

Thank you for looking into it Christoph.

> This does work:
>  B = (x.transpose()*B.matrix()).eval();

Aha.  I always forget about eval().

> I'd say this is a bug in Eigen, not a usage error on your side!

Would you like me to file this, along with a pointer to our
discussion, as a low-priority ticket in the bug tracker?

> Is there a reason why you need B to be an Array instead of a Matrix?

Conformance with another API which intended to convey pointwise data
rather than linear algebra concepts.  That API can be changed, which
is what I'll do.

> And do you really save anything by reusing B for the result variable? The
> operation can't be performed in-place anyways.

Very true.  This is from a routine that processes some data in stages.
 At each stage, it gets transformed in some way.  I was trying to
avoid introducing new names for temporaries so that the person after
me doesn't use (now invalid) data from an older stage.

- Rhys

Mail converted by MHonArc 2.6.19+