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

From ApCoCoAWiki
(adding new parameters.)
m (replaced <quotes> tag by real quotes)
 
(29 intermediate revisions by 6 users not shown)
Line 1: Line 1:
   <command>
+
   {{Version|1}}
     <title>Numerical.BBasisOfPointsInIdeal</title>
+
<command>
     <short_description>border basis of an almost vanishing sub-ideal for a set of points and ideal</short_description>
+
     <title>Num.SubAVI</title>
 +
     <short_description>Computes a border basis of an almost vanishing sub-ideal for a set of points and an ideal using the <ref>ApCoCoA-1:Num.AVI|Num.AVI</ref> algorithm.</short_description>
 
<syntax>
 
<syntax>
$numerical.BBasisOfPointsInIdeal(Points, Tau, GetO, GBasis, Delta, NormalizeType, RREFNormalizeType, RREFUseEps, RREFType):Object
+
Num.SubAVI(Points:MAT, Epsilon:RAT, Basis:LIST):Object
 +
Num.SubAVI(Points:MAT, Epsilon:RAT, Basis:LIST, Delta:RAT, NormalizeType:INT):Object
 
</syntax>
 
</syntax>
 
     <description>
 
     <description>
This command computes a border basis of an almost vanishing sub-ideal for a set of points and ideal using the algorithm described in the paper
+
<em>Please note:</em> The function(s) explained on this page is/are using the <em>ApCoCoAServer</em>. You will have to start the ApCoCoAServer in order to use it/them.
 
<par/>
 
<par/>
  D. Heldt, M. Kreuzer, H. Poulisse: <em>Computing Approximate
+
This command computes a border basis of an almost vanishing sub-ideal for a set of points and an ideal using the <ref>ApCoCoA-1:Num.AVI|Num.AVI</ref> algorithm.
  Vanishing Ideals</em> (Work in progress)
 
 
<par/>
 
<par/>
The current ring has to be a ring over the rationals with a standard-degree
+
The current ring has to be a ring over the rational numbers with a standard-degree
compatible term-ordering. The matrix Points contains the points: each
+
compatible term-ordering. Each row in the matrix <tt>Points</tt> represents one point, 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.  
 
number of indeterminates in the current ring.  
  
Tau is a rational <formula>&gt;0</formula>,
+
<itemize>
describing which singular values should be treated as 0 (smaller values for
+
<item>@param <em>Points</em> The points for which a border basis is computed.</item>
tau 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.  
 
  
 +
<item>@param <em>Epsilon</em> A positive rational number describing which singular values should be treated as 0 (bigger values for epsilon lead to bigger errors of the polynomials evaluated at the point set). Epsilon should be in the interval (0,1). As a rule of thumb, Tau is the expected percentage of error on the input points. </item>
  
GetO must be either True or False.  If it is true, the command
+
<item>@param <em>Basis</em> A homogeneous Groebner Basis in the current ring. This basis defines the ideal in which we compute the basis of the approximate vanishing ideal.</item>
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).  
 
  
GBasis must be a
+
<item>@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.</item>
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.
 
  
 +
</itemize>
  
The last 5 parameters are optional.  
+
The following parameters are optional:
 +
<itemize>
 +
<item>@param <em>Delta</em> A positive rational number which describes the computing precision. In different steps, it is crucial, if a value is 0 or not. The algorithm assumes every value in <tt>[-Delta, Delta]</tt> to be 0. The default value for <tt>Delta</tt> is 0.00000000001.</item>
  
 +
<item>@param <em>NormalizeType</em> A integer of the set <tt>{1,2,3,4}</tt>. The default value is 2. This parameter describes, if and where required the input points are normalized. If <tt>NormalizeType</tt> equals 1, each coordinate of a point is divided by the maximal absolute value of all coordinates of this point. This ensures that all coordinates of the points are within <tt>[-1,1]</tt>. With <tt>NormalizeType=2</tt> no normalization is done at all. <tt>NormalizeType=3</tt> shifts each coordinate to <tt>[-1,1]</tt>, i.e. the minimal coordinate of a point is mapped to -1 and the maximal coordinate to 1, which describes a unique affine mapping. The last option is <tt>NormalizeType=4</tt>. In this case, each point is normalized by its euclidean norm.</item>
  
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.
 
  
 +
</itemize>
  
