# SCRIPT: BH-NONNORMAL-04 # Claim: ||[A,A^T]||_F > 0 needs BOTH anisotropies; zero if T is isotropic or W is isotropic. # FALSE if the isotropic cases give > 1e-12 or the anisotropic case gives 0. import numpy as np def M5(t,w): t1,t2,t3=t; w1,w2,w3=w; A=np.zeros((5,5)) A[0,0]=(t1+t2)-(t1-t2)*(w1-w2); A[1,1]=2*t3+w3*(t1+t2-2*t3) A[0,1]=((t1-t2)-(t1+t2-2*t3)*(w1-w2))/np.sqrt(3); A[1,0]=np.sqrt(3)*(t1-t2)*w3 A[2,2]=t1+t2; A[3,3]=t1+t3; A[4,4]=t2+t3; return A f=lambda A: np.linalg.norm(A@A.T-A.T@A) for lab,t,w in [('both anisotropic',(2,1,1.3),(0.5,0.3,0.2)),('T isotropic',(1.5,1.5,1.5),(0.5,0.3,0.2)),('W isotropic',(2,1,1.3),(1/3,1/3,1/3)),('at the wall, joint point',(2,1,1.3),(0.7,0.3,0.0))]: print(f'{lab:28s} ||[A,A^T]||_F = {f(M5(t,w)):.6f}')