# Singular

#### D.4.26.3 sagbi

Procedure from library `sagbi.lib` (see sagbi_lib).

Usage:
sagbi(A[, tr, mt]); A ideal, tr, mt optional integers

Return:
ideal, a SAGBI basis for A

Assume:
basering is not a qring

Purpose:
Computes a SAGBI basis for the subalgebra given by the generators in A.
 ``` The optional argument tr=tailred determines whether tail reduction will be performed. - If (tailred=0), no tail reduction is performed, - If (tailred<>0), tail reduction is performed. The other optional argument meth determines which method is used for Groebner basis computations. - If mt=0 (default), the procedure std is used. - If mt=1, the procedure slimgb is used. ```

Example:
 ```LIB "sagbi.lib"; ring r= 0,(x,y,z),dp; ideal A=x2,y2,xy+y; //Default call, no tail-reduction is done. sagbi(A); ==> _[1]=x2 ==> _[2]=y2 ==> _[3]=xy+y ==> _[4]=xy2+1/2y2 //--------------------------------------------- //Call with tail-reduction and method specified. sagbi(A,1,0); ==> _[1]=x2 ==> _[2]=y2 ==> _[3]=xy+y ==> _[4]=xy2 ```