# Singular          #### D.4.26.4 sagbiPart

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

Usage:
sagbiPart(A, k,[tr, mt]); A is an ideal, k, tr and mt are integers

Return:
ideal

Assume:
basering is not a qring

Purpose:
Performs k iterations of the SAGBI construction algorithm for the subalgebra given by the generators given by A.
 ``` The optional argument tr=tailred determines if 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; //The following algebra does not have a finite SAGBI basis. ideal A=x,xy-y2,xy2; //--------------------------------------------------- //Call with two iterations, no tail-reduction is done. sagbiPart(A,2); ==> //SAGBI construction algorithm stopped as it reached the limit of 2 itera\ tions. ==> //In general the returned generators are no SAGBI basis for the given alg\ ebra. ==> _=x ==> _=xy-y2 ==> _=xy2 ==> _=2xy3-y4 ==> _=3xy5-y6 ==> _=xy4 //--------------------------------------------------- //Call with three iterations, tail-reduction and method 0. sagbiPart(A,3,1,0); ==> //SAGBI construction algorithm stopped as it reached the limit of 3 itera\ tions. ==> //In general the returned generators are no SAGBI basis for the given alg\ ebra. ==> _=x ==> _=xy-y2 ==> _=xy2 ==> _=2xy3-y4 ==> _=3xy5-y6 ==> _=xy4 ==> _=5xy9-y10 ==> _=xy8 ==> _=4xy7-y8 ==> _=xy6 ```

### Misc 