Difference between revisions of "ApCoCoA-1:Weyl.WNR"

From ApCoCoAWiki
m (insert version info)
 
(4 intermediate revisions by 3 users not shown)
Line 1: Line 1:
   <command>
+
   {{Version|1}}
 +
<command>
 
     <title>Weyl.WNR</title>
 
     <title>Weyl.WNR</title>
 
     <short_description>Computes the normal remainder of a Weyl polynomial <tt>F</tt> with respect
 
     <short_description>Computes the normal remainder of a Weyl polynomial <tt>F</tt> with respect
to a polynomial or a set of polynomials.</short_description>
+
to a polynomial or a list of Weyl polynomials using corresponding implementation in ApCoCoALib.</short_description>
 
<syntax>
 
<syntax>
 
Weyl.WNR(F:POLY,G:POLY):POLY
 
Weyl.WNR(F:POLY,G:POLY):POLY
Line 11: Line 12:
 
<par/>
 
<par/>
 
Computes the normal remainder of a Weyl polynomial <tt>F</tt> with respect to a polynomial <tt>G</tt> or a set of polynomials in the list <tt>G</tt>.
 
Computes the normal remainder of a Weyl polynomial <tt>F</tt> with respect to a polynomial <tt>G</tt> or a set of polynomials in the list <tt>G</tt>.
If <tt>G</tt> is Groebner basis then this function is used for ideal membership problem.
+
If <tt>G</tt> is Groebner basis then this function is used for ideal membership problem. That is, a Weyl polynomial P belongs to an ideal I iff <tt>Weyl.WNR(P,Weyl.WGB(I))=0</tt>.
  
 
<itemize>
 
<itemize>
Line 19: Line 20:
 
</itemize>
 
</itemize>
  
<em>Note:</em> All polynomials that are not in normal form should be first converted into normal form using <ref>Weyl.WNormalForm</ref>, otherwise you may get unexpected results.
+
<em>Note:</em> All polynomials that are not in normal form should be first converted into normal form using <ref>ApCoCoA-1:Weyl.WNormalForm|Weyl.WNormalForm</ref>, otherwise you may get unexpected results.
  
 
<example>
 
<example>
Line 29: Line 30:
 
L:=[F1,F2,F3];
 
L:=[F1,F2,F3];
 
Weyl.WNR(F1,L);
 
Weyl.WNR(F1,L);
 +
-------------------------------
 +
-- CoCoAServer: computing Cpu Time = 0
 +
-------------------------------
 
0
 
0
 +
-------------------------------
 +
-- Done.
 
-------------------------------
 
-------------------------------
 
Weyl.WNR(F1,Gens(Ideal(F2,F3)));
 
Weyl.WNR(F1,Gens(Ideal(F2,F3)));
 +
-------------------------------
 +
-- CoCoAServer: computing Cpu Time = 0
 +
-------------------------------
 
-d[1]^3d[2]^5d[3]^5 + x[2]^5
 
-d[1]^3d[2]^5d[3]^5 + x[2]^5
 +
-------------------------------
 +
-- Done.
 
-------------------------------
 
-------------------------------
 
Weyl.WNR(x[2]^5-d[1]^3,L);
 
Weyl.WNR(x[2]^5-d[1]^3,L);
 +
-------------------------------
 +
-- CoCoAServer: computing Cpu Time = 0
 +
-------------------------------
 
x[2]^5 - d[1]^3
 
x[2]^5 - d[1]^3
 +
-------------------------------
 +
-- Done.
 
-------------------------------
 
-------------------------------
 
Weyl.WNR(x[2]^5-d[1]^3d[2]^7d[3]^6,F1);
 
Weyl.WNR(x[2]^5-d[1]^3d[2]^7d[3]^6,F1);
 +
 +
-------------------------------
 +
-- CoCoAServer: computing Cpu Time = 0
 +
-------------------------------
 
-x[2]^5d[2]^2d[3] - 3x[2]^4d[2]d[3] + x[2]^5 + x[2]^3d[3]
 
-x[2]^5d[2]^2d[3] - 3x[2]^4d[2]d[3] + x[2]^5 + x[2]^3d[3]
 +
-------------------------------
 +
-- Done.
 +
-------------------------------
 +
</example>
 +
<example>
 +
Use A1::=QQ[x,d];
 +
Weyl.WNR(xd,d);
 +
 +
