|Re: [eigen] Tensor module - Einstein notation|
[ Thread Index |
| More lists.tuxfamily.org/eigen Archives
- To: eigen <eigen@xxxxxxxxxxxxxxxxxxx>
- Subject: Re: [eigen] Tensor module - Einstein notation
- From: Gael Guennebaud <gael.guennebaud@xxxxxxxxx>
- Date: Thu, 25 Jun 2015 15:19:36 +0200
- Cc: Benoit Steiner <bsteiner@xxxxxxxxxx>
- Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc:content-type; bh=toIex3xC+xELFtOg29bdD629YLKcjD5fwJkMWdmAOaM=; b=SRFQvasqVQohHGJSRcuD13zoTxLtvMaUADek17Y+GG/H1a3BctoVxx2V8WWOU+tpmU BvTqGzmjMRHIFh2ReuLeTjApG1Qi/VeFh4aRLuVJL1ACLnZQNRusK1A3lxUVfqRAT3SD EP30sBg3ajCqP8ntt+kBJV5LaX13VIeY1iu6iqDZsg1VhwBPx68mRKEfSBN+vFpZDVVI lH0r2Cyj4Dsfl9UrCkBCX3m4wTEX/OEeo9bty3ATmgFp/H1OJQVI6hgRM489kC7bmgH/ +EpzNUBJ1V8NpfS85ZdyglBfMpySoSbzvFI8kOXYPRfViQILoP+1rWulBiWmbiWezumH WdGA==
the main author of this Tensor module (Benoit Steiner in CC), should be able to give you more accurate feedbacks.
Regarding the implementation (question 1), for performance reasons it is necessary to fallback to the most appropriate evaluation path depending on the actual operation, and re-use the optimized kernels we have in /Core for 1D and 2D tensors. This is already what is done in the Tensor module: for instance (some) contractions are implemented on top of matrix-matrix products.
I also confirm that in the current Tensor module, there is no tensor product yet, only contractions. Mostly because without Einstein-like notations, it is pretty difficult to express general tensor products.
Regarding implicit-summation, I'd recommend to restrict to Einstein summation only for now: at first glance, converting the general implicit summation to optimized routines seems to be significantly more challenging.