Tensor multiplication (Rank 4)

5 views (last 30 days)
William White
William White on 1 Aug 2017
Edited: José-Luis on 1 Aug 2017
Is there a quick method (or quick and easy method) to transform rank 4 tensors in Matlab?
that is if I have a rank 4 tensor C(mnop) and a 3x3 transformation matrix A:
how do I implement this in matlab:
C'(ijkl) = A(im) A(jn) A(ko) A(lp) C(mnop)
or
C' = A A C AT AT
(where AT is the transpose of A)
kind regards William
  4 Comments
José-Luis
José-Luis on 1 Aug 2017
Edited: José-Luis on 1 Aug 2017
Nowadays (R2016b +) Matlab allows for explicit expansion of arithmetic operations. This should take it a step closer to what you want.
Unsolicited disclaimer: I don't personally use that because I still find it confusing. I guess I'm getting old.
William White
William White on 1 Aug 2017
you're not wrong - that does look confusing. I was hoping for a something a little more straightforward (i.e. a one line command like one would use to transform a matrix!)

Sign in to comment.

Answers (0)

Categories

Find more on Loops and Conditional Statements in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!