|  |  A.2.1 groebner and std 
The basic version of Buchberger's algorithm leaves a lot
of freedom in carrying out the computational process. Considerable
improvements are obtained by implementing criteria
for reducing the number of S-polynomials to be actually considered
(e.g., by applying the product criterion or the chain criterion).
We refer to Cox, Little, and O'Shea [1997], Chapter 2 for more details
and references on these criteria and on further strategies for improving the
performance of Buchberger's algorithm (see also Greuel, Pfister [2002]).
 
SINGULAR's implementation of Buchberger's algorithm is available via
the stdcommand ('std' referring tostandard basis). The
computation of reduced Groebner and standard bases may be forced by settingoption(redSB)(see  option). 
However, depending on the monomial ordering of the active basering, it may be
advisable to use the groebnercommand instead. This command is
provided by the SINGULAR librarystandard.libwhich
is automatically loaded when starting a SINGULAR session. Depending
on some heuristics,groebnereither refers to thestdcommand (e.g., for rings with orderingdp), or to one of the
algorithms described in the sections  Groebner basis conversion,
 slim Groebner bases.
For information on the heuristics behindgroebner, see the
library filestandard.lib(see also  Procedures and libraries). 
We apply the commands stdandgroebnerto compute a
lexicographic Groebner basis for the ideal of cyclic roots over the
basering with 6 variables (see  Cyclic roots). We setoption(prot)to make SINGULAR display some information on
the performed computations (see  option for an interpretation of
the displayed symbols). For long running computations, it is always
recommended to set this option. 
 |  | LIB "poly.lib";
ring r=32003,(a,b,c,d,e,f),lp;
ideal I=cyclic(6);
option(prot);
int t=timer;
system("--ticks-per-sec", 100);         // give time in 1/100 sec
ideal sI=std(I);
==> [1048575:2]1(5)s2(4)s3(3)s4s(4)s5(6)s(9)s(11)s(14)s(17)-s6s(19)s(21)s(24)\
   s(27)s(30)s(33)s(35)s(38)s(41)ss(42)-s----s7(41)s(43)s(46)s(48)s(51)s(54)\
   s(56)s(59)s(62)s(63)s(65)s(66)s(68)s(70)s(73)s(75)s(78)---ss(81)---------\
   --s(73)--------8-s(66)s(69)s(72)s(75)s(77)s(80)s(81)s(83)s(85)s(88)s(91)s\
   (93)s(96)s(99)s(102)s(105)s(107)s(110)s(113)-------------(100)-----------\
   s(101)s(108)s(110)----------(100)--------9-s(94)s(97)s(99)s(84)s(74)s(77)\
   s(80)---ss(83)s(86)s(73)s(76)s10(78)s(81)s(82)s(84)s(86)s(89)s(92)s(94)s(\
   97)s(100)s(103)s(82)s(84)s(86)s(89)s(92)s(95)s11(98)s(87)s(90)s(93)s(95)s\
   (98)s(101)s(104)----(100)---12-s(99)s(90)s(93)s(92)---------s(86)--------\
   ---13-s(74)s(77)s(79)s(82)s(85)s(88)------------------14-s(64)s(67)ss(70)\
   s(73)s(77)s(81)-----------------------15-s(57)s(65)s(68)ss(71)-----------\
   ------s(57)----16-s(55)ss(56)------------------------17-s(34)s(32)-------\
   -18-s(26)s(28)s-----19-s(25)s(28)s(31)------20-s(27)s(30)s(35)-------21-s\
   (23)s(26)------22-s(22)------23-s(15)24-s(17)-s(19)--25-s(18)s(19)s26-s(2\
   1)---------27-s(11)28-s(13)--29-s(12)-30--s--31-s(11)---32-s33(7)s(10)---\
   34-s-35----36-s37(6)s38s39s40---42-s43(5)s44s45--48-s49s50s51---54-s55(4)\
   --67-86-
==> product criterion:664 chain criterion:2844
timer-t;                                // used time (in 1/100 secs)
==> 16
size(sI);
==> 17
t=timer;
sI=groebner(I);
==> compute hilbert series with std in ring (ZZ/32003),(a,b,c,d,e,f,@),(dp(7)\
   ,C)
