[eigen] Eigen3 features request

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


Dear Eigen developers,
I am following very closely the development of the tensor class in Eigen3. It is extremely fast and it provides multidimensional arrays to C++ users and in particular to scientists that require very high performance in their codes (like me!).

I would like to kindly propose two features that, to my knowledge, are not yet included in the current implementation but that might be of interest to many users:

  1. I mentioned this one in the forum but for completeness I also mention it here: it would be great to be able to extract slices of a tensor that point to the original data-block (without performing any data copies). That way one could modify part of the data in, for example, a separate function. That sub-tensor would have to be somewhat sparse, but that is easily solvable by adjusting the stride and the offset of each dimension.
  2. It would be very useful to be able to start indexing some of the dimensions of the tensor at user-selected values. For example, I might want to have an array that covers a range of indexes from -10 to 10 or from 200 to 300. This feature would be useful to people that operate with domain decomposed variables among threads/processes and want to keep track of the sub-domain location in the original cube.

I understand that you are already swamped developing many different packages of the library. I can guarantee that many users in physics and mathematics could benefit from these features in the long term. I actually wrote my own array class based on templates including all these features, but I did not want to go into _expression_ template optimization, which is a big point for the tensor class in Eigen. Also, being able to include auto differentiation in the future seems very promising.

Jaime



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