From ApCoCoAWiki
Revision as of 16:55, 23 April 2009 by Stadler (talk | contribs)


Border basis of an almost vanishing sub-ideal for a set of points and ideal.


Num.SubABM(Points:MAT, Tau:RAT, GBasis:LIST):Object
Num.SubABM(Points:MAT, Tau:RAT, GBasis:LIST, Delta:RAT, NormalizeType:INT):Object


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.

  • @param Points The points for which a border basis is computed.

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

  • @param GBasis A homogeneous Groebner Basis in the current ring. This basis defines the ideal we compute the approximate vanishing ideal's basis in. Warning: for reasons of efficiency the function does not check the validity of GBasis.

  • @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.

The following parameters are optional:

  • @param Delta A positiv rational number. Delta 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.

  • @param NormalizeType A integer of the range 1..4. The default value is 1. This parameter describes, if / how the input points are normalized. If NormalizeType equals 1, each coordinate is divided by the maximal absolut value of the matrix's corresponding column. This ensures that all point's coordinates are in [-1,1]. With NormalizeType=2 no normalization is done at all. NormalizeType=3 shifts each coordinate to [-1,1]. So it's minimum is mapped to -1 and the maximum to one, describing a unique affine mapping. The last option is NormalizeType=4. In this case, each coordinate is normalized, using the column's euclidian norm. Due to backward compatibility, the default is 1, although 3 is in most cases a better choice.

This command computes a border basis of an almost vanishing sub-ideal for a set of points and ideal. The current ring has to be a ring over the rationals with a standard-degree compatible term-ordering. The matrix Points contains the points: each point is a row in the matrix, so the number of columns must equal the number of indeterminates in the current ring.


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

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

-- CoCoAServer: computing Cpu Time = 0.015
["0.41 x +0.27 y +0.82 z -0.27  ", "0.00 x -0.00  ", "1 xz ", "1 xy ", "-0.83 x^2 +0.55 x +0.00  ", "0.94 z^2 -0.31 z -0.00  ", "1 yz ", "1 xz "]
[1, x, z]

See also

Introduction to CoCoAServer