The function monoid is called whenever a polynomial ring is created, see Ring Array. Some of the options provided when making a monoid don't take effect until the monoid is made into a polynomial ring.
Let's make a free ordered commutative monoid on the variables
a,b,c, with degrees 2, 3, and 4, respectively.
i1 : M = monoid [a,b,c,Degrees=>{2,3,4}]
o1 = M
o1 : GeneralOrderedMonoid
|
i2 : degrees M
o2 = {{2}, {3}, {4}}
o2 : List
|
i3 : M_0 * M_1^6
6
o3 = a*b
o3 : M
|
Use
use to arrange for the variables to be assigned their values in the monoid.
i4 : a
o4 = a
o4 : M
|
i5 : use M
o5 = M
o5 : GeneralOrderedMonoid
|
i6 : a * b^6
6
o6 = a*b
o6 : M
|
The options used when the monoid was created can be recovered with
options.
i7 : options M
o7 = OptionTable{Adjust => identity }
DegreeRank => 1
Degrees => {{2}, {3}, {4}}
Global => true
Heft =>
Inverses => false
MonomialOrder => {GRevLex => {2, 3, 4}, Position => Up}
MonomialSize => 32
Repair => identity
SkewCommutative => {}
VariableBaseName =>
Variables => {a, b, c}
Weights => {}
WeylAlgebra => {}
o7 : OptionTable
|
The variables listed may be symbols or indexed variables. The values assigned to these variables are the corresponding monoid generators. The function
baseName may be used to recover the original symbol or indexed variable.
The Adjust and Repair options are used in particular by Ext(Module,Module).
i8 : R = ZZ[x,y, Degrees => {-1,-2}, Repair => d -> -d, Adjust => d -> -d]
o8 = R
o8 : PolynomialRing
|
i9 : degree \ gens R
o9 = {{-1}, {-2}}
o9 : List
|
i10 : transpose vars R
o10 = {1} | x |
{2} | y |
2 1
o10 : Matrix R <--- R
|
In this example we make a Weyl algebra.
i11 : R = ZZ/101[x,dx,y,dy,WeylAlgebra => {x=>dx, y=>dy}]
o11 = R
o11 : PolynomialRing
|
i12 : dx*x
o12 = x*dx + 1
o12 : R
|
i13 : dx*x^10
10 9
o13 = x dx + 10x
o13 : R
|
i14 : dx*y^10
10
o14 = dx*y
o14 : R
|
In this example we make a skew commutative ring.
i15 : R = ZZ[x,y,z,SkewCommutative=>{x,y}]
o15 = R
o15 : PolynomialRing
|
i16 : x*y
o16 = x*y
o16 : R
|
i17 : y*x
o17 = -x*y
o17 : R
|
i18 : x*z-z*x
o18 = 0
o18 : R
|
Synopsis
-
- Inputs:
- Outputs:
- the monoid of monomials in the polynomial ring R
If R is a quotient ring of a polynomial ring S, then the monoid of S is returned.
i19 : R = QQ[a..d, Weights=>{1,2,3,4}]
o19 = R
o19 : PolynomialRing
|
i20 : monoid R
o20 = [a, b, c, d]
o20 : GeneralOrderedMonoid
|