# Difference between revisions of "ApCoCoA-1:Weyl.WSPoly"

## Weyl.WSPoly

Computes S-polynomial

### Syntax

```Weyl.WSPoly(F:POLY,G:POLY):POLY
```

### Description

computes S-polynomial of F and G

F: a Weyl polynomial in normal form.

G: a Weyl polynomial in normal form.

Output is an S-polynomial of F and G.

#### 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;
Weyl.WSPoly(F1,F2);
x[2]d[1]^6 - 3x[2]^6
-------------------------------
Weyl.WSPoly(F2,F3);
-3x[1]x[2]d[2]^7d[3]^5 + 3x[2]x[3]^3d[3]^10 + 3x[2]x[3]^2d[3]^9 - 2x[2]x[3]d[3]^8 - 2x[2]d[1]^7 - 2x[2]d[3]^7
-------------------------------
Weyl.WSPoly(F1,F3);
-x[1]d[2]^7d[3]^5 + x[3]^3d[3]^10 + x[3]^2d[3]^9 - 3x[3]d[3]^8 - 3d[3]^7 - 2x[2]^5d[1]
-------------------------------
Weyl.WSPoly(F3,F1);
x[1]d[2]^7d[3]^5 - x[3]^3d[3]^10 - x[3]^2d[3]^9 + 3x[3]d[3]^8 + 3d[3]^7 + 2x[2]^5d[1]
-------------------------------
```

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