|[eigen] Eigen3 features request|
[ Thread Index |
| More lists.tuxfamily.org/eigen Archives
- To: eigen@xxxxxxxxxxxxxxxxxxx
- Subject: [eigen] Eigen3 features request
- From: Jaime de la Cruz Rodríguez <rematedeltomate@xxxxxxxxx>
- Date: Thu, 1 Nov 2018 12:31:44 +0100
- Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:from:date:message-id:subject:to; bh=agtCPUWzOlaaPRm29OibHpNHG4aya+nXC9cViZjtvkM=; b=IqVqTbdG7f8hH04cHRJxDDBGfur0gKIh/pyQSI8kSIo5cZz9gzgJQFIiV/ZafHy+OR edF4N+ToGRo0xwcpoKlTw72L9KRyn3CnCZDvkLm5TV/629TBpI3fxQ+H34ZBznAsDFUH j/JcuUfHe+UwX5XxaAdSwX/inEFKLhWCCDSTreCMTa7mA3eNv/GB9kc/a+ontTJXamA9 HQ0yjsp7W5nrN/axI19utaWAryWgOtoyWCOdad8QJ+iVgPXahCFZtpE/Xc+9sjnTnT2f S4Kk0gQo2iqnPPH7/1DywlNBx88DhrpAO3Vb+dd3yjhjkkDMWcoCnEeBCQ77fBBDx+oV dtzQ==
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:
- 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.
- 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.