p = 5 m = 1 F = GF(p) Rx. = PolynomialRing(F) f = x C_super = superelliptic(f, m) Rxy. = PolynomialRing(F, 2) f1 = superelliptic_function(C_super, x^2) f2 = superelliptic_function(C_super, x^3) AS = as_cover(C_super, [f1, f2], prec=500) zmag = (AS.magical_element())[0] zdual = dual_elt(AS, zmag) for i in range(p): for j in range(p): if (i, j) == (0, 0): print((zmag*(zdual.group_action([i, j]))).trace().function == 1) else: print((zmag*(zdual.group_action([i, j]))).trace().function == 0)