Macaulay2 » Documentation
Packages » SubalgebraBases :: sagbi
next | previous | forward | backward | up | index | toc

sagbi -- Compute a subalgebra basis (sagbi basis)

Synopsis

Description

The output of this function is a partial subalgebra basis stored in a computation object.

i1 : R = QQ[t_(1,1)..t_(3,3),MonomialOrder=>Lex];
i2 : M = genericMatrix(R,3,3);

             3      3
o2 : Matrix R  <-- R
i3 : A = subring gens minors(2, M);
i4 : isSAGBI A

o4 = false
i5 : S = sagbi A;
i6 : gS = gens S

o6 = | t_(2,2)t_(3,3)-t_(2,3)t_(3,2) t_(2,1)t_(3,3)-t_(2,3)t_(3,1)
     ------------------------------------------------------------------------
     t_(2,1)t_(3,2)-t_(2,2)t_(3,1) t_(1,2)t_(3,3)-t_(1,3)t_(3,2)
     ------------------------------------------------------------------------
     t_(1,2)t_(2,3)-t_(1,3)t_(2,2) t_(1,1)t_(3,3)-t_(1,3)t_(3,1)
     ------------------------------------------------------------------------
     t_(1,1)t_(3,2)-t_(1,2)t_(3,1) t_(1,1)t_(2,3)-t_(1,3)t_(2,1)
     ------------------------------------------------------------------------
     t_(1,1)t_(2,2)-t_(1,2)t_(2,1)
     ------------------------------------------------------------------------
     t_(1,1)t_(2,2)t_(3,1)t_(3,3)-t_(1,1)t_(2,3)t_(3,1)t_(3,2)-t_(1,2)t_(2,1)
     ------------------------------------------------------------------------
     t_(3,1)t_(3,3)+t_(1,2)t_(2,3)t_(3,1)^2+t_(1,3)t_(2,1)t_(3,1)t_(3,2)-t_(1
     ------------------------------------------------------------------------
     ,3)t_(2,2)t_(3,1)^2 t_(1,1)t_(1,3)t_(2,2)t_(3,3)-t_(1,1)t_(1,3)t_(2,3)t
     ------------------------------------------------------------------------
     _(3,2)-t_(1,2)t_(1,3)t_(2,1)t_(3,3)+t_(1,2)t_(1,3)t_(2,3)t_(3,1)+t_(1,3
     ------------------------------------------------------------------------
     )^2t_(2,1)t_(3,2)-t_(1,3)^2t_(2,2)t_(3,1) |

             1      11
o6 : Matrix R  <-- R
i7 : isSAGBI gS

o7 = true

Partial subalgebra bases are unavoidable since a subalgebra of a polynomial ring, endowed with some polynomial order, need not have a finite subalgebra basis. Here is a quintessential example of this phenomenon:

i8 : R=QQ[x,y];
i9 : A = subring matrix{{x+y,x*y,x*y^2}};
i10 : gens sagbi(A,Limit=>3)

o10 = | x+y xy xy2 |

              1      3
o10 : Matrix R  <-- R
i11 : gens sagbi(A,Limit=>10)

o11 = | x+y xy xy2 xy3 xy4 xy5 xy6 xy7 xy8 xy9 |

              1      10
o11 : Matrix R  <-- R

Nevertheless, a finite subalgebra basis can be computed in many cases.

See also

Ways to use sagbi :

For the programmer

The object sagbi is a method function with options.