AttributeError: 'ProjectiveCurve_finite_field' object has no attribute 'riemann_roch_basis'... because the size of the finite_field F is not prime.
To compute a basis of the Riemann-Roch space of a divisoron a curve over a field
, one can use Sage’s wrapper riemann_roch_basis of Singular’s implementation of the Brill Noether algorithm. Note that this wrapper currently only works when
is prime and the divisor
is supported on rational points.
hello! i have a question with this code (i speak little english)F.<w>=GF(4,'w')
R.<X,Y,Z> = ProjectiveSpace(F,2)
C = Curve(X^2*Y + w*Y^2*Z+ w^2*Z^2*X)
print C
print C.genus()
pts = C.rational_points()
print pts[4]
print pts[5]
D = C.divisor([ (2, pts[4]),(1, pts[5]) ])
print D
print C.riemann_roch_basis(D)result:
Projective Curve over Finite Field in w of size 2^2 defined by X^2*Y + (w)*Y^2*Z + (w + 1)*X*Z^2
1
(1 : w : 1)
(w : 1 : 1)
2*(X + Z, Y + (w)*Z) + (X + (w)*Z, Y + Z)
Traceback (most recent call last): print pts[4]
File "", line 1, in <module>
File "/tmp/tmpkLnPnU/___code___.py", line 13, in <module>
exec compile(u'print C.riemann_roch_basis(D)
File "", line 1, in <module>
File "parent.pyx", line 871, in sage.structure.parent.Parent.__getattr__ (sage/structure/parent.c:6648)
AttributeError: 'ProjectiveCurve_finite_field' object has no attribute 'riemann_roch_basis'
why?I think the problem is in the function w associated to the curve