Package sagbi/SB.TruncSAGBI

From ApCoCoAWiki
< Package sagbi
Revision as of 10:58, 3 October 2020 by Andraschko (talk | contribs) (Andraschko moved page User:Andraschko/SB.TruncSAGBI to Package sagbi/SB.TruncSAGBI without leaving a redirect)
This article is about a function in ApCoCoA-2.0.

SB.TruncSAGBI

Computes a truncated SAGBI-basis of a standard-graded subalgebra.

Syntax

SB.SAGBI(G:LIST of POLY,d:RAT):LIST of POLY

Description

This function computes a d-truncated SAGBI-basis of the subalgebra S generated by the polynomials in the list G, i.e. a set of polynomials F such that any term appearing as the leading term of a polynomial in S of degree smaller than or equal to d is a product of terms appearing as leading term of a polynomial in F.

  • @param G A list of homogeneous polynomials which generates a subalgebra.

  • @param d An integer specifying the truncation degree.

  • @return A tuple [L,b] where L is a list of polynomials which form a d-truncated finite SAGBI-basis of the subalgebra generated by G. b is a boolean value which is true if L is already a complete SAGBI basis.

Example

Use QQ[x[1..3]];
S := SB.TruncSAGBI([x[1]^2-x[3]^2,x[1]*x[2]+x[3]^2,x[2]^2-2*x[3]^2],2);
indent(S,2);
-----------------------------------------------------------------------------
[
  [
    x[2]^2 -2*x[3]^2,
    x[1]*x[2] +x[3]^2,
    x[1]^2 -x[3]^2,
    x[1]^2*x[3]^2 +x[1]*x[2]*x[3]^2 +(1/2)*x[2]^2*x[3]^2 +(-1/2)*x[3]^4
  ],
  true
]

Example

Use QQ[x,y];
S := SB.TruncSAGBI([x+y,x*y,x*y^2],10); -- K[x+y,xy,xy^2] doesn't have a finite SAGBI basis
indent(S,2);
-----------------------------------------------------------------------------
[
  [
    x +y,
    x*y,
    x*y^2,
    x*y^3,
    x*y^4
  ],
  false
]