def combination_components(omega, zmag, w): '''Given a form omega on AS cover and normal basis element zmag, find the decomposition sum_g g(zmag) omega_g and return sum_g g(w) omega_g.''' AS = omega.curve p = AS.characteristic group_elts = [(j1, j2) for j1 in range(p) for j2 in range(p)] zvee = dual_elt(AS, zmag) result = as_form(AS, 0) for g in AS.group: omegag = ith_magical_component(omega, zvee, g) aux_fct1 = w.group_action(g).function aux_fct2 = omegag.form result += as_form(AS, aux_fct1*aux_fct2) return result