==> weights used for hilbert series: 1,1,1,1,1,1,1
==> [65535:2]1(5)s2(4)s3(3)s4ss5(4)s(5)s(7)-s6(8)s(9)s(11)s(13)s(16)s(18)s(21\
   )--s7(22)s(23)s(24)s(27)s(29)s(31)s(32)s(35)-s(37)s(40)s(42)s(44)s(45)--s\
   (46)s(48)-----8-s(44)s(47)s(50)s(52)s(55)s(57)s(59)s(61)-s(63)----s(62)--\
   --s(61)s(64)-s(66)-----------s(58)-------9-s(53)s(56)s(59)s(62)s(65)s(68)\
   s(71)s(74)s(77)s(80)s(83)s(86)s(90)s(95)s(102)s(108)--------(100)--------\
   --------------s(81)---10-s(83)s(88)s(90)s(94)s(99)s(104)s(109)s(114)-s(11\
   6)s(121)s(126)s(128)s(132)--------------------------------(100)----------\
   ----11-s(87)---------------------------------------12-s(50)--------13-s(4\
   4)s(47)s(51)s(55)-------------14-s(45)s(48)s(51)s(55)s(58)s(61)s(64)s(67)\
   s(70)--------------------15-s(52)s(55)s(58)s(61)s(64)s(67)s(70)s(73)s(76)\
   s(79)s(82)-------------------------------------16------------------------\
   --------------------17-
==> product criterion:284 chain criterion:4184
==> std with hilb in (ZZ/32003),(a,b,c,d,e,f,@),(lp(6),dp(1),C)
==> [65535:2]1(98)s2(97)s3(96)s4s(97)-s5(98)s(101)s(103)s(106)s(109)---s6(107\
   )s(109)s(111)s(114)s(117)s(120)s(123)s(125)s(128)s(131)ss(132)-s---------\
   -s7(125)s(127)s(130)s(132)s(135)s(138)s(140)s(143)s(146)s(147)s(149)s(150\
   )s(152)s(154)s(157)s(159)s(162)---ss(165)-----------shhhhhhhhhhhhhhhhhhhh\
   hhh8(134)s(136)s(139)s(142)s(145)s(147)s(150)s(151)s(153)s(155)s(158)s(16\
   1)s(163)s(166)s(169)s(172)s(175)s(177)s(180)s(183)-----------------------\
   -s(171)s(178)shhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh9(147)s(150)s(153)s(155)s(\
   181)s(184)s(187)s(190)s(203)s(208)s(213)s(217)s(218)s(220)s(222)s(225)---\
   s-s(226)-----------s(219)---------shhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh\
   hhhhhhhhhhh10(163)s(166)s(168)s(171)s(177)s(180)s(183)s(186)shhhhhhhhhhhh\
   hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh11(125)s(128)s(13\
   0)s(133)s(136)shhhhhhhhhhhhhhhhhhhhhhhhhhhhh12(110)s(113)s(120)s(123)s(12\
   7)-------------shhhhhhhhhhhhhhh13(102)s(106)s(109)s(111)s(114)s(117)----s\
   hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh14(85)s(90)s(93)s(97)s(100)s(103)---(100)-\
   s(103)shhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh15(68)s(72)s(75)s(79)s(85)-\
   ---shhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh16(42)s(45)s(49)shhhhhhhhh\
   hhhhhhhhhhhhh17(34)s(37)shhhhhhhhhhhhhh18(27)s(30)s(32)-shhhhhhhhh19(26)s\
   (29)s(32)shhhhhhhhhhhhh20(22)s(25)s(28)shhhhhhhhhhhhh21(20)s(26)shhhhhhhh\
   hhhh22(18)shhhhhhhhh23(12)shhhhh24(11)s(14)-shhhh25(13)s(18)-s(21)shhhhhh\
   h26(18)shhhhhhhhhhhh27(9)shhhhh28(8)shhhh29(7)shhhh30(8)-shhh31shhhhh32(7\
   )shhhh33shhhh34(6)shhhhhhhh36(2)s37(6)shhhh38shhhh39shhhhhhhh42(2)s43(5)s\
   hhhh44shhhhhhhh48s49shhhh50shhhhhhhh54shhhhh
==> product criterion:720 chain criterion:11620
==> hilbert series criterion:532
==> dehomogenization
==> simplification
==> imap to ring (ZZ/32003),(a,b,c,d,e,f),(lp(6),C)
timer-t;                                // used time (in 1/100 secs)
==> 4
size(sI);
==> 17
option(noprot);
 | 
 
 |