Top
Back: getdump
Forward: help
FastBack: Functions and system variables
FastForward: Control structures
Up: Functions
Top: Singular 2-0-4 Manual
Contents: Table of Contents
Index: Index
About: About this document

5.1.42 groebner

Procedure from library standard.lib (see standard_lib).

Syntax:
groebner ( ideal_expression )
groebner ( module_expression )
groebner ( ideal_expression, int_expression )
groebner ( module_expression, int_expression )

Type:
type of the first argument

Purpose:
computes the standard basis of the first argument I (ideal or module), by a heuristically chosen method: if the ordering of the current ring is a local ordering, or if it is a non-block ordering and the current ring has no parameters, then std(I) is returned. Otherwise, I is mapped into a ring with no parameters and ordering dp, where its Hilbert series is computed. This is followed by a Hilbert-series based std computation in the original ring.

Note:
If a 2nd argument wait is given, then the computation proceeds at most wait seconds. That is, if no result could be computed in wait seconds, then the computation is interrupted, 0 is returned, a warning message is displayed, and the global variable groebner_error is defined.

Example:
 
  ring r=0,(a,b,c,d),lp;
option(prot);
ideal i=a+b+c+d,ab+ad+bc+cd,abc+abd+acd+bcd,abcd-1; // cyclic 4
groebner(i);
==> std in (0),(a,b,c,d,@t),(dp,C)
==> [63:1]1(3)s2(2)s3s4-s5ss6-s7--
==> product criterion:8 chain criterion:5
==> std with hilb in  (0),(a,b,c,d,@t),(lp(4),C)
==> [63:1]1(3)s2(2)s3s4-s5ss6shhhh8shh
==> product criterion:9 chain criterion:8
==> hilbert series criterion:6
==> dehomogenization
==> imap to original ring
==> simplification
==> _[1]=c2d6-c2d2-d4+1
==> _[2]=c3d2+c2d3-c-d
==> _[3]=bd4-b+d5-d
==> _[4]=bc-bd5+c2d4+cd-d6-d2
==> _[5]=b2+2bd+d2
==> _[6]=a+b+c+d
ring rp=(0,a,b),(c,d), lp;
ideal i=imap(r,i);
ideal j=groebner(i);
==> std in 0,(c,d,a,b,@t),(dp,C)
==> [63:1]1(3)s2(2)s3s4-s5ss6-s7--
==> product criterion:8 chain criterion:5
==> std with hilb in  (0),(c,d,a,b,@t),(lp(2),C, dp(3))
==> [63:3]1(3)s2(2)s3s4-s5ss6shhhh8shh
==> product criterion:9 chain criterion:8
==> hilbert series criterion:6
==> dehomogenization
==> imap to original ring
==> simplification
option(noprot);
j; simplify(j,1); std(i);
==> j[1]=(a3b2+a2b3-a-b)
==> _[1]=1
==> _[1]=1
if (system("with","MP")) {groebner(i,0);}
==> // ** groebner did not finish
==> _[1]=0
defined(groebner_error);
==> 1
See also: std; stdfglm; stdhilb.


Top Back: getdump Forward: help FastBack: Functions and system variables FastForward: Control structures Up: Functions Top: Singular 2-0-4 Manual Contents: Table of Contents Index: Index About: About this document
            User manual for Singular version 2-0-4, May 2003, generated by texi2html.