# skewPolynomialRing(Ring,RingElement,List) -- Defines a skew polynomial ring via a scaling factor

## Synopsis

• Function: skewPolynomialRing
• Usage:
skewPolynomialRing(R,f,L)
• Inputs:
• R, a ring,
• f, , or an integer or a rational number
• L, a list,
• Outputs:

## Description

This method constructs a skew polynomial ring with coefficient ring R and generators elements of L. The relations all have the form a*b - f*b*a where a and b are in L. If R is a Bergman coefficient ring, an NCGroebnerBasis is computed for B.

 i1 : R = QQ[q]/ideal{q^4+q^3+q^2+q+1} o1 = R o1 : QuotientRing i2 : A = skewPolynomialRing(R,promote(2,R),{x,y,z,w}) Using numthreads = 0 Using GC ring in VectorArithmetic. o2 = A o2 : FreeAlgebraQuotient i3 : x*y == 2*y*x o3 = true i4 : B = skewPolynomialRing(R,q,{x,y,z,w}) Using numthreads = 0 Using GC ring in VectorArithmetic. o4 = B o4 : FreeAlgebraQuotient i5 : x*y == q*y*x o5 = true i6 : Bop = oppositeRing B Using numthreads = 0 Using GC ring in VectorArithmetic. o6 = Bop o6 : FreeAlgebraQuotient i7 : y*x == q*x*y o7 = true i8 : C = skewPolynomialRing(QQ,2_QQ, {x,y,z,w}) Using numthreads = 0 o8 = C o8 : FreeAlgebraQuotient i9 : x*y == 2*y*x o9 = true i10 : D = skewPolynomialRing(QQ,1_QQ, {x,y,z,w}) Using numthreads = 0 o10 = D o10 : FreeAlgebraQuotient i11 : isCommutative C o11 = false i12 : isCommutative D o12 = false i13 : Cop = oppositeRing C Using numthreads = 0 o13 = Cop o13 : FreeAlgebraQuotient i14 : y*x == 2*x*y o14 = true