ApCoCoA-1:Weyl.WMul

From ApCoCoAWiki
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
This article is about a function from ApCoCoA-1.

Weyl.WMul

Computes the product F*G of Weyl polynomial F and G in normal form.

Syntax

Weyl.WMul(F:POLY,G:POLY):POLY

Description

This method multiplies two Weyl polynomials F and G and returns F*G as a Weyl polynomial in normal form.

  • @param F A Weyl polynomial.

  • @param G A Weyl polynomial.

  • @return The product F*G in normal form.

Example

A1::=QQ[x,d];	-- Define appropriate ring
Use A1;
F:=x; G:=d;
Weyl.WMul(F,G);
xd
-------------------------------
Weyl.WeylMul(G,F);
xd + 1
-------------------------------
Weyl.WMul(Weyl.WMul(G,F)-2G,F^3+G);
x^4d - 2x^3d + 4x^3 + xd^2 - 6x^2 - 2d^2 + d
-------------------------------
-- If you want to multiply Weyl polynomials that are not in normal form say for example F=d^2x^3-2dx^2+7 and G=2d^3x-5xd+3, then 
-- first convert them into normal form before multiplication.
-------------------------------
F:=Weyl.WNormalForm([[d^2,x^3],[-2d,x^2],[7]]);
F;
x^3d^2 + 4x^2d + 2x + 7
-------------------------------
G:=Weyl.WNormalForm([[2d^3,x],[-5x,d],[3]]);
G;
2xd^3 - 5xd + 6d^2 + 3
-------------------------------
Weyl.WMul(F,G);
2x^4d^5 - 5x^4d^3 + 18x^3d^4 - 27x^3d^2 + 36x^2d^3 + 14xd^3 - 18x^2d + 12xd^2 - 35xd + 42d^2 + 6x + 21
-------------------------------
Weyl.WMul(G,F);
2x^4d^5 - 5x^4d^3 + 32x^3d^4 - 32x^3d^2 + 148x^2d^3 + 14xd^3 - 38x^2d + 216xd^2 - 35xd + 42d^2 - 4x + 72d + 21
-------------------------------
Weyl.WMul(Weyl.WNormalForm([[d^2,x^3],[-2d,x^2],[7]]),Weyl.WNormalForm([[2d^3,x],[-5x,d],[3]]));
2x^4d^5 - 5x^4d^3 + 18x^3d^4 - 27x^3d^2 + 36x^2d^3 + 14xd^3 - 18x^2d + 12xd^2 - 35xd + 42d^2 + 6x + 21
-------------------------------

Example

A2::=ZZ/(101)[x[1..2],y[1..2]];
Use A2;
Weyl.WMul(x[1]^11,y[1]^11);
x[1]^11y[1]^11
-------------------------------
Weyl.WMul(y[1]^11,x[1]^11);
x[1]^11y[1]^11 + 20x[1]^10y[1]^10 - 10x[1]^9y[1]^9 + 33x[1]^8y[1]^8 + 23x[1]^7y[1]^7 - 17x[1]^6y[1]^6 - x[1]^5y[1]^5 - 
18x[1]^4y[1]^4 - 36x[1]^3y[1]^3 - 36x[1]^2y[1]^2 + 26x[1]y[1] - 16

-------------------------------
Weyl.WMul(y[1]^21,x[1]^21);
x[1]^21y[1]^21 + 37x[1]^20y[1]^20 + 27x[1]^19y[1]^19 + 17x[1]^18y[1]^18 - 37x[1]^17y[1]^17 + 43x[1]^16y[1]^16 - 17x[1]^15y[1]^15 - 
27x[1]^14y[1]^14 - 5x[1]^13y[1]^13 - 49x[1]^12y[1]^12 - 39x[1]^11y[1]^11 - 25x[1]^10y[1]^10 - 40x[1]^9y[1]^9 + 46x[1]^8y[1]^8 - 
35x[1]^7y[1]^7 - 47x[1]^6y[1]^6 - 30x[1]^5y[1]^5 + 45x[1]^4y[1]^4 + 40x[1]^3y[1]^3 + 3x[1]^2y[1]^2 + 41x[1]y[1] + 26

-------------------------------
--this computation is too slow with Weyl.WeylMul(F,G)

See also

Weyl.WNormalForm