de rham for AS working
This commit is contained in:
parent
3ded25e39d
commit
fb6e5e0f8e
@ -55,6 +55,7 @@ class as_cech:
|
|||||||
m = C.exponent
|
m = C.exponent
|
||||||
r = C.polynomial.degree()
|
r = C.polynomial.degree()
|
||||||
n = AS.height
|
n = AS.height
|
||||||
|
p = AS.characteristic
|
||||||
RxyzQ, Rxyz, x, y, z = AS.fct_field
|
RxyzQ, Rxyz, x, y, z = AS.fct_field
|
||||||
if basis == 0:
|
if basis == 0:
|
||||||
basis = [AS.holomorphic_differentials_basis(), AS.cohomology_of_structure_sheaf_basis(), AS.de_rham_basis(threshold=threshold)]
|
basis = [AS.holomorphic_differentials_basis(), AS.cohomology_of_structure_sheaf_basis(), AS.de_rham_basis(threshold=threshold)]
|
||||||
|
@ -373,7 +373,7 @@ class as_cover:
|
|||||||
for i in range(0, threshold*r):
|
for i in range(0, threshold*r):
|
||||||
for j in range(0, m):
|
for j in range(0, m):
|
||||||
for k in product(*pr):
|
for k in product(*pr):
|
||||||
eta = as_form(self, x^i*prod(z[i1]^(k[i1]) for i1 in range(n))*y^j)
|
eta = as_form(self, x^i*prod(z[i1]^(k[i1]) for i1 in range(n))/y^j)
|
||||||
eta_exp = eta.expansion_at_infty()
|
eta_exp = eta.expansion_at_infty()
|
||||||
S += [(eta, eta_exp)]
|
S += [(eta, eta_exp)]
|
||||||
forms = holomorphic_combinations(S)
|
forms = holomorphic_combinations(S)
|
||||||
@ -381,7 +381,7 @@ class as_cover:
|
|||||||
raise ValueError("Increase threshold!")
|
raise ValueError("Increase threshold!")
|
||||||
for omega in forms:
|
for omega in forms:
|
||||||
for a in F:
|
for a in F:
|
||||||
if (a*omega + fct.diffn()).form in Rxyz:
|
if (a*omega + fct.diffn()).is_regular_on_U0():
|
||||||
return a*omega + fct.diffn()
|
return a*omega + fct.diffn()
|
||||||
raise ValueError("Unknown.")
|
raise ValueError("Unknown.")
|
||||||
|
|
||||||
|
@ -166,6 +166,15 @@ class as_form:
|
|||||||
result += product_of_z_no_p * Rxyz(num).monomial_coefficient(monomial) * aux_form.form/den1
|
result += product_of_z_no_p * Rxyz(num).monomial_coefficient(monomial) * aux_form.form/den1
|
||||||
return as_form(C, result)
|
return as_form(C, result)
|
||||||
raise ValueError("Please present first your form as sum z^i omega_i, where omega_i are forms on quotient curve.")
|
raise ValueError("Please present first your form as sum z^i omega_i, where omega_i are forms on quotient curve.")
|
||||||
|
|
||||||
|
def is_regular_on_U0(self):
|
||||||
|
AS = self.curve
|
||||||
|
C = AS.quotient
|
||||||
|
m = C.exponent
|
||||||
|
RxyzQ, Rxyz, x, y, z = AS.fct_field
|
||||||
|
if y^(m-1)*self.form in Rxyz:
|
||||||
|
return True
|
||||||
|
return False
|
||||||
|
|
||||||
def artin_schreier_transform(power_series, prec = 10):
|
def artin_schreier_transform(power_series, prec = 10):
|
||||||
"""Given a power_series, find correction such that power_series - (correction)^p +correction has valuation
|
"""Given a power_series, find correction such that power_series - (correction)^p +correction has valuation
|
||||||
|
Loading…
Reference in New Issue
Block a user