up previous next

Stable Border Basis of ideal of points

 StableBBasis5(Pts: LIST, Toler: LIST): RECORD[SOI: LIST, BBasis: LIST, AlmostVanishing: LIST, StableBBasisFound: BOOL]
 StableBBasis5(Pts: LIST, Toler: LIST, Gamma: RAT): RECORD[SOI: LIST, BBasis: LIST, AlmostVanishing: LIST, StableBBasisFound: BOOL]

This function is implemented in CoCoALib (i.e. it requires an active CoCoAServer).

This function returns a record containing a stable order ideal of the ideal of points, and a list of almost vanishing polynomials. If the cardinality of the order ideal is equal to the number of points, it is in fact a quotient basis, and in this case a stable border basis founded on it is also returned. The boolean field StableBBasisFound is set to true if a stable border basis was found, otherwise false.

The first argument is a list of points in k-dimensional space, and the second argument is list of k positive tolerances (one for each dimension). The function builds the stable order ideal stepwise by testing, from a numerical point of view, the linear dependence of a set of vectors.

There is a third, optional argument: it is a real non negative number Gamma which is used for scaling the threshold on the admissible perturbation of the points. A value of Gamma << 1 should be used. If no value is specified then by default Gamma = 0.1

For a full description of the algorithms we refer to the paper J.Abbott, C.Fassino, L.Torrente Stable Border Bases for Ideals of Points (to appear in JSC or arXiv:07062316).

  Pts := [[0.1,-1],[1,1],[2,3]];
  Toler := [0.1,0.1];
  StableBBasis5(Pts, Toler);
  AlmostVanishing = [ (...) ],
  BBasis = [
    -3602879701896397/288230376151711744y^2 + x -
  32425917317067571/72057594037927936y -
    xy - 140512308373959475/288230376151711744y^2 -
  39631676720860365/72057594037927936y +
    y^3 - 3y^2 - y + 3,
    xy^2 - 580063632005319885/288230376151711744y^2 -
  32425917317067571/72057594037927936y +
  SOI = [1, y, y^2],
  StableBBasisFound = True]
  Toler := [0.6, 0.6]:
  StableBBasis5(Pts, Toler);
Record[AlmostVanishing = [.....], SOI = [1, y], StableBBasisFound = False]

See Also