Re: [eigen] vector-cwise operator +=/-= |

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

*To*: Eigen <eigen@xxxxxxxxxxxxxxxxxxx>*Subject*: Re: [eigen] vector-cwise operator +=/-=*From*: Hauke Heibel <hauke.heibel@xxxxxxxxxxxxxx>*Date*: Wed, 16 Dec 2009 09:58:57 +0100*Dkim-signature*: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlemail.com; s=gamma; h=domainkey-signature:mime-version:received:in-reply-to:references :date:message-id:subject:from:to:content-type; bh=XWoAtbgT1/secyRu4KDplLVCUJKVDUcuQNfSBHXGjRw=; b=lGPSW03SdA8qeWa2gVrdzBhvqpoQvJbpX+1mexWz0mxhkZBW/UGDj3iD/di8BQzTFC V8vl99LHVcxVa4qBoX/gIfv+ebQ7GnkzDIm3Nmz2iHwrSuOPizqvemO8p54KwNtDLZFp 5GqN3a7vXDKBlo7gxih1DNypiXicnZhkRptNw=*Domainkey-signature*: a=rsa-sha1; c=nofws; d=googlemail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type; b=O1FngGskn29cyusYTc+3aHXnfT8dcPvAjAYi5PQ5cWd203b1fKLVxPxuNJAWLkqDCw 17W30AEjPsZlVMxoQ8BHIklxTKNDHutk9Qufdro/ywK/Fu7SUQPV0/TzvECWfOgff2VL NcELg/l0XPzImbYKLTdG4LiiyBtPPqTRlq0Dw=

Here is the patch I have in mind.

On Wed, Dec 16, 2009 at 9:39 AM, Hauke Heibel <hauke.heibel@xxxxxxxxxxxxxx> wrote:

Hi guys,

I think it would be cool, if the following code worked:

#include <Eigen/Core>

#include <Eigen/Array>

using namespace Eigen;

void main ()

{

Matrix<double,3,1> v3;

Matrix<double,2,1> v2;

Matrix<double,2,3> m;

m << 1,2,3,4,5,6;

v2 << 7,8;

v3 << 4,5,6;

v3 += v2.transpose() * m; // expected 43, 59, 57

std::cout << v3 << std::endl;

}

The simple assignment

v3 = v2.transpose() * m;

is already working and if I am not totally wrong, the only thing which keeps this current example from working is the ctor of CwiseBinaryOp. In particular the lines

EIGEN_STATIC_ASSERT_SAME_MATRIX_SIZE(Lhs, Rhs)

ei_assert(lhs.rows() == rhs.rows() && lhs.cols() == rhs.cols());

(these are redundant, right?). I think, if we simply make this check less restrictive in the sense that we allow the assignment of vectors and their transposed counterparts (having the same size...) we would be done. Any objections or comments against such a change?

- Hauke

**Attachment:
cwise_assign.patch**

**Follow-Ups**:**Re: [eigen] vector-cwise operator +=/-=***From:*Gael Guennebaud

**References**:**[eigen] vector-cwise operator +=/-=***From:*Hauke Heibel

**Messages sorted by:**[ date | thread ]- Prev by Date:
**[eigen] vector-cwise operator +=/-=** - Next by Date:
**Re: [eigen] vector-cwise operator +=/-=** - Previous by thread:
**[eigen] vector-cwise operator +=/-=** - Next by thread:
**Re: [eigen] vector-cwise operator +=/-=**

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