2022-11-18 15:00:34 +01:00
|
|
|
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)
|
2022-12-19 14:37:14 +01:00
|
|
|
for g in AS.group:
|
|
|
|
omegag = ith_magical_component(omega, zvee, g)
|
|
|
|
aux_fct1 = w.group_action(g).function
|
|
|
|
aux_fct2 = omegag.form
|
2022-11-18 15:00:34 +01:00
|
|
|
result += as_form(AS, aux_fct1*aux_fct2)
|
|
|
|
return result
|