Package sagbi/SB.SAGBITimeout
From ApCoCoAWiki
This article is about a function from ApCoCoA-2. |
SB.SAGBITimeout
Same as SAGBI, but stops after a given time and throws an error if the computation isn't finished yet.
Syntax
SB.SAGBITimeout(G:LIST of POLY,t:RAT):LIST of POLY
Description
This function computes a SAGBI basis and throws an error if the computation isn't finished after t seconds. If the computation terminates within t seconds, a reduced SAGBI basis of the subalgebra generated by the set G is returned.
@param G A list of polynomials which generates a subalgebra.
@param t A rational number specifying the time limit.
@return A list of polynomials which form a finite SAGBI-basis of the subalgebra generated by G.
Example
Use QQ[x,y,z]; S := SB.SAGBITimeout([x^2 -z^2, x*y +z^2, y^2 -2*z^2],3); indent(S); -- [ -- y^2 -2*z^2, -- x*y +z^2, -- x^2 -z^2, -- x^2*z^2 +x*y*z^2 +(1/2)*y^2*z^2 +(-1/2)*z^4 -- ]
Example
Use QQ[x,y]; SB.SAGBITimeout([x+y,x*y,x*y^2],10); -- K[x+y,xy,xy^2] does not have a finite SAGBI basis ----------------------------------------------------------------------------- --> ERROR: Timeout after 10.161 seconds. --> WHERE: at line 618 (column 2) of sagbi.cpkg5 --> error("Timeout after " + DecimalStr(t1-t0) + " seconds.") --> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
See also
Package sagbi/SB.GetTruncSAGBI