up previous next
ApproxPointsNBM    --    Numerical Border Basis of ideal of points


Syntax
ApproxPointsNBM(P: RING, Pts: MAT, Toler: MAT): RECORD

Description
This function returns a record containing four fields: namely, QuotientBasis, BBasis, AlmostVanishing and StableBBasisFound.

The field QuotientBasis contains a factor-closed set of power-products, and the field AlmostVanishing contains a list of "almost vanishing" polynomials. If the cardinality of the field QuotientBasis is equal to the number of points, it is in fact a "quotient basis" of the ideal of points, and in this case a border basis founded on it is also returned in the field BBasis and the field StableBBasisFound is set to true (otherwise it is false).

The first argument is a list of points in k-dimensional space, and the second argument is the list of k positive tolerances (one for each dimension). So that the answer can be represented, the current ring must have at least k indeterminates; the term ordering is ignored as it plays no role in determining the border basis.

Verbosity range 80-95.

Thanks to John Abbott and Maria-Laura Torrente for the implementation. For a full description of the algorithms we refer to the paper C.Fassino Almost Vanishing Polynomials for Sets of Limited Precision Points (Journal of Symbolic Computation 45 (2010), 19--37).

Example
/**/ P ::= QQ[x,y];
/**/ Eps := [0.1, 0.1];
/**/ Points := [[10, 0], [-10, 0], [0, 10], [0, -10], [7, 7], [-7, -7]];
/**/ indent(ApproxPointsNBM(P, mat(Points), RowMat(Eps)));
record[
  AlmostVanishing := [x^2 +(2/49)*x*y +y^2 -100,
                      x*y^2 +(49/51)*y^3 +(-4900/51)*y, y^4 +51*x*y -100*y^2],
  BBasis := [x^2 +(2/49)*x*y +y^2 -100, x*y^2 +(49/51)*y^3 +(-4900/51)*y,
             x^2*y +(49/51)*y^3 +(-4900/51)*y, y^4 +51*x*y -100*y^2, x*y^3 -49*x*y],
  QuotientBasis := [1,  y,  x,  y^2,  x*y,  y^3],
  StableBBasisFound := true
]

See Also