Re: [eigen] Multi Dimensional Arrays

[ Thread Index | Date Index ]


Hi,

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
triangular solvers).

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.

Benoit


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.
>
>
>
>
>
>



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