**Symmetric isotropic tensors** 🏠 [Home]("https://blog.linearconstraints.net") ✉ ounanding@gmail.com 📅 Sun Feb 2 15:05:42 PST 2020
$$ \newcommand{\mx}[1]{\begin{pmatrix} #1 \end{pmatrix}} \newcommand{\gp}[1]{\left( #1 \right)} \newcommand{\abs}[1]{\left| #1 \right|} \newcommand{\norm}[1]{\left\lVert #1 \right\rVert} \newcommand{\cp}[1]{{#1^\times}} \DeclareMathOperator{\tr}{tr} \renewcommand{\AA}{\mathbf{A}} \newcommand{\BB}{\mathbf{B}} \newcommand{\CC}{\mathbf{C}} \newcommand{\EE}{\mathbf{E}} \newcommand{\FF}{\mathbf{F}} \newcommand{\HH}{\mathbf{H}} \newcommand{\II}{\mathbf{I}} \newcommand{\KK}{\mathbf{K}} \newcommand{\LL}{\mathbf{L}} \newcommand{\MM}{\mathbf{M}} \newcommand{\NN}{\mathbf{N}} \newcommand{\OO}{\mathbf{O}} \newcommand{\PP}{\mathbf{P}} \newcommand{\QQ}{\mathbf{Q}} \newcommand{\RR}{\mathbf{R}} \renewcommand{\SS}{\mathbf{S}} \newcommand{\TT}{\mathbf{T}} \renewcommand{\TT}{\mathbf{T}} \newcommand{\UU}{\mathbf{U}} \newcommand{\VV}{\mathbf{V}} \newcommand{\WW}{\mathbf{W}} \newcommand{\XX}{\mathbf{X}} \renewcommand{\aa}{\mathbf{a}} \newcommand{\bb}{\mathbf{b}} \newcommand{\cc}{\mathbf{c}} \newcommand{\dd}{\mathbf{d}} \newcommand{\ee}{\mathbf{e}} \newcommand{\ff}{\mathbf{f}} \renewcommand{\gg}{\mathbf{g}} \newcommand{\jj}{\mathbf{j}} \newcommand{\mm}{\mathbf{m}} \newcommand{\nn}{\mathbf{n}} \newcommand{\pp}{\mathbf{p}} \newcommand{\qq}{\mathbf{q}} \newcommand{\rr}{\mathbf{r}} \renewcommand{\tt}{\mathbf{t}} \newcommand{\uu}{\mathbf{u}} \newcommand{\vv}{\mathbf{v}} \newcommand{\ww}{\mathbf{w}} \newcommand{\xx}{\mathbf{x}} \newcommand{\yy}{\mathbf{y}} \newcommand{\zz}{\mathbf{z}} \newcommand{\ttau}{\boldsymbol{\tau}} \newcommand{\eye}{\boldsymbol{\delta}} $$
This is to verify the degrees of freedom of the Cauchy stress tensor. The idea was from Prof. Schroeder and he also taught me Maple. The 3D case works as expected but in 2D case I have an extra mode other than the trace or symmetric part ($\AA+\AA^T$). # 3D case Use Rodrigues' rotation formula for a general rotation $\RR$. ~~~~ restart; with(LinearAlgebra): C:=Matrix(3,3,(i,j)->Matrix(3,3,(k,l)->c||i||j||k||l)); d:=; w:=; K:=Matrix(3,3,(i,j)->k||i||j); K:=K-K^%T; E:=convert(K.w - CrossProduct(d,w),list); sol:=eliminate([op(diff(E,w1)),op(diff(E,w2)),op(diff(E,w3))],indets(K))[1]; K:=subs(sol,K); R:=IdentityMatrix(3) + s * K + (1-c) * K^2; R1:=subs(c=0,s=1,d1=1,d2=0,d3=0,R); R2:=subs(c=0,s=-1,d1=1,d2=0,d3=0,R); R3:=subs(c=cos(Pi/2),s=sin(Pi/2),d1=0,d2=1,d3=0,R); R4:=subs(c=cos(Pi/4),s=sin(Pi/4),d1=0,d2=1,d3=0,R); R5:=subs(c=cos(Pi/3),s=sin(Pi/3),d1=0,d2=1,d3=0,R); E:='[seq(seq(seq(seq(C[r,v][t,u]-`+`(seq(seq(seq(seq(C[i,j][k,l]*Q[i,r]*Q[j,v]*Q[k,t]*Q[l,u],i=1..3),j=1..3),k=1..3),l=1..3)),r=1..3),v=1..3),t=1..3),u=1..3)]'; E1:=subs(Q=R1,E): E3:=subs(Q=R3,E): E4:=subs(Q=R4,E): C1:=simplify(subs(eliminate([op(E1),op(E3),op(E4)],indets(C))[1],C)); indets(C1); A:=Matrix(3,3,(i,j)->a||i||j); B:=map(z->Trace(Transpose(z).(A+A^%T)),C1); F:=simplify(simplify(B-Transpose(B))); Y:=map(z->Trace(Transpose(z).(A-A^%T)),C1); G:=simplify(Y); C2:=subs(eliminate(convert(convert(G,list),list),indets(C1))[1],C1); p:=map(z->Trace(Transpose(z).A),C2); simplify(subs(c3322=k,c3333=k + m,p) - m/2 * (A + A^%T) - k * Trace(A)); ~~~~ This gives me $\mathbf{0}$ in the last line. # 2D case ~~~~ restart; with(LinearAlgebra): C:=Matrix(2,2,(i,j)->Matrix(2,2,(k,l)->c||i||j||k||l)); R:=; E:=[seq(seq(seq(seq(C[r,v][t,u]-`+`(seq(seq(seq(seq(C[i,j][k,l]*R[i,r]*R[j,v]*R[k,t]*R[l,u],i=1..2),j=1..2),k=1..2),l=1..2)),r=1..2),v=1..2),t=1..2),u=1..2)]; E1:=subs(c=0,s=1,E); E2:=subs(c=0,s=-1,E); E3:=subs(c=cos(Pi/2),s=sin(Pi/2),E); E3:=subs(c=cos(Pi/4),s=sin(Pi/4),E); E4:=subs(c=cos(Pi/3),s=sin(Pi/3),E); C2:=subs(eliminate([op(E1),op(E2),op(E3),op(E4)],indets(C))[1],C); indets(C2); A:=Matrix(2,2,(i,j)->a||i||j); B:=map(z->Trace(Transpose(z).(A+A^%T)),C2); F:=simplify(B-Transpose(B)); C3:=subs(eliminate(convert(convert(F,list),list),indets(C2))[1],C2); Y:=map(z->Trace(Transpose(z).(A-A^%T)),C3); G:=simplify(Y); C4:=subs(eliminate(convert(convert(G,list),list),indets(C3))[1],C3); p:=map(z->Trace(Transpose(z).A),C4); simplify(subs(c2211=k,c2221=n,c2222=k+m,p) - m/2 * (A + A^%T) - k * Trace(A)); ~~~~ By running this script I got ~~~~ [-n (a21 + a12) n (a11 - a22)] [ ] [n (a11 - a22) n (a21 + a12)] ~~~~