ApCoCoA:SB.ReducedSagbi

From CoCoAWiki
Jump to: navigation, search

<command>

 <title>SB.ReducedSagbi</title>
 <short_description>Computes the finite reduced SAGBI-basis of a subalgebra if existing.</short_description>
 

<syntax> SB.ReducedSagbi(G:LIST of POLY):LIST of POLY </syntax>

 <description>

If a finite SAGBI-basis of the subalgebra S generated by G is existing, this function computes the reduced SAGBI-basis of S. Then a list of polynomials is returned which form the reduced SAGBI-basis of S, i.e. these polynomials fulfill the conditions of a reduced SAGIB-basis. If no finite SAGBI-basis is existing the computation will be interrupted by an error message. <par/> Important: This functions works only, if a finite SAGBI-basis of S is existing!

<itemize>

 <item>@param G A list of polynomials which generates a subalgebra.</item>
 <item>@return If no error will occur, a list of polynomials which form a reduced SAGBI-basis of the given subalgebra.</item>

</itemize>

<example> Use R::=QQ[x,y];

G:=[x-y,x+y]; SB.Sagbi(G); SB.ReducedSagbi(G);


-- output:

-- a SAGBI-basis of K[G] [

 x - y,
 x + y,
 y]

-- the reduced SAGBI-basis of K[G] [

 x,
 y]

-- Done.


</example> <example> Use R::=QQ[x[1..6]];

G:=[-x[4] - x[6], -x[1], x[2]^2 + x[3]^2,

   -4x[4]^2 - 5/2x[5]^2 + 2x[4]x[6] - 4x[6]^2, 
   -2x[2]x[3]x[4] + x[2]^2x[5] - x[3]^2x[5] + 2x[2]x[3]x[6], 
   -x[2]^2x[4] + x[3]^2x[4] - 2x[2]x[3]x[5] + x[2]^2x[6] - x[3]^2x[6]];

SB.Sagbi(G); SB.ReducedSagbi(G);


-- output:

-- a SAGBI-basis of K[G] [

 x[4] + x[6],
 x[1],
 x[2]^2 + x[3]^2,
 x[4]^2 + 5/8x[5]^2 - 1/2x[4]x[6] + x[6]^2,
 x[2]x[3]x[4] - 1/2x[2]^2x[5] + 1/2x[3]^2x[5] - x[2]x[3]x[6],
 x[2]^2x[4] - x[3]^2x[4] + 2x[2]x[3]x[5] - x[2]^2x[6] + x[3]^2x[6],
 x[5]^2 - 4x[4]x[6],
 x[3]^2x[4] - x[2]x[3]x[5] + x[2]^2x[6]]

-- the reduced SAGBI-basis of K[G] [

 x[4] + x[6],
 x[1],
 x[2]^2 + x[3]^2,
 x[2]x[3]x[4] - 1/2x[2]^2x[5] + 1/2x[3]^2x[5] - x[2]x[3]x[6],
 x[5]^2 - 4x[4]x[6],
 x[3]^2x[4] - x[2]x[3]x[5] + x[2]^2x[6]]

-- Done.


</example> <example> Use R::=QQ[x,y];

G:=[x+y, xy, xy^2]; SB.Sagbi(G); SB.ReducedSagbi(G);


-- output:

--- Computation was interrupted --- NULL


ERROR: SB.ReducedSagbi: No finite SAGBI-Basis is existing! CONTEXT: Error("SB.ReducedSagbi: No finite SAGBI-Basis is existing!")


-- Done.


</example>

 </description>

<see>SB.Sagbi</see> <see>SB.IsSagbi</see> <see>SB.IsSagbiOf</see>

 <types>
   <type>sagbi</type>
   <type>poly</type>
 </types>
 <key>reducedsagbi</key>
 <key>sb.reducedsagbi</key>
 <key>sagbi.reducedsagbi</key>
 <wiki-category>Package_sagbi</wiki-category>

</command>