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

From ApCoCoAWiki
m (fixed links to namespace ApCoCoA)
m (insert version info)
 
Line 1: Line 1:
   <command>
+
   {{Version|1}}
 +
<command>
 
     <title>Weyl.WMult</title>
 
     <title>Weyl.WMult</title>
 
     <short_description>Computes the product <tt>F*G</tt> of two Weyl polynomials, <tt>F</tt> and <tt>G</tt>, in normal form using corresponding implementation in ApCoCoALib.</short_description>
 
     <short_description>Computes the product <tt>F*G</tt> of two Weyl polynomials, <tt>F</tt> and <tt>G</tt>, in normal form using corresponding implementation in ApCoCoALib.</short_description>

Latest revision as of 10:39, 7 October 2020

This article is about a function from ApCoCoA-1.

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

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

Weyl.WNormalForm

Weyl.WMul

Weyl.WeylMul