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 Exchange에서 Loops 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