closed_points
command.
The input is the vanishing ideal closed_points
command returns a list of prime ideals (each a Gröbner basis),
corresponding to the (distinct affine closed) points of
sage: singular_console() SINGULAR / Development A Computer Algebra System for Polynomial Computations / version 3-0-1 0< by: G.-M. Greuel, G. Pfister, H. Schoenemann \ October 2005 FB Mathematik der Universitaet, D-67653 Kaiserslautern \ // ** executing /home/wdj/sagefiles/sage-0.9.4/local/LIB/.singularrc > LIB "brnoeth.lib"; > ring s = 2,(x,y),lp; > ideal I = x4+x,y4+y; > list L = closed_points(I); > L; [1]: _[1] = y _[2] = x [2]: _[1] = y _[2] = x+1 [3]: _[1] = y _[2] = x2+x+1 [4]: _[1] = y+1 _[2] = x [5]: _[1] = y+1 _[2] = x+1 [6]: _[1] = y+1 _[2] = x2+x+1 [7]: _[1] = y2+y+1 _[2] = x+1 [8]: _[1] = y2+y+1 _[2] = x [9]: _[1] = y2+y+1 _[2] = x+y [10]: _[1] = y2+y+1 _[2] = x+y+1 > Auf Wiedersehen.
sage: singular.lib("brnoeth.lib") sage: s = singular.ring(2,'(x,y)','lp') sage: I = singular.ideal('[x^4+x, y^4+y]') sage: L = singular.closed_points(I) sage: # Here you have all the points : sage: print L [1]: _[1]=y^2+y+1 _[2]=x+1 ...
NSplaces
command. Here's the Klein quartic over
sage: singular.LIB("brnoeth.lib") sage: s = singular.ring(2,'(x,y)','lp') ... sage: f = singular.poly('x3y+y3+x') ... sage: klein1 = f.Adj_div(); print klein1 [1]: [1]: // characteristic : 2 // number of vars : 2 // block 1 : ordering lp // : names x y // block 2 : ordering C ... sage: # define a curve X = {f = 0} over GF(2) sage: klein2 = singular.NSplaces(3,klein1) sage: print singular.eval('extcurve(3,%s)'%klein2.name()) Total number of rational places : NrRatPl = 23 ... sage: klein3 = singular.extcurve(3, klein2)
Above we defined a curve
over
in Singular.
sage: print klein1 [1]: [1]: // characteristic : 2 // number of vars : 2 // block 1 : ordering lp // : names x y // block 2 : ordering C [2]: // characteristic : 2 // number of vars : 3 // block 1 : ordering lp // : names x y z // block 2 : ordering C [2]: 4,3 [3]: [1]: 1,1 [2]: 1,2 [4]: 0 [5]: [1]: [1]: // characteristic : 2 // number of vars : 3 // block 1 : ordering ls // : names x y t // block 2 : ordering C [2]: 1,1 sage: print klein1[3] [1]: 1,1 [2]: 1,2
For the places of degree
:
sage: print klein2[3] [1]: 1,1 [2]: 1,2 [3]: 3,1 [4]: 3,2 [5]: 3,3 [6]: 3,4 [7]: 3,5 [8]: 3,6 [9]: 3,7
Each point below is a pair: (degree, point index number).
sage: print klein3[3] [1]: 1,1 [2]: 1,2 [3]: 3,1 [4]: 3,2 [5]: 3,3 [6]: 3,4 [7]: 3,5 [8]: 3,6 [9]: 3,7
To actually get the points of
:
sage: R = klein3[1][5] sage: R.set_ring() sage: singular("POINTS") [1]: [1]: 0 [2]: 1 [3]: 0 [2]: [1]: 1 [2]: 0 [3]: 0 [3]: [1]: (a^2+a) [2]: (a) [3]: 1 [4]: [1]: (a+1) [2]: (a^2) [3]: 1 ...
plus 19 others (omitted). There are a total of
rational points.
Here
represents a primitive element in
.
See About this document... for information on suggesting changes.