x:= Mvp("x");; y:= Mvp("y");; z:= Mvp("z");; H:= Hecke(W,[[x^2,y^2,z^2]]); R:= Representations(H);; rrr:= List(R, r-> List(list, x-> Product(r{x})));; for rr in rrr do rr[1]:= rr[2]^0; od; xxx:= x^0 * List(rrr, rr-> List(rr, TraceMat)); xxt:= TransposedMat(xxx); # evaluate characters on the dual basis aa:= x^2 + y^2 + z^2; bb:= -(y^2*z^2 + x^2*z^2 + x^2*y^2); cc:= (x*y*z)^2; map:= ["a", aa, "b", bb, "c", cc]; cols:= dual * xxt; xxd:= List(cols, x-> List(x, y-> Value(y, map))); # class polynomials! # nul0:= NullspaceMat(xxd); nul0:= NullspaceMat(TransposedMat(nul2)); nul0:= List(nul0, x-> List(x, y-> Value(y, map))); Print("testing nullspace ...\n"); test:= nul0 * xxd; Print(test = 0 * test, "\n");