@@ -871,13 +871,31 @@ cdef class KhuriMakdisi_small(KhuriMakdisi_base):
871
871
sage: p2 = G.point(pl2 - b)
872
872
sage: -(-p1) == p1 # indirect doctest
873
873
True
874
+
875
+ Check that :issue:`39148` is fixed::
876
+
877
+ sage: # long time
878
+ sage: k.<x> = FunctionField(GF(17)); t = polygen(k)
879
+ sage: F.<y> = k.extension(t^4 + (14*x + 14)*t^3 + 9*t^2 + (10*x^2 + 15*x + 8)*t
880
+ ....: + 7*x^3 + 15*x^2 + 6*x + 16)
881
+ sage: infty1, infty2 = F.places_infinite()
882
+ sage: O = F.maximal_order()
883
+ sage: P = O.ideal((x + 1, y + 7)).divisor()
884
+ sage: D1 = 3*infty2 + infty1 - 4*P
885
+ sage: D2 = F.divisor_group().zero()
886
+ sage: J = F.jacobian(model='km-small', base_div=4*P)
887
+ sage: J(D1) + J(D2) == J(D1)
888
+ True
874
889
"""
875
890
cdef int d0 = self .d0
876
891
cdef int g = self .g
877
892
cdef Matrix w1, w2, w3, w4
878
893
879
894
w1 = self .mu_image(self .wV2, wd, self .mu_mat23, 4 * d0 - g + 1 )
880
- w2 = self .mu_preimage(self .wV3, w1, self .mu_mat23, d0)
895
+ # The row space of w2 represents H^0(O(2D_0 - D)), whose dimension is
896
+ # at least d0 - g + 1, and hence the codimension is at most d0. Thus,
897
+ # we cannot provide an expected_codim argument for mu_preimage.
898
+ w2 = self .mu_preimage(self .wV3, w1, self .mu_mat23)
881
899
# efficient than
882
900
# wf = matrix(w2[0])
883
901
# w3 = self.mu_image(wf, self.wV4, self.mu_mat24, 4*d0 - g + 1)
0 commit comments