diff --git a/drafty/draft2.sage b/drafty/draft2.sage index 3d562a4..3c88ca9 100644 --- a/drafty/draft2.sage +++ b/drafty/draft2.sage @@ -5,8 +5,8 @@ P1 = superelliptic(x^2 + 1, 2) fct1 = (P1.x)^2 fct2 = fct1 + (P1.x)/(P1.y - P1.x) fct3 = (P1.x)^4 -C = heisenberg_cover(P1, [1/2*fct1, fct2, fct3], prec=300) +C = heisenberg_cover(P1, [1/2*fct1, fct2, fct3], prec=500) print(C) B = C.holomorphic_differentials_basis() -print("Computed basis") -a1, b1, c1 = heisenberg_group_action_matrices_holo(C, basis = B) \ No newline at end of file +#print("Computed basis") +#a1, b1, c1 = heisenberg_group_action_matrices_holo(C, basis = B) \ No newline at end of file diff --git a/heisenberg_covers/heisenberg_covers.sage b/heisenberg_covers/heisenberg_covers.sage index 43b6385..9782212 100644 --- a/heisenberg_covers/heisenberg_covers.sage +++ b/heisenberg_covers/heisenberg_covers.sage @@ -138,27 +138,20 @@ class heisenberg_cover: S += [(eta, eta_exp)] forms = heisenberg_holomorphic_combinations(S) - - for pt in self.branch_points[1:]: - forms = [(omega, omega.expansion(pt=pt)) for omega in forms] - forms = heisenberg_holomorphic_combinations(forms) - + print("next iteration") + for pt in self.branch_points: + for g in [(0, i, 0) for i in range(p)]: + print("next iteration") + if pt != self.branch_points[0] or g != (0, 0, 0): + forms = [(omega, omega.group_action(g).expansion(pt=pt)) for omega in forms] + forms = heisenberg_holomorphic_combinations(forms) + + return forms if len(forms) < self.genus(): print("I haven't found all forms, only ", len(forms), " of ", self.genus()) return holomorphic_differentials_basis(self, threshold = threshold + 1) if len(forms) > self.genus(): - forms1 = [] - for omega in forms: - flag = 1 - for g in self.group: - for i in range(self.nb_of_pts_at_infty): - if omega.group_action(g).valuation(i) < 0: - flag = 0 - if flag == 1: - forms1 += [omega] - if len(forms1) == self.genus(): - return forms1 raise ValueError("Increase precision.") return forms