From CoCoAWiki
Jump to: navigation, search
   <short_description>Computes a border basis of an almost vanishing sub-ideal for a set of points and an ideal using the <ref>Num.AVI</ref> algorithm.</short_description>

<syntax> Num.SubAVI(Points:MAT, Epsilon:RAT, Basis:LIST):Object Num.SubAVI(Points:MAT, Epsilon:RAT, Basis:LIST, Delta:RAT, NormalizeType:INT):Object </syntax>


Please note: The function(s) explained on this page is/are using the ApCoCoAServer. You will have to start the ApCoCoAServer in order to use it/them. <par/> This command computes a border basis of an almost vanishing sub-ideal for a set of points and an ideal using the <ref>Num.AVI</ref> algorithm. <par/> The current ring has to be a ring over the rational numbers with a standard-degree compatible term-ordering. Each row in the matrix Points represents one point, so the number of columns must equal the number of indeterminates in the current ring.

<itemize> <item>@param Points The points for which a border basis is computed.</item>

<item>@param Epsilon A positive rational number describing which singular values should be treated as 0 (bigger values for epsilon lead to bigger errors of the polynomials evaluated at the point set). Epsilon should be in the interval (0,1). As a rule of thumb, Tau is the expected percentage of error on the input points. </item>

<item>@param Basis A homogeneous Groebner Basis in the current ring. This basis defines the ideal in which we compute the basis of the approximate vanishing ideal.</item>

<item>@return A list of two results. First the border basis as a list of polynomials, second the vector space basis of P/I as a list of terms.</item>


The following parameters are optional: <itemize> <item>@param Delta A positive rational number which describes the computing precision. In different steps, it is crucial, if a value is 0 or not. The algorithm assumes every value in [-Delta, Delta] to be 0. The default value for Delta is 0.00000000001.</item>

<item>@param NormalizeType A integer of the set {1,2,3,4}. The default value is 2. This parameter describes, if and where required the input points are normalized. If NormalizeType equals 1, each coordinate of a point is divided by the maximal absolute value of all coordinates of this point. This ensures that all coordinates of the points are within [-1,1]. With NormalizeType=2 no normalization is done at all. NormalizeType=3 shifts each coordinate to [-1,1], i.e. the minimal coordinate of a point is mapped to -1 and the maximal coordinate to 1, which describes a unique affine mapping. The last option is NormalizeType=4. In this case, each point is normalized by its euclidean norm.</item>


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

Points := Mat([[2/3,0,0],[0,1,0],[0,0,1/3]]); R:=Num.SubAVI(Points, 0.1, [x]); Dec(R[1],2); R[2];

-- CoCoAServer: computing Cpu Time = 0

[<quotes>1 x^2 -0.66 x </quotes>, <quotes>1 xy </quotes>, <quotes>1 xz </quotes>]



     <see>Introduction to CoCoAServer</see>