NormalizeType must be one of 1,2,3 ,4. The default value is 1. This parameter describes, if / how the input points are normalized.
+
<example>
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].
+
Use P::=QQ[x,y,z];
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.
 
  
 +
Points := Mat([[2/3,0,0],[0,1,0],[0,0,1/3]]);
 +
R:=Num.SubAVI(Points, 0.1, [x]);
 +
Dec(R[1],2);
 +
R[2];
  
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.
+
-- CoCoAServer: computing Cpu Time = 0
 
+
-------------------------------
 
+
["1 x^2 -0.66 x ", "1 xy ", "1 xz "]
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([[2,0,0],[0,3,0],[0,0,1]]);
 
$numerical.BBasisOfPointsInIdeal(Points, 0.001, False,[z,y]);
 
 
-------------------------------
 
-------------------------------
[z^2 - z, 1/3yz, 1/2xz, 1/9y^2 - 9007199254740991/27021597764222976y, 1/6xy]
+
[x]
 
-------------------------------
 
-------------------------------
 +
 
</example>
 
</example>
 
     </description>
 
     </description>
 
     <seealso>
 
     <seealso>
       <see>Introduction to CoCoAServer</see>
+
       <see>ApCoCoA-1:Introduction to CoCoAServer|Introduction to CoCoAServer</see>
       <see>Numerical.GBasisOfPoints</see>
+
       <see>ApCoCoA-1:Num.AVI|Num.AVI</see>
      <see>Numerical.BBasisOfPoints</see>
 
      <see>Numerical.HBasisOfPoints</see>
 
      <see>Numerical.GBasisOfPointsInIdeal</see>
 
      <see>Numerical.HBasisOfPointsInIdeal</see>
 
      <see>Numerical.FirstVanishingRelations</see>
 
      <see>Numerical.FirstVanishingRelationsInIdeal</see>
 
 
     </seealso>
 
     </seealso>
 
     <types>
 
     <types>
       <type>cocoaserver</type>
+
       <type>apcocoaserver</type>
 +
      <type>points</type>
 +
      <type>ideal</type>
 
     </types>
 
     </types>
     <key>heldt</key>
+
     <key>SubAVI</key>
     <key>numerical.bbasisofpointsinideal</key>
+
    <key>num.SubAVI</key>
     <wiki-category>Package_Numerical</wiki-category>
+
     <key>numerical.subavi</key>
 +
     <wiki-category>ApCoCoA-1:Package_numerical</wiki-category>
 
   </command>
 
   </command>

Latest revision as of 13:49, 29 October 2020

This article is about a function from ApCoCoA-1.

Num.SubAVI

Computes a border basis of an almost vanishing sub-ideal for a set of points and an ideal using the Num.AVI algorithm.

Syntax

Num.SubAVI(Points:MAT, Epsilon:RAT, Basis:LIST):Object
Num.SubAVI(Points:MAT, Epsilon:RAT, Basis:LIST, Delta:RAT, NormalizeType:INT):Object

Description

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.

This command computes a border basis of an almost vanishing sub-ideal for a set of points and an ideal using the Num.AVI algorithm.

The current ring has to be a ring over the rational numbers with a standard-degree

compatible term-ordering. Each row in the matrix Points represents one point, so the number of columns must equal the

number of indeterminates in the current ring.

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

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

  • @param Basis A homogeneous Groebner Basis in the current ring. This basis defines the ideal in which we compute the basis of the approximate vanishing ideal.

  • @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 positive rational number which 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 set {1,2,3,4}. The default value is 2. This parameter describes, if and where required the input points are normalized. If NormalizeType equals 1, each coordinate of a point is divided by the maximal absolute value of all coordinates of this point. This ensures that all coordinates of the points are within [-1,1]. With NormalizeType=2 no normalization is done at all. NormalizeType=3 shifts each coordinate to [-1,1], i.e. the minimal coordinate of a point is mapped to -1 and the maximal coordinate to 1, which describes a unique affine mapping. The last option is NormalizeType=4. In this case, each point is normalized by its euclidean norm.


Example

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

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

-- CoCoAServer: computing Cpu Time = 0
-------------------------------
["1 x^2 -0.66 x ", "1 xy ", "1 xz "]
-------------------------------
[x]
-------------------------------

See also

Introduction to CoCoAServer

Num.AVI