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

forceSB -- declare the generators to be a complete subalgebra basis

Synopsis

Description

If forceSB is called on a SAGBIBasis $SB$, then the function performs autosubduction on the subalgebra generators of $SB$. The completion flag is then set to complete without checking whether the generators form a subalgebra basis.

If forceSB is called on a subring $S$, then the function performs autosubduction on the generators of $S$. The completion flag is then set to complete without checking whether the generators form a subalgebra basis.

In each case above, the option UseSubringGens can be toggled between true and false to operate on the subring generators in the case where the input is a SAGBIBasis, and operate on any partial subalgebra basis created for $S$ when the the input is a subring.

If the generators supplied to forceSB do not form a subalgebra basis, then the resulting behavior may be unexpected.

i1 : R = QQ[x,y];
i2 : S = subring{x+y,x*y,x*y^2}

o2 = QQ[p_0..p_2], subring of R

o2 : Subring
i3 : forceSB S;
i4 : isSAGBI S

o4 = true
i5 : sagbi(S,Recompute=>true)

o5 = Partial SAGBIBasis Computation Object with 20 generators, Limit = 20.

o5 : SAGBIBasis
i6 : isSAGBI S

o6 = true

In this example, forceSB causes isSAGBI to return true even though the generators of $S$ do not form a subalgebra basis. Recomputing the subalgebra basis exposes that the generators do not form a subalgebra basis.

Optional inputs for specific uses (see forceSB(SAGBIBasis) and forceSB(Subring)) include the following: AutoSubduce, Limit, PrintLevel, RenewOptions, Subduction strategies, UseSubringGens, and SubductionMethod.

See also

Ways to use forceSB :

For the programmer

The object forceSB is a method function with options.