4
$\begingroup$

I would like to create a rank 4 symbolic tensor with this symmetries

(1) C_ijkl = C_jikl

(2) C_ijkl = C_ijlk

(3) C_ijkl = C_klij

is there any way to apply symmetry (3)?

symmetry (1) and (2) can be applied as:

cAr = SymmetrizedArray[pos_ -> c[pos], {3, 3, 3, 3}, {Symmetric[{1, 2}], 
Symmetric[{3, 4}]}]; cAr // MatrixForm
$\endgroup$
2
$\begingroup$

You can use the general language of symmetries (of which Symmetric and Antisymmetric are particular cases). Your symmetries (1), (2) and (3) correspond respectively to these generators:

sym = {
    {Cycles[{{1, 2}}], 1},
    {Cycles[{{3, 4}}], 1},
    {Cycles[{{1, 3}, {2, 4}}], 1}
};

The 1 means that there is no sign change. For example, the permutation symmetry of the Riemann tensor has -1 in the first two generators, corresponding to antisymmetries.

Then the symmetrized array would be, for dimension 3:

cAr = SymmetrizedArray[pos_ -> c[pos], {3, 3, 3, 3}, sym];
cAr // MatrixForm
$\endgroup$
  • $\begingroup$ Thanks a lot... $\endgroup$ – Majid Aug 14 at 16:14

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.