ApCoCoA-1:Weyl.WMult
From ApCoCoAWiki
Weyl.WMult
Computes the product F*G of two Weyl polynomials, F and G, in normal form using corresponding implementation in ApCoCoALib.
Syntax
Weyl.WMult(F:POLY,G:POLY):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.
Warning: For extremely large outputs, this function gets slower due to communication between ApCoCoAServer and ApCoCoA.
This method multiplies F and G and returns F*G as a Weyl polynomial in normal form.
@param F A Weyl polynomial.
@param G A Weyl polynomial.
@result The product F*G as a Weyl polynomial in normal form.
Example
Start ApCoCoA in Eclipse and enter following command. A1::=QQ[x,d]; --Define appropriate ring Use A1; F:=x; G:=d; Weyl.WMult(F,G); ------------------------------- -- CoCoAServer: computing Cpu Time = 0 ------------------------------- xd ------------------------------- -- Done. ------------------------------- Weyl.WMult(G,F); ------------------------------- -- CoCoAServer: computing Cpu Time = 0 ------------------------------- xd + 1 ------------------------------- -- Done. ------------------------------- Weyl.WMult(Weyl.WMult(G^7,F^8)-2G^11,F^13+G^12); ------------------------------- -- CoCoAServer: computing Cpu Time = 0 ------------------------------- x^21d^7 + x^8d^19 + 147x^20d^6 + 56x^7d^18 + 8820x^19d^5 - 2x^13d^11 + 1176x^6d^17 - 2d^23 + 279300x^18d^4 - 286x^12d^10 + 11760x^5d^16 + 5027400x^17d^3 - 17160x^11d^9 + 58800x^4d^15 + 51279480x^16d^2 - 566280x^10d^8 + 141120x^3d^14 + 273490560x^15d - 11325600x^9d^7 + 141120x^2d^13 + 586051200x^14 - 142702560x^8d^6 + 40320xd^12 - 1141620480x^7d^5 - 5708102400x^6d^4 - 17124307200x^5d^3 - 28540512000x^4d^2 - 22832409600x^3d - 6227020800x^2 ------------------------------- -- Done. --------------------------------- 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.WMult(F,G); ------------------------------- -- CoCoAServer: computing Cpu Time = 0 ------------------------------- 2x^4d^5 - 5x^4d^3 + 3x^3d^2 - 4x^2d^3 + 14xd^3 + 4x^2d - 35xd + 21 ------------------------------- -- Done. ------------------------------- Use A2::=QQ[x[1..2],y[1..2]]; Len(Weyl.WMult(y[1]^17y[2]^11/2+y[1]^27y[2]^27,x[1]^17x[2]^14-4x[1]^20x[2]^21+1)); -- CoCoAServer: computing Cpu Time = 0.031 ------------------------------- 1166 ------------------------------- -- Done. ------------------------------- Time Len(Weyl.WMult((y[1]^37y[2]^21/2+y[1]^27y[2]^27+2y[1]^31y[2]^31)^3,x[1]^17x[2]^14-4x[1]^20x[2]^21+x[1]^21x[2]^21)); 12160 Cpu time = 0.95, User time = 1 ------------------------------- -- Done. ------------------------------- --Note that the size of output in Weyl multiplication depends on degree of input polynomials and characteristic of the current --ring. Cpu time = 6.53, User time = 8 -------------------------------
See also