4分量

ClearAll["`*"]
i=PauliMatrix[0];x=PauliMatrix[1];y=PauliMatrix[2];z=PauliMatrix[3];
mList=Join[Flatten[Table[KroneckerProduct[i2,i1],{i1,{i,x,y,z}},{i2,{i,x,y,z}}],1],Flatten[Table[I KroneckerProduct[i2,i1],{i1,{i,x,y,z}},{i2,{i,x,y,z}}],1]];(*所有Γ矩阵的集合*)
namelist=Style[#,Blue,20,FontFamily->"Times New Roman"]&/@Flatten@Join[Table[StringJoin[i2,"⊗",i1],{i1,{"(Subscript[τ, 0])","(Subscript[τ, x])","(Subscript[τ, y])","(Subscript[τ, z])"}},{i2,{"(Subscript[s, 0])","(Subscript[s, x])","(Subscript[s, y])","(Subscript[s, z])"}}],Table[StringJoin["I ",i2,"⊗",i1],{i1,{"(Subscript[τ, 0])","(Subscript[τ, x])","(Subscript[τ, y])","(Subscript[τ, z])"}},{i2,{"(Subscript[s, 0])","(Subscript[s, x])","(Subscript[s, y])","(Subscript[s, z])"}}]];
Mirrorm[m_]:=Table[Which[ mList[[i]].m.Inverse[mList[[i]]]==m,1,mList[[i]].m.Inverse[mList[[i]]]==-m,-1],{i,1,Length[mList]}](*所有直积形式尝试构建操作算符,在操作下不变号则为1,变号则为-1*)

m1=KroneckerProduct[z,i];
m2=KroneckerProduct[x,z];
m3=KroneckerProduct[y,i];
m4=KroneckerProduct[x,x];
p1=Flatten@Position[Mirrorm[m1],1];
p2=Flatten@Position[Mirrorm[m2],-1];
p3=Flatten@Position[Mirrorm[m3],1];
p4=Flatten@Position[Mirrorm[m4],1];
pend=Intersection[p1,p2,p3,p4];
TRSList=namelist[[pend]];(*找到对应的矩阵表示*)
posOp=Flatten@Position[Module[{m1,m2},Table[m1=mList[[i]];m2=m1.m1;m2==mList[[1]],{i,pend}]],True];(*镜面操作平方=1时候的操作矩阵*)
TRSSpinFull=TRSList[[posOp]]
TRSSpinLess=Complement[TRSList,TRSSpinFull](*镜面操作平方=-1时候的操作矩阵*)

8分量

ClearAll["`*"]
i=PauliMatrix[0];x=PauliMatrix[1];y=PauliMatrix[2];z=PauliMatrix[3];
mList=Join[Flatten[Table[KroneckerProduct[i3,i2,i1],{i1,{i,x,y,z}},{i2,{i,x,y,z}},{i3,{i,x,y,z}}],2],Flatten[Table[I KroneckerProduct[i3,i2,i1],{i1,{i,x,y,z}},{i2,{i,x,y,z}},{i3,{i,x,y,z}}],2]];(*所有Γ矩阵的集合*)
namelist=Style[#,Blue,20,FontFamily->"Times New Roman"]&/@Flatten@Join[Table[StringJoin[i3,"⊗",i2,"⊗",i1],{i1,{"(Subscript[τ, 0])","(Subscript[τ, x])","(Subscript[τ, y])","(Subscript[τ, z])"}},{i2,{"(Subscript[s, 0])","(Subscript[s, x])","(Subscript[s, y])","(Subscript[s, z])"}},{i3,{"(Subscript[σ, 0])","(Subscript[σ, x])","(Subscript[σ, y])","(Subscript[σ, z])"}}],Table[StringJoin["I ",i3,"⊗",i2,"⊗",i1],{i1,{"(Subscript[τ, 0])","(Subscript[τ, x])","(Subscript[τ, y])","(Subscript[τ, z])"}},{i2,{"(Subscript[s, 0])","(Subscript[s, x])","(Subscript[s, y])","(Subscript[s, z])"}},{i3,{"(Subscript[σ, 0])","(Subscript[σ, x])","(Subscript[σ, y])","(Subscript[σ, z])"}}]];
Mirrorm[m_]:=Table[Which[ mList[[i]].m.Inverse[mList[[i]]]==m,1,mList[[i]].m.Inverse[mList[[i]]]==-m,-1],{i,1,Length[mList]}](*所有直积形式尝试构建操作算符,在操作下不变号则为1,变号则为-1*)
m1=KroneckerProduct[z,i,z];
m2=KroneckerProduct[x,i,i];
m3=KroneckerProduct[y,i,z];
m4=KroneckerProduct[i,y,y];
m5=KroneckerProduct[z,x,z];
p1=Flatten@Position[Mirrorm[m1],1];
p2=Flatten@Position[Mirrorm[m2],-1];
p3=Flatten@Position[Mirrorm[m3],1];
p4=Flatten@Position[Mirrorm[m4],1];
p5=Flatten@Position[Mirrorm[m5],1];
pend=Intersection[p1,p2,p3,p4,p5];
TRSList=namelist[[pend]];(*找到对应的矩阵表示*)
posOp=Flatten@Position[Module[{m1,m2},Table[m1=mList[[i]];m2=m1.m1;m2==mList[[1]],{i,pend}]],True];(*镜面操作平方=1时候的操作矩阵*)
TRSSpinFull=TRSList[[posOp]];
TRSSpinLess=Complement[TRSList,TRSSpinFull](*镜面操作平方=-1时候的操作矩阵*)