The formulas given in the screenshot is not enough to deduce the conclusion therein i.e. there're only 12 independent variables in $C_{i,j,k,l}$$C_{ijkl}$. The missing formulas are
$$C_{ijkl}=C_{jikl}$$
$$C_{ijkl}=C_{ijlk}$$
which can be implemented as
c[i_, j_, k_, l_] /; i > j := c[j, i, k, l]
c[i_, j_, k_, l_] /; k > l := c[i, j, l, k]
Then generate $C$ and $l$s. I've turned to L
to denote the matrix $l$ because $l$ is already used for index. (Why not turn to a better textbook? )
listL = RotationMatrix[180 Degree, #] & /@ IdentityMatrix@3;
tensorc = Array[c, {3, 3, 3, 3}];
Generate the 3 equation system with my allowtensor
:
(* Definition of allowtensor isn't included in this post,
please find it in the link above. *)
systemall =
Table[
allowtensor[
tensorc[[p, q, m, n]] == L[[i, p]] L[[j, q]] L[[k, m]] L[[l, n]] tensorc[[i, j, k, l]],
{i, j, k, l, p, q, m, n}], {L, listL}];
Alternatively, with TensorProduct
and TensorContract
:
systemall =
Table[
tensorc == TensorContract[
L\[TensorProduct]L\[TensorProduct]L\[TensorProduct]L\[TensorProduct]tensorc,
{{1, 9}, {3, 10}, {5, 11}, {7, 12}}], {L, listL}];
and solve them:
sol = Solve /@ systemall // Flatten;
sol /. c[i__] :> Subscript[c, i] // Union
DeleteCases[tensorc /. sol // Flatten // Union, 0]
Length@%
(* 12 *)