Re: [eigen] Optimization for special complex operations |

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

*To*: eigen@xxxxxxxxxxxxxxxxxxx*Subject*: Re: [eigen] Optimization for special complex operations*From*: Benoit Jacob <jacob.benoit.1@xxxxxxxxx>*Date*: Mon, 16 Aug 2010 11:43:32 -0400*Dkim-signature*: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:received:in-reply-to :references:date:message-id:subject:from:to:content-type; bh=muWhibLse+V2irNb6sn6zO/+uPyB2HLrKyITmRqioMg=; b=pvfxGb3Au6MnrkkawWK6XYguE0LJvbc5gI8gZua8KWHuyqCgACnDeaBKIo8Ybg6BA1 kVJAojtK9U5+7DvTzaDSlSNXsiWLqal7Xjk0jMWLu+qh+RXnnjwlLOk9zXAMp/E0yu/A T64+QoB5NeVR2wBCUnpFKIju7hQN0nmEMVLI0=*Domainkey-signature*: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type; b=Q0I+BATdGeS/aGSU9FyZdUdGb1fPrsG+oUdNnACdJntPviDg46jscB1H0x8pOKwVdG Kn6F2DvjHgZHWQe+EkW+4RQVIuErjoJ+A2180lsb/BeKa4hZ4Vcw5dCgTCLp2YgJ/HM1 bb3vdL2Bp/62jetk0V7tlqAqeKc3ihCDNAPxw=

2010/8/16 Carlos Becker <carlosbecker@xxxxxxxxx>: > > On Mon, Aug 16, 2010 at 2:34 PM, Benoit Jacob <jacob.benoit.1@xxxxxxxxx> > wrote: >> >> 2010/8/16 Carlos Becker <carlosbecker@xxxxxxxxx>: >> > Hi everyone again. Lately I've been using Eigen with complex numbers to >> > calculate things such as calculating the maximum of the real part or >> > imaginary part of a certain vector. I suppose that trying to take the >> > real >> > part and then use maxCoeff() or minCoeff() would create a possible >> > unnecessary temporary. >> >> No, it wouldn't :-) > > Ok good, maybe 'temporary' is not exactly what I wanted to say. I mean that > maybe there are vectorized ways to do certain stuff and special > implementations could be provided for such operations. > >> >> > Another thing is to be able to do something like: >> > >> > MatrixXf nn,xx; >> > xx = nn.colwise().normalized(); >> >> Hm. If we start going that route, won't we end up offering every >> possible vector operation as colwise() operation? >> > ..... >> >> The biggest reason not to do it now is that it really isn't necessary >> to release Eigen 3.0 .... ;-) > > > Yes I understand. I think vector-wise operations could be very important, > but they would probably require a bit of discussion before implementing them > (ie: should we keep .colwise(), should we use .vectorwise(), in the case > some names for the reductions and vector-wise operations are the same). I > believe these kind of operations would be very useful since many times a set > of vectors is stored in a matrix, so this way the user could benefit from > extra performance. But the thing is, for this kind of use case, the much better approach is to use a matrix-of-arrays: Matrix<ArrayXf, 3, 1> then all operations are automatically supported and vectorized. The problem is that right now there is an inefficiency problem as we create useless temporaries with Scalar=Array. This is the problem that is the most worth fixing. Benoit > I could try some prototypes to see if I can make it work. I designing > something like .vectorwise() could be fine. > Carlos

**Follow-Ups**:**Re: [eigen] Optimization for special complex operations***From:*Gael Guennebaud

**References**:**[eigen] Optimization for special complex operations***From:*Carlos Becker

**Re: [eigen] Optimization for special complex operations***From:*Benoit Jacob

**Re: [eigen] Optimization for special complex operations***From:*Carlos Becker

**Messages sorted by:**[ date | thread ]- Prev by Date:
**Re: [eigen] Optimization for special complex operations** - Next by Date:
**Re: [eigen] Do we need geometry refactoring?** - Previous by thread:
**Re: [eigen] Optimization for special complex operations** - Next by thread:
**Re: [eigen] Optimization for special complex operations**

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