Open swewers opened 6 years ago
The first steps take somewhat long, but are ok:
sage: YY3.etale_locus() Elementary affinoid defined by v(x^9 - 8820/11x^7 + 265776/11x^6 - 1331910/11x^5 -78138144/11x^4 + 1784634684/11x^3 - 18273732624/11x^2 + 81629122419/11*x - 63348949888/11) >= 99/8 sage: YY3.is_semistable() True
The trouble is here:
sage: Z = YY3.reduction_tree().inertial_components()[1] sage: Z inertial component of reduction tree with interior Elementary affinoid defined by v(x^9 - 8820/11x^7 + 265776/11x^6 - 1331910/11x^5 - 78138144/11x^4 + 1784634684/11x^3 - 18273732624/11x^2 + 81629122419/11x - 63348949888/11) >= 99/8 sage: L = Z.splitting_field() sage: L 3-adic completion of Number Field in pi216 with defining polynomial x^216 + 2160x^208 + 351x^200 + 1341x^192 + 459x^184 + 999x^176 + 315x^168 + 1080x^160 + 540x^152 + 1836x^144 + 243x^136 + 972x^128 + 897x^120 + 1125x^112 + 1602x^104 + 690x^96 + 1413x^88 + 2124x^80 + 1536x^72 + 837x^64 + 621x^56 + 1689x^48 + 1692x^40 + 1035x^32 + 1392x^24 + 1224x^16 + 1584*x^8 + 267 as weak Galois extension of 3-adic completion of Rational Field
sage: L.ramification_filtration() [(0, 216), (1, 27), (100, 3)] sage: L.ramification_subfields()
I wonder if the performance is better with the new Sage version where 25607 has been integrated. Since this ticket is closed now, does it mean that the current development version has it?
I just pulled the new version 8.3 from the master branch and rebuilt SageMath. I do not see the changes in said ticket.
25607 has not been merged yet btw.
Since 25607 has been merge into 8.4, could you try again with 8.4?
Will do!
Scratch that response since your remark was not meant for me...
@JRSijsling actually I meant you ;)
Oh yeah :-)
The changes are there all right. But I get errors now, and not only in this example. When I do the curve at the beginning of this issue, I get an error ending in:
/Users/jrsijsling/.sage/local/lib/python2.7/site-packages/mclf/semistable_reduction/reduction_trees.pyc in make_function_field(K)
1276 # to construct phi:K=K_0[x]/(G) --> F=F_0[y]/(G),
1277 # we first 'map' from K to K_0[x]
-> 1278 phi = K.hom(R.gen(), R, check=False)
1279 # then from K_0[x] to F_0[y]
1280 psi = R.hom(phi_base, R_new)
TypeError: hom() got an unexpected keyword argument 'check'
I tracked that down and removed that keyword argument. But then it says that it has problems with codomain
. So something seems no longer to be compatible.
I think @swewers has to explain what is supposed to happen here in the first place. The method make_function_field
is trying to construct a morphism from K
to F
in this case with
ipdb> print K
Function field in u2 defined by u2^3 + u2 + 2*x^4
ipdb> print F
Function field in y defined by y^3 + y + 2*x^4
ipdb> print F.base_ring()
Rational function field in x over Finite Field of size 3
ipdb> print K.base_ring()
Rational function field in x over Finite Field of size 3
So, there does not seem to be the need to complicate things here. Then again, I don't really understand what this method is supposed to do since its documentation says:
OUTPUT: A triple `(F,\phi,\psi)`, where `F` is a rational function field,
`\phi:K\to F` is a field isomorphism and `\psi` the inverse of `\phi`.
So, I guess this should not say rational
here?
The following examples takes too long:
The curve has potentially good reduction over an extension L of QQ_3 of degree 216 =8*27, so it is clear that this will be computationally expensive. The bottleneck seems to be the computation of a subfield of L of degree 72.