przed dodaniem ekspansji w dowolnym punkcie

This commit is contained in:
jgarnek 2023-03-07 12:41:20 +00:00
parent 7e8546b2c3
commit b79484be4f
6 changed files with 3072 additions and 12 deletions

File diff suppressed because one or more lines are too long

View File

@ -15,14 +15,14 @@ class as_form:
def __repr__(self): def __repr__(self):
return "(" + str(self.form)+") * dx" return "(" + str(self.form)+") * dx"
def expansion_at_infty(self, i = 0): def expansion_at_infty(self, place = 0):
C = self.curve C = self.curve
delta = C.nb_of_pts_at_infty delta = C.nb_of_pts_at_infty
F = C.base_ring F = C.base_ring
x_series = C.x_series[i] x_series = C.x_series[place]
y_series = C.y_series[i] y_series = C.y_series[place]
z_series = C.z_series[i] z_series = C.z_series[place]
dx_series = C.dx_series[i] dx_series = C.dx_series[place]
n = C.height n = C.height
variable_names = 'x, y' variable_names = 'x, y'
for j in range(n): for j in range(n):
@ -98,10 +98,10 @@ class as_form:
return superelliptic_form(C_super, Qxy(result)) return superelliptic_form(C_super, Qxy(result))
def residue(self, place=0): def residue(self, place=0):
return self.expansion_at_infty(i = place).residue() return self.expansion_at_infty(place = place).residue()
def valuation(self, place=0): def valuation(self, place=0):
return self.expansion_at_infty(i = place).valuation() return self.expansion_at_infty(place = place).valuation()
def serre_duality_pairing(self, fct): def serre_duality_pairing(self, fct):
AS = self.curve AS = self.curve

View File

@ -5,4 +5,10 @@ Rx.<x> = PolynomialRing(F)
f = x^3 - x + 1 f = x^3 - x + 1
C = superelliptic(f, m) C = superelliptic(f, m)
C1 = patch(C) C1 = patch(C)
print(C1.crystalline_cohomology_basis()) #print(C1.crystalline_cohomology_basis())
g1 = C1.polynomial
g_AS = g1(x^p - x)
C2 = superelliptic(g_AS, 2)
print(convert_super_into_AS(C2))
converted = (C2.x)^4 - (C2.x)^2
print(convert_super_fct_into_AS(converted))

View File

@ -347,7 +347,8 @@ def de_rham_witt_lift(cech_class, prec = 50):
aux_h2 = decom_aux_h2[0] aux_h2 = decom_aux_h2[0]
aux_f = decom_aux_h2[2] aux_f = decom_aux_h2[2]
aux_omega0 = decomposition_omega0_omega8(aux.omega, prec=prec)[0] aux_omega0 = decomposition_omega0_omega8(aux.omega, prec=prec)[0]
return superelliptic_drw_cech(omega0_lift + aux_h2.verschiebung().diffn() + aux_omega0.verschiebung(), fct.teichmuller() + aux_f.verschiebung()) result = superelliptic_drw_cech(omega0_lift + aux_h2.verschiebung().diffn() + aux_omega0.verschiebung(), fct.teichmuller() + aux_f.verschiebung())
return result.reduce()
def crystalline_cohomology_basis(self, prec = 50): def crystalline_cohomology_basis(self, prec = 50):
result = [] result = []

View File

@ -19,10 +19,12 @@ load('auxilliaries/hensel.sage')
load('auxilliaries/linear_combination_polynomials.sage') load('auxilliaries/linear_combination_polynomials.sage')
############## ##############
############## ##############
load('drafty/convert_superelliptic_into_AS.sage')
load('drafty/second_patch.sage') load('drafty/second_patch.sage')
load('drafty/regular_on_U0.sage') load('drafty/regular_on_U0.sage')
load('drafty/lift_to_de_rham.sage') load('drafty/lift_to_de_rham.sage')
#load('drafty/superelliptic_cohomology_class.sage') #load('drafty/superelliptic_cohomology_class.sage')
load('drafty/superelliptic_drw.sage') load('drafty/superelliptic_drw.sage')
load('drafty/draft.sage') #load('drafty/draft_klein_covers.sage')
load('drafty/2gpcovers.sage')
load('drafty/pole_numbers.sage') load('drafty/pole_numbers.sage')

View File

@ -139,4 +139,20 @@ class superelliptic_form:
return g*dx_series return g*dx_series
def residue(self, place = 0, prec=30): def residue(self, place = 0, prec=30):
return self.expansion_at_infty(place = place, prec=prec)[-1] return self.expansion_at_infty(place = place, prec=prec)[-1]
def reduce(self):
fct = self.form
C = self.curve
fct = reduction(C, fct)
return superelliptic_form(C, fct)
def reduce2(self):
fct = self.form
C = self.curve
m = C.exponent
F = C.base_ring
Rxy.<x, y> = PolynomialRing(F, 2)
Fxy = FractionField(Rxy)
fct = reduction(C, Fxy(y^m*fct))
return superelliptic_form(C, fct/y^m)