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 (80, 90, 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 ] ```