Difference between revisions of "ApCoCoA-1:Num.ABM"

From ApCoCoAWiki
m (short descriptions don't start with capitals)
(adding the new parameters.)
Line 3: Line 3:
 
     <short_description>border basis of almost vanishing ideal for a set of points</short_description>
 
     <short_description>border basis of almost vanishing ideal for a set of points</short_description>
 
<syntax>
 
<syntax>
$numerical.BBasisOfPoints(Points, Epsilon, GetO):Object
+
$numerical.BBasisOfPoints(Points, Tau, GetO, Delta,  NormalizeType, RREFNormalizeType, RREFUseEps, RREFType):Object
 
</syntax>
 
</syntax>
 
     <description>
 
     <description>
Line 14: Line 14:
 
compatible term-ordering.  The matrix Points contains the points: each
 
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
 
point is a row in the matrix, so the number of columns must equal the
number of indeterminates in the current ring.  Epsilon is a rational <formula>&gt;0</formula>
+
number of indeterminates in the current ring.  Tau is a rational <formula>&gt;0</formula>
 
describing which singular values should be treated as 0 (smaller values for
 
describing which singular values should be treated as 0 (smaller values for
 
Epsilon lead to bigger errors of the polynomials evaluated at the point
 
Epsilon lead to bigger errors of the polynomials evaluated at the point
set).  Epsilon should be in the interval <formula>(0,1)</formula>. As a rule of thumb,  
+
set).  Tau should be in the interval <formula>(0,1)</formula>. As a rule of thumb,  
Epsilon is the expected percentage of error on the input points. GetO must  
+
Tau is the expected percentage of error on the input points.  
be either True or False.  If it is true, the command returns a list  
+
 
 +
GetO must be either True or False.  If it is true, the command returns a list  
 
of two values: the first contains the border basis, the
 
of two values: the first contains the border basis, the
 
second one a vector space basis of <formula>P/I</formula> comprising those power products
 
second one a vector space basis of <formula>P/I</formula> comprising those power products
 
lying outside the leading term ideal of I.  If GetO is false, the function
 
lying outside the leading term ideal of I.  If GetO is false, the function
 
returns only the border basis (not in a list).
 
returns only the border basis (not in a list).
 +
 +
 +
The last 5 parameters are optional.
 +
 +
 +
Delta must be a positiv rational. 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.
 +
 +
 +
NormalizeType must be one of 1,2,3 ,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.
 +
 +
 +
RREFNormalizeType describes, how in each RREF steps the columns are normalized. The options correspond to the ones for NormalizeType and the default is 1 again.
 +
 +
 +
RREFUseEps must be either true or false! If RREFUseEps is true, the given Delta is used within the RREF to decide if a value equals 0 or not. If this parameter is false,
 +
a replacement value for Delta is used, which is based on the matrix's norm.
 +
 +
 +
The last parameter is RREFType. This must be 1 or 2. If RREFType=1, the rref operates column-wise. Otherwise it works row-wise. The default is 1.
 
<example>
 
<example>
 
Points := Mat([[1,0,0],[0,0,1],[0,2,0]]);
 
Points := Mat([[1,0,0],[0,0,1],[0,2,0]]);

Revision as of 08:52, 27 May 2008

Numerical.BBasisOfPoints

border basis of almost vanishing ideal for a set of points

Syntax

$numerical.BBasisOfPoints(Points, Tau, GetO, Delta,  NormalizeType, RREFNormalizeType, RREFUseEps, RREFType):Object

Description

This command computes a border basis of an almost vanishing ideal for a set of points using the algorithm described in the paper

 D. Heldt, M. Kreuzer, H. Poulisse, S.Pokutta: Approximate Computation
 of Zero-Dimensional Ideals Submitted: August 2006

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. Tau is a rational <formula>>0</formula> describing which singular values should be treated as 0 (smaller values for Epsilon lead to bigger errors of the polynomials evaluated at the point set). Tau should be in the interval <formula>(0,1)</formula>. As a rule of thumb, Tau is the expected percentage of error on the input points.

GetO must be either True or False. If it is true, the command returns a list

of two values: the first contains the border basis, the

second one a vector space basis of <formula>P/I</formula> comprising those power products lying outside the leading term ideal of I. If GetO is false, the function returns only the border basis (not in a list).


The last 5 parameters are optional.


Delta must be a positiv rational. 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.


NormalizeType must be one of 1,2,3 ,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.


RREFNormalizeType describes, how in each RREF steps the columns are normalized. The options correspond to the ones for NormalizeType and the default is 1 again.


RREFUseEps must be either true or false! If RREFUseEps is true, the given Delta is used within the RREF to decide if a value equals 0 or not. If this parameter is false,

a replacement value for Delta is used, which is based on the matrix's norm.


The last parameter is RREFType. This must be 1 or 2. If RREFType=1, the rref operates column-wise. Otherwise it works row-wise. The default is 1.

Example

Points := Mat([[1,0,0],[0,0,1],[0,2,0]]);
$numerical.BBasisOfPoints(Points,0.001,True);
-------------------------------
[[x + 9007199254740991/18014398509481984y + z - 1, z^2 - 9007199254740991/9007199254740992z, 1/2yz, xz, 1/4y^2 - 9007199254740991/18014398509481984y, 1/2xy], [y, z, 1]]

See also

Introduction to CoCoAServer

Numerical.GBasisOfPoints

Numerical.HBasisOfPoints

Numerical.GBasisOfPointsInIdeal

Numerical.BBasisOfPointsInIdeal

Numerical.HBasisOfPointsInIdeal

Numerical.FirstVanishingRelations

Numerical.FirstVanishingRelationsInIdeal