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

From ApCoCoAWiki
m (replaced <quotes> tag by real quotes)
 
(17 intermediate revisions by 5 users not shown)
Line 1: Line 1:
   <command>
+
   {{Version|1}}
 +
<command>
 
     <title>Num.SubAVI</title>
 
     <title>Num.SubAVI</title>
     <short_description>Border basis of an almost vanishing sub-ideal for a set of points and ideal.</short_description>
+
     <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>
Num.SubAVI(Points:MAT, Tau:RAT, GBasis:LIST):Object
+
Num.SubAVI(Points:MAT, Epsilon:RAT, Basis:LIST):Object
Num.SubAVI(Points:MAT, Tau:RAT, GBasis:LIST, Delta:RAT, NormalizeType:INT, RREFNormalizeType:INT,
+
Num.SubAVI(Points:MAT, Epsilon:RAT, Basis:LIST, Delta:RAT, NormalizeType:INT):Object
RREFUseEps:BOOL, RREFType:INT):Object
 
 
</syntax>
 
</syntax>
 
     <description>
 
     <description>
 
<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.
 
<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/>
 +
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.
 +
<par/>
 +
The current ring has to be a ring over the rational numbers with a standard-degree
 +
compatible term-ordering. Each row in the matrix <tt>Points</tt> represents one point, so the number of columns must equal the
 +
number of indeterminates in the current ring.
  
 
<itemize>
 
<itemize>
 
<item>@param <em>Points</em> The points for which a border basis is computed.</item>
 
<item>@param <em>Points</em> The points for which a border basis is computed.</item>
  
<item>@param <em>Tau</em> 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. </item>
+
<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>
  
<item>@param <em>GBasis</em> 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.</item>
+
<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>
  
 
<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>
 
<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>
Line 23: Line 29:
 
The following parameters are optional:
 
The following parameters are optional:
 
<itemize>
 
<itemize>
<item>@param <em>Delta</em> 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.</item>
+
<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 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.</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>
  
<item>@param <em>RREFNormalizeType</em> Describes, how in each RREF steps the columns are normalized. The options correspond to the ones for NormalizeType and the default is 1 again.</item>
 
  
<item>@param <em>RREFUseEps</em> 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. </item>
 
 
<item>@param <em>RREFType</em> This must be 1 or 2. If RREFType=1, the rref operates column-wise. Otherwise it works row-wise. The default is 1.</item>
 
 
</itemize>
 
</itemize>
 
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.
 
  
 
<example>
 
<example>
Line 44: Line 40:
  
 
Points := Mat([[2/3,0,0],[0,1,0],[0,0,1/3]]);
 
Points := Mat([[2/3,0,0],[0,1,0],[0,0,1/3]]);
R:=Num.SubAVI(Points, 0.1, [1,x]);
+
R:=Num.SubAVI(Points, 0.1, [x]);
Dec(R[1,1],2);
+
Dec(R[1],2);
 
R[2];
 
R[2];
  
["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 "]
+
-- CoCoAServer: computing Cpu Time = 0
 +
-------------------------------
 +
["1 x^2 -0.66 x ", "1 xy ", "1 xz "]
 
-------------------------------
 
-------------------------------
[1, x, z]
+
[x]
 
-------------------------------
 
-------------------------------
  
Line 56: Line 54:
 
     </description>
 
     </description>
 
     <seealso>
 
     <seealso>
       <see>Introduction to CoCoAServer</see>
+
       <see>ApCoCoA-1:Introduction to CoCoAServer|Introduction to CoCoAServer</see>
       <see>Numerical.AVI</see>
+
       <see>ApCoCoA-1:Num.AVI|Num.AVI</see>
 
     </seealso>
 
     </seealso>
 
     <types>
 
     <types>
 
       <type>apcocoaserver</type>
 
       <type>apcocoaserver</type>
 +
      <type>points</type>
 +
      <type>ideal</type>
 
     </types>
 
     </types>
 
     <key>SubAVI</key>
 
     <key>SubAVI</key>
 
     <key>num.SubAVI</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