sage: from semistable_model.curves.plane_curves_valued import PlaneCurveOverValuedField
sage: R.<x,y,z> = QQ[]
sage: F = 5*x^3*y - 8*x^2*y^2 - 2*x*y^3 + 8*x^3*z - 6*x^2*z^2 + 3*x*y*z^2 + 10*y^2*z^2 - 2*x*z^3
sage: X = PlaneCurveOverValuedField(F, QQ.valuation(2))
sage: X.git_semistable_model()
---------------------------------------------------------------------------
ValueError Traceback (most recent call last)
Cell In[5], line 1
----> 1 X.git_semistable_model()
File ~/code/StabilityFunction/semistable_model/curves/plane_curves_valued.py:118, in PlaneCurveOverValuedField.git_semistable_model(self, ramification_index)
116 phiL = StabilityFunction(X_L.defining_polynomial(), v_L)
117 a, b = phiL.global_minimum()
--> 118 T = b.move_to_origin().base_change_matrix()
119 return PlaneModel(X_L, T)
File ~/code/StabilityFunction/semistable_model/stability/stability_function.py:907, in BTB_Point.move_to_origin(self)
876 r"""
877 Return ...
878
(...)
904 .. MATH::
905 """
906 if not self.is_vertex():
--> 907 raise ValueError(f"self is not a vertex")
909 g = self.base_ring_valuation().value_group().gen()
910 normalized_weight_vector = [a / g for a in self.weight_vector()]
ValueError: self is not a vertex
sage: from semistable_model.stability import semistable_reduction_field
sage: L = semistable_reduction_field(F, QQ.valuation(2))
sage: L
Number Field in piL with defining polynomial x^2 - 2
sage: v_L = L.valuation(2)
sage: X_L = X.base_change(v_L)
sage: phiL = StabilityFunction(X_L.defining_polynomial(), v_L)
sage: a, b = phiL.global_minimum()
sage: b.is_vertex()
False
sage: b.ramification_index()
4
sage: v_L.value_group()
Additive Abelian Group generated by 1/2
The problem seems to be that the extension returned by
semistable_reduction_fieldis too small: