Re: [eigen] calculating on ranges |
[ Thread Index |
Date Index
| More lists.tuxfamily.org/eigen Archives
]
- To: eigen@xxxxxxxxxxxxxxxxxxx
- Subject: Re: [eigen] calculating on ranges
- From: Benoit Jacob <jacob.benoit.1@xxxxxxxxx>
- Date: Tue, 27 Jan 2009 16:54:55 +0100
- Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:in-reply-to:references :date:message-id:subject:from:to:content-type :content-transfer-encoding; bh=ERblIFhaavorSM0r/3OCBbpoTf5gEHxt13A7JVhZYHs=; b=qYKnyrVWIDxLu5HhTEqq9pFdN12rdm/tHZToX3dBtlxthFp+SgCDC9gNuqTKgKZDuH mvzW+ZlMf8Pjt6NoStPLso2eoImyUvOknFZXB6gu8awPYGEHn9ZGBLART799oBJ848sE tyLRyjeKf2X0KdAL80R/q4eh6L3GoLRoGNmpg=
- 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:content-transfer-encoding; b=sUvtYngT1V8brKCIDfAaredo0rQLuThaSa8Y4wuojRjwz6Oqoilk8XG9iYq8H0MZkw yKNFGLFTiZyM8Gsbk124a3NOOizmxYrdgAtrZvOHkMQQdymFnYy5m5+CxXuNpL/G5njv eHS1hWxk3lm0rkEaPfLzLCd2W2xZt3WjjIMk8=
2009/1/27 Jos van den Oever <jvdoever@xxxxxxxxx>:
> 2009/1/27 Benoit Jacob <jacob.benoit.1@xxxxxxxxx>:
>>> Again if vectorization matters it's no big deal, we just need a packet
>>> version of exp(). You'd then benefit from it automatically.
>
> The code looks really nice. The types are a bit verbose, but nothing too tragic.
Remember you can extend MatrixBase if you want to be able to call
these coefficient-wise methods without having to call cwise()
everytime. See:
http://eigen.tuxfamily.org/dox/CustomizingEigen.html#ExtendingMatrixBase
You can also call operator += directly on const_cast_derived() to
avoid creating explicitly this y.
> I overlooked the 'segment()' function in the API. It is very elegant.
> exp() is critical for us and a source of many optimization attempts.
> This is the case for many applications in chemistry and physics. So
> having the possibility of vectorizing it is very nice. Can you give a
> pointer on how to go about in doing this?
Google found code here:
http://gruntthepeon.free.fr/ssemath/
http://gruntthepeon.free.fr/ssemath/sse_mathfun.h
We could strip a lot of stuff from this file and keep only the SSE2 path.
That would be stuff for Eigen 2.1.
Cheers,
Benoit