# skewPolynomialRing -- Defines a skew polynomial ring via a skewing matrix

## Synopsis

• Usage:
B = skewPolynomialRing(R,M,L)
• Inputs:
• Outputs:

## Description

This method constructs a skew polynomial ring with coefficients in the ring R and generators from the list L. A valid input matrix is a square matrix over R with at least #L rows such that M_{ij} = M_{ji}^{(-1)} and M_{ii}=1. The relations of the resulting ring have the form g_i*g_j - M_{ij}*g_j*g_i.

 i1 : R = QQ[q]/ideal{q^4+q^3+q^2+q+1} o1 = R o1 : QuotientRing i2 : M = matrix{{1,q,q},{q^4,1,1},{q^4,1,1}} o2 = | 1 q q | | -q3-q2-q-1 1 1 | | -q3-q2-q-1 1 1 | 3 3 o2 : Matrix R <--- R i3 : B = skewPolynomialRing(R,M,{x,y,z}) Using numthreads = 0 Using GC ring in VectorArithmetic. o3 = B o3 : FreeAlgebraQuotient i4 : x*y == q^4*y*x o4 = true i5 : N = matrix{{1,1,1,1},{1,1,1,1},{1,1,1,1},{1,1,1,1}} o5 = | 1 1 1 1 | | 1 1 1 1 | | 1 1 1 1 | | 1 1 1 1 | 4 4 o5 : Matrix ZZ <--- ZZ i6 : C = skewPolynomialRing(QQ,promote(N,QQ), {a,b,c,d}) Using numthreads = 0 o6 = C o6 : FreeAlgebraQuotient i7 : isCommutative C o7 = false i8 : isCommutative B o8 = false i9 : Bop = oppositeRing B Using numthreads = 0 Using GC ring in VectorArithmetic. o9 = Bop o9 : FreeAlgebraQuotient i10 : y*x == q^4*x*y o10 = true