[eigen] Confusion about MatrixBase::multiply() and MatrixBase::leftmultiply()

[ Thread Index | Date Index | More lists.tuxfamily.org/eigen Archives ]


Hello,
I have a problem with Eigen 1.05 and the functions MatrixBase::multiply() and MatrixBase::leftmultiply().

The help says that MatrixBase::multiply() computes *this * vector.
and MatrixBase::leftmultiply() cumputes vector * *this (where vector will be transposed).

But if I have the matrix


A = [1..0..0..0]
.....[0..1..0..0]
.....[0..0..1.-5]
.....[0..0..0..1]

and the vector v = [0 0 -5 1]^T

then A.multiply(*v, v) is [0 0 -5 24]^T but it should be [0 0 0 1]^T.

And A.leftmultiply(*v, v) is [0 0 0 1]but it should be [0 0 -5 24]^T.

If it possible that someone has confound something here? Or is it my mistake?!

Greetings

Michael


---


Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/