type:="D4"; W:=CoxeterGroup(type); G,phi:=ReflectionGroup(W); R:=CharacterRing(G); G:=ReflectionGroup(CoxeterGroup("D4")); R:=CharacterRing(G); characterTable:=[ R![1,1,1,1,1,1,1,1,1,1,1,1,1], R![1,1,1,1,1,-1,-1,1,1,-1,-1,-1,1], R![2,2,2,2,2,0,0,-1,2,0,0,0,-1], R![3,3,-1,-1,3,-1,-1,0,-1,-1,1,1,0], R![3,3,3,-1,-1,-1,-1,0,-1,1,1,-1,0], R![3,3,-1,3,-1,-1,-1,0,-1,1,-1,1,0], R![3,3,-1,-1,3,1,1,0,-1,1,-1,-1,0], R![3,3,3,-1,-1,1,1,0,-1,-1,-1,1,0], R![3,3,-1,3,-1,1,1,0,-1,-1,1,-1,0], R![4,-4,0,0,0,-2,2,1,0,0,0,0,-1], R![4,-4,0,0,0,2,-2,1,0,0,0,0,-1], R![6,6,-2,-2,-2,0,0,0,2,0,0,0,0], R![8,-8,0,0,0,0,0,-1,0,0,0,0,1]]; A:=MatrixAlgebra(RationalField(), 4 ); conjugacyClasses:= [<1,1,A![1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]>, <2,1,A![-1,0,0,0,0,-1,0,0,0,0,-1,0,0,0,0,-1]>, <2,6,A![0,0,0,-1,0,-1,0,0,1,2,1,1,-1,0,0,0]>, <2,6,A![1,2,1,1,0,-1,0,0,0,0,0,-1,0,0,-1,0]>, <2,6,A![0,0,-1,0,0,-1,0,0,-1,0,0,0,1,2,1,1]>, <2,12,A![-1,0,0,0,1,1,1,1,0,0,-1,0,0,0,0,-1]>, <2,12,A![1,1,0,0,0,-1,0,0,0,1,1,0,0,1,0,1]>, <3,32,A![0,1,0,0,-1,-1,0,0,1,1,1,0,1,1,0,1]>, <4,12,A![0,0,0,-1,0,1,1,1,-1,-2,-1,-1,1,0,0,0]>, <4,24,A![0,1,1,0,-1,-1,-1,0,1,1,0,0,1,1,1,1]>, <4,24,A![1,1,1,1,0,-1,-1,-1,0,1,0,1,0,1,1,0]>, <4,24,A![0,1,0,1,-1,-1,0,-1,1,1,1,1,1,1,0,0]>, <6,32,A![0,1,1,1,-1,-1,-1,-1,1,1,0,1,1,1,1,0]>]; d:=rec;