|Re: [eigen] Multi Dimensional Arrays|
[ Thread Index |
- To: eigen@xxxxxxxxxxxxxxxxxxx
- Subject: Re: [eigen] Multi Dimensional Arrays
- From: Benoit Jacob <jacob.benoit.1@xxxxxxxxx>
- Date: Tue, 8 Feb 2011 21:15:04 -0500
- Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:in-reply-to:references:date :message-id:subject:from:to:content-type:content-transfer-encoding; bh=jA0ED9L9Bam/xfGoztBBsyXTT+3k3vbXOkCxBFmPTsc=; b=PYuqSV51keezW1TZEInTdMzV65/YjV+VzsfjYqcInUjHsbb7qD6k65rNiI56IG/Y3z 31/mYdAtge7nZ+5vCr5Zp/MQWVNKf/wGAVwSj75LJKR8LpMXFkv9ls3ILwMQnhZhX1tk DhbppzWZ8QcLv7lunaEql9dPQ8RVG78McSQtw=
- 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=hcBlzhmKdcxjsqxhgnpbTRaVLIaLM1srPHg/u2oC6YRqaKyPe1A6KlHHB7C+bhHhdl 4P92rlZHcfJ7jvftNwy9sk0/isTQ92dueNGRkx3PDAsWky0mYqTTikxF4/3CebYoaghD fs4hKd62E3o9hzXaJDBx+Ct9Bz3w2kwvzh7Q4=
There's no multi-dimensional support in Eigen at the moment.
I'm afraid one can't have Eigen's level of performance, reasonable
compilation times, and multi-dimensional all at the same time. Look at
how much effort already the matrix case (i.e. 2-dimensional) took,
supporting the 2 storage orders and optimizing all the resulting cases
(look at matrix-matrix, matrix-vector, diagonal-matrix products, and
Maybe we'll add multi-dimensional array support in the future, but I'm
afraid we won't be able to optimize all cases to the same extent.
Another point is that our expression model is completely tailored for
the matrix and vector cases. Multi-dimensional arrays would use an
almost completely separate class hierarchy, the greatest common
denominator is EigenBase<Derived>, above that they diverge.
2011/2/8 Andy Somogyi <andy.somogyi@xxxxxxxxx>:
> Hello All,
> I know this has been discussed on and off.
> From what I understand, the only way to handle multi dimensional arrays with Eigen is something along the lines of
> Array<Array<double,Dynamic,Dynamic> ,Dynamic, Dynamic> ...
> This is really far from ideal as it really is an array of arrays (separate memory blocks). Has there been any talk of merging in some multi dimensional support to Array, say from the now defunct blitz++ code, or adding it a new?
> I really really really just want to use A SINGLE LIBRARY, and have to rely on Eigen for linear algebra, and boost multi-array or blitz++ for multi-dimensional arrays. What would be nice is to have a multi-dim array, be able to grab a dimension or sub-array out of it, and use it directly as an Eigen Array / Matrix.