non-totally ramified pts and holo diffs - 2nd try
This commit is contained in:
parent
7bfae60f57
commit
9585d6995b
@ -5,8 +5,8 @@ P1 = superelliptic(x^2 + 1, 2)
|
|||||||
fct1 = (P1.x)^2
|
fct1 = (P1.x)^2
|
||||||
fct2 = fct1 + (P1.x)/(P1.y - P1.x)
|
fct2 = fct1 + (P1.x)/(P1.y - P1.x)
|
||||||
fct3 = (P1.x)^4
|
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)
|
print(C)
|
||||||
B = C.holomorphic_differentials_basis()
|
B = C.holomorphic_differentials_basis()
|
||||||
print("Computed basis")
|
#print("Computed basis")
|
||||||
a1, b1, c1 = heisenberg_group_action_matrices_holo(C, basis = B)
|
#a1, b1, c1 = heisenberg_group_action_matrices_holo(C, basis = B)
|
@ -138,27 +138,20 @@ class heisenberg_cover:
|
|||||||
S += [(eta, eta_exp)]
|
S += [(eta, eta_exp)]
|
||||||
|
|
||||||
forms = heisenberg_holomorphic_combinations(S)
|
forms = heisenberg_holomorphic_combinations(S)
|
||||||
|
print("next iteration")
|
||||||
for pt in self.branch_points[1:]:
|
for pt in self.branch_points:
|
||||||
forms = [(omega, omega.expansion(pt=pt)) for omega in forms]
|
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)
|
forms = heisenberg_holomorphic_combinations(forms)
|
||||||
|
|
||||||
|
return forms
|
||||||
if len(forms) < self.genus():
|
if len(forms) < self.genus():
|
||||||
print("I haven't found all forms, only ", len(forms), " of ", self.genus())
|
print("I haven't found all forms, only ", len(forms), " of ", self.genus())
|
||||||
return holomorphic_differentials_basis(self, threshold = threshold + 1)
|
return holomorphic_differentials_basis(self, threshold = threshold + 1)
|
||||||
|
|
||||||
if len(forms) > self.genus():
|
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.")
|
raise ValueError("Increase precision.")
|
||||||
return forms
|
return forms
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user