non-totally ramified pts and holo diffs - first try
This commit is contained in:
parent
7598e93642
commit
7bfae60f57
@ -7,4 +7,6 @@ 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=300)
|
||||||
print(C)
|
print(C)
|
||||||
a1, b1, c1 = heisenberg_group_action_matrices_holo(C)
|
B = C.holomorphic_differentials_basis()
|
||||||
|
print("Computed basis")
|
||||||
|
a1, b1, c1 = heisenberg_group_action_matrices_holo(C, basis = B)
|
@ -146,7 +146,19 @@ class heisenberg_cover:
|
|||||||
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
|
||||||
|
|
||||||
|
@ -84,6 +84,8 @@ class heisenberg_form:
|
|||||||
def group_action(self, elt):
|
def group_action(self, elt):
|
||||||
AS = self.curve
|
AS = self.curve
|
||||||
RxyzQ, Rxyz, x, y, z = AS.fct_field
|
RxyzQ, Rxyz, x, y, z = AS.fct_field
|
||||||
|
if elt == (0, 0, 0):
|
||||||
|
return self
|
||||||
if elt == (1, 0, 0):
|
if elt == (1, 0, 0):
|
||||||
sub_list = {x : x, y : y} | {z[0] : z[0] + 1, z[1] : z[1], z[2]: z[2] + z[1]}
|
sub_list = {x : x, y : y} | {z[0] : z[0] + 1, z[1] : z[1], z[2]: z[2] + z[1]}
|
||||||
g = self.form
|
g = self.form
|
||||||
|
@ -120,6 +120,8 @@ class heisenberg_function:
|
|||||||
def group_action(self, elt):
|
def group_action(self, elt):
|
||||||
AS = self.curve
|
AS = self.curve
|
||||||
RxyzQ, Rxyz, x, y, z = AS.fct_field
|
RxyzQ, Rxyz, x, y, z = AS.fct_field
|
||||||
|
if elt == (0, 0, 0):
|
||||||
|
return self
|
||||||
if elt == (1, 0, 0):
|
if elt == (1, 0, 0):
|
||||||
sub_list = {x : x, y : y} | {z[0] : z[0] + 1, z[1] : z[1], z[2]: z[2] + z[1]}
|
sub_list = {x : x, y : y} | {z[0] : z[0] + 1, z[1] : z[1], z[2]: z[2] + z[1]}
|
||||||
g = self.function
|
g = self.function
|
||||||
|
Loading…
Reference in New Issue
Block a user