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

From ApCoCoAWiki
m (Bot: Category moved)
Line 94: Line 94:
 
     <key>Weyl.WNR</key>
 
     <key>Weyl.WNR</key>
 
     <key>WNR</key>
 
     <key>WNR</key>
     <wiki-category>Package_weyl</wiki-category>
+
     <wiki-category>ApCoCoA-1:Package_weyl</wiki-category>
 
   </command>
 
   </command>

Revision as of 16:42, 2 October 2020

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