next | previous | forward | backward | up | index | toc

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

## Synopsis

• Usage:
forceSB S
forceSB SB
• Inputs:
• S, ,
• SB, ,

## Description

If forceSB is called on $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 $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 , and operate on any partial subalgebra basis created for $S$ when the the input is .

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.