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.