Difference between revisions of "ApCoCoA-1:Num.SubEXTABM"
(Added SubEXTABM) |
m (replaced <quotes> tag by real quotes) |
||
(6 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
− | <command> | + | {{Version|1}} |
− | <title>Num. | + | <command> |
− | <short_description>Computes a border basis of an almost vanishing sub-ideal for a set of points and an ideal using the <ref>Num. | + | <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>ApCoCoA-1:Num.EXTABM|Num.EXTABM</ref> algorithm.</short_description> | ||
<syntax> | <syntax> | ||
− | Num. | + | Num.SubEXTABM(Points:MAT, Val:MAT, Epsilon:RAT, Basis:LIST):Object |
− | Num. | + | Num.SubEXTABM(Points:MAT, Val:MAT, Epsilon:RAT, Basis:LIST, Delta:RAT, NormalizeType: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/> | <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. | + | 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.EXTABM|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 40: | ||
Use P::=QQ[x,y,z]; | Use P::=QQ[x,y,z]; | ||
− | Points := Mat([[2 | + | Points := Mat([[1,2,3],[4,5,6],[7,11,12]]); |
− | R:=Num. | + | 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 | -- CoCoAServer: computing Cpu Time = 0 | ||
------------------------------- | ------------------------------- | ||
− | [ | + | ["1.000", "0.999", "1.000", "0.999", "0.999", "1.000"] |
------------------------------- | ------------------------------- | ||
− | [ | + | ["0.099", "0.100", "0.100", "0.099", "0.099", "0.100"] |
+ | ------------------------------- | ||
+ | ["0.200", "0.200", "0.200", "0.199", "0.199", "0.199"] | ||
------------------------------- | ------------------------------- | ||
</example> | </example> | ||
</description> | </description> | ||
<seealso> | <seealso> | ||
− | <see>Introduction to CoCoAServer</see> | + | <see>ApCoCoA-1:Introduction to CoCoAServer|Introduction to CoCoAServer</see> |
− | <see>Num.ABM</see> | + | <see>ApCoCoA-1:Num.ABM|Num.ABM</see> |
</seealso> | </seealso> | ||
<types> | <types> | ||
Line 61: | Line 66: | ||
<type>ideal</type> | <type>ideal</type> | ||
</types> | </types> | ||
− | <key> | + | <key>SubEXTABM</key> |
− | <key>num. | + | <key>num.SubEXTABM</key> |
− | <key>numerical. | + | <key>numerical.subextabm</key> |
− | <wiki-category>Package_numerical</wiki-category> | + | <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.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.SubEXTABM(Points:MAT, Val:MAT, Epsilon:RAT, Basis:LIST):Object Num.SubEXTABM(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 ------------------------------- ["1.000", "0.999", "1.000", "0.999", "0.999", "1.000"] ------------------------------- ["0.099", "0.100", "0.100", "0.099", "0.099", "0.100"] ------------------------------- ["0.200", "0.200", "0.200", "0.199", "0.199", "0.199"] -------------------------------
See also