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

From ApCoCoAWiki
(Added SubEXTABM)
 
m
Line 1: Line 1:
 
   <command>
 
   <command>
     <title>Num.SubABM</title>
+
     <title>Num.SubEXTABM</title>
     <short_description>Computes a border basis of an almost vanishing sub-ideal for a set of points and an ideal using the <ref>Num.ABM</ref> algorithm.</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>Num.EXTABM</ref> algorithm.</short_description>
 
<syntax>
 
<syntax>
 
Num.SubABM(Points:MAT, Val:MAT, Epsilon:RAT, Basis:LIST):Object
 
Num.SubABM(Points:MAT, Val:MAT, Epsilon:RAT, Basis:LIST):Object
Line 9: Line 9:
 
<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/>
 
<par/>
This command computes a border basis of an almost vanishing sub-ideal for a set of points and an ideal using the <ref>Num.ABM</ref> algorithm.
+
This command computes a border basis of an almost vanishing sub-ideal for a set of points and an ideal using the <ref>Num.EXTABM</ref> algorithm.
 
<par/>
 
<par/>
 
The current ring has to be a ring over the rational numbers with a standard-degree
 
The current ring has to be a ring over the rational numbers with a standard-degree
Line 39: Line 39:
 
Use P::=QQ[x,y,z];
 
Use P::=QQ[x,y,z];
  
Points := Mat([[2/3,0,0],[0,1,0],[0,0,1/3]]);
+
Points := Mat([[1,2,3],[4,5,6],[7,11,12]]);
R:=Num.SubABM(Points, 0.1, [x]);
+
Val := Mat([[1],[0.1],[0.2]]);
Dec(R[1],2);
+
R:=Num.SubEXTABM(Points,Val, 0.1, [x]);
R[2];
 
  
 +
Dec(-Eval(R[1],Points[1]),3);
 +
Dec(-Eval(R[1],Points[2]),3);
 +
Dec(-Eval(R[1],Points[3]),3);
 
-- CoCoAServer: computing Cpu Time = 0
 
-- CoCoAServer: computing Cpu Time = 0
 
-------------------------------
 
-------------------------------
[<quotes>1 xz </quotes>, <quotes>1 xy </quotes>, <quotes>1 x^2 -0.66 x </quotes>]
+
[<quotes>1.000</quotes>, <quotes>0.999</quotes>, <quotes>1.000</quotes>, <quotes>0.999</quotes>, <quotes>0.999</quotes>, <quotes>1.000</quotes>]
 
-------------------------------
 
-------------------------------
[x]
+
[<quotes>0.099</quotes>, <quotes>0.100</quotes>, <quotes>0.100</quotes>, <quotes>0.099</quotes>, <quotes>0.099</quotes>, <quotes>0.100</quotes>]
 
-------------------------------
 
-------------------------------
 +
[<quotes>0.200</quotes>, <quotes>0.200</quotes>, <quotes>0.200</quotes>, <quotes>0.199</quotes>, <quotes>0.199</quotes>, <quotes>0.199</quotes>]
 
</example>
 
</example>
 
     </description>
 
     </description>

Revision as of 09:58, 8 October 2009

Num.SubEXTABM

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

Syntax

Num.SubABM(Points:MAT, Val:MAT, Epsilon:RAT, Basis:LIST):Object
Num.SubABM(Points:MAT, Val: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.EXTABM 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 Val The time series we want to approximate using Points.

  • @param Epsilon A positive rational number describing the maximal admissible least squares error for a polynomial. (Bigger values for Epsilon lead to bigger errors of the polynomials evaluated at the point set).

  • @param Basis A set of polynomials 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. Although NormalizeType=3 is in most cases a better choice, the default value is due to backward compatibility 1.


Example

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

Points := Mat([[1,2,3],[4,5,6],[7,11,12]]);
Val := Mat([[1],[0.1],[0.2]]);
R:=Num.SubEXTABM(Points,Val, 0.1, [x]);

Dec(-Eval(R[1],Points[1]),3);
Dec(-Eval(R[1],Points[2]),3);
Dec(-Eval(R[1],Points[3]),3);
-- CoCoAServer: computing Cpu Time = 0
-------------------------------
[<quotes>1.000</quotes>, <quotes>0.999</quotes>, <quotes>1.000</quotes>, <quotes>0.999</quotes>, <quotes>0.999</quotes>, <quotes>1.000</quotes>]
-------------------------------
[<quotes>0.099</quotes>, <quotes>0.100</quotes>, <quotes>0.100</quotes>, <quotes>0.099</quotes>, <quotes>0.099</quotes>, <quotes>0.100</quotes>]
-------------------------------
[<quotes>0.200</quotes>, <quotes>0.200</quotes>, <quotes>0.200</quotes>, <quotes>0.199</quotes>, <quotes>0.199</quotes>, <quotes>0.199</quotes>]

See also

Introduction to CoCoAServer

Num.ABM