-- CoCoAServer: computing Cpu Time = 0
 +
-------------------------------
 +
0
 +
-------------------------------
 +
-- Done.
 +
-------------------------------
 +
Weyl.WNR(xd,x);
 +
 +
-- CoCoAServer: computing Cpu Time = 0
 +
-------------------------------
 +
-1
 +
-------------------------------
 +
-- Done.
 
-------------------------------
 
-------------------------------
 
</example>
 
</example>
Line 44: Line 85:
 
   </description>
 
   </description>
 
     <seealso>
 
     <seealso>
       <see>Weyl.WNormalForm</see>
+
       <see>ApCoCoA-1:Weyl.WNormalForm|Weyl.WNormalForm</see>
 +
      <see>ApCoCoA-1:Weyl.WNormalRemainder|Weyl.WNormalRemainder</see>
 
     </seealso>
 
     </seealso>
 
     <types>
 
     <types>
Line 51: Line 93:
 
     </types>
 
     </types>
 
     <key>weyl.wnr</key>
 
     <key>weyl.wnr</key>
     <key>wnr</key>
+
     <key>Weyl.WNR</key>
     <wiki-category>Package_weyl</wiki-category>
+
    <key>WNR</key>
 +
     <wiki-category>ApCoCoA-1:Package_weyl</wiki-category>
 
   </command>
 
   </command>

Latest revision as of 10:39, 7 October 2020

This article is about a function from ApCoCoA-1.

Weyl.WNR

Computes the normal remainder of a Weyl polynomial F with respect

to a polynomial or a list of Weyl polynomials using corresponding implementation in ApCoCoALib.

Syntax

Weyl.WNR(F:POLY,G:POLY):POLY
Weyl.WNR(F:POLY,G:LIST):POLY

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.

Computes the normal remainder of a Weyl polynomial F with respect to a polynomial G or a set of polynomials in the list G.

If G is Groebner basis then this function is used for ideal membership problem. That is, a Weyl polynomial P belongs to an ideal I iff Weyl.WNR(P,Weyl.WGB(I))=0.

  • @param F A Weyl polynomial in normal form.

  • @param G A Weyl polynomial or a list of Weyl polynomials.

  • @return The remainder as a Weyl polynomial using normal remainder algorithm in Weyl algebra A_n.

Note: All polynomials that are not in normal form should be first converted into normal form using Weyl.WNormalForm, otherwise you may get unexpected results.

Example

W3::=ZZ/(7)[x[1..3],d[1..3]];
Use W3;
F1:=-d[1]^3d[2]^5d[3]^5+x[2]^5;
F2:=-3x[2]d[2]^5d[3]^5+x[2]d[1]^3;
F3:=-2d[1]^4d[2]^5-x[1]d[2]^7+x[3]^3d[3]^5;
L:=[F1,F2,F3];
Weyl.WNR(F1,L);
-------------------------------
-- CoCoAServer: computing Cpu Time = 0
-------------------------------
0
-------------------------------
-- Done.
-------------------------------
Weyl.WNR(F1,Gens(Ideal(F2,F3)));
-------------------------------
-- CoCoAServer: computing Cpu Time = 0
-------------------------------
-d[1]^3d[2]^5d[3]^5 + x[2]^5
-------------------------------
-- Done.
-------------------------------
Weyl.WNR(x[2]^5-d[1]^3,L);
-------------------------------
-- CoCoAServer: computing Cpu Time = 0
-------------------------------
x[2]^5 - d[1]^3
-------------------------------
-- Done.
-------------------------------
Weyl.WNR(x[2]^5-d[1]^3d[2]^7d[3]^6,F1);

-------------------------------
-- CoCoAServer: computing Cpu Time = 0
-------------------------------
-x[2]^5d[2]^2d[3] - 3x[2]^4d[2]d[3] + x[2]^5 + x[2]^3d[3]
-------------------------------
-- Done.
-------------------------------

Example

Use A1::=QQ[x,d];
Weyl.WNR(xd,d);

-- CoCoAServer: computing Cpu Time = 0
-------------------------------
0
-------------------------------
-- Done.
-------------------------------
Weyl.WNR(xd,x);

-- CoCoAServer: computing Cpu Time = 0
-------------------------------
-1
-------------------------------
-- Done.
-------------------------------


See also

Weyl.WNormalForm

Weyl.WNormalRemainder