Tensor multiplication (Rank 4)

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 件のコメント

William White
William White 2017 年 8 月 1 日
Thanks for that. This is a custom function that seems quite complicated? Does Matlab not handle tensors in a more straightforward way?
José-Luis
José-Luis 2017 年 8 月 1 日
編集済み: José-Luis 2017 年 8 月 1 日
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 2017 年 8 月 1 日
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!)

サインインしてコメントする。

回答 (0 件)

カテゴリ

ヘルプ センター および File ExchangeLoops and Conditional Statements についてさらに検索

質問済み:

2017 年 8 月 1 日

編集済み:

2017 年 8 月 1 日

Community Treasure Hunt

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

Start Hunting!

Translated by