# oreExtension -- Creates an Ore extension of a noncommutative ring

## Synopsis

• Usage:
oreExtension(A,sigma,delta,x) or oreExtension(A,sigma,x)
• Inputs:
• Optional inputs:
• Degree => ..., default value 1
• Outputs:

## Description

This method calls oreIdeal and returns the associated Ore extension as an FreeAlgebraQuotient.

 i1 : B = skewPolynomialRing(QQ,(-1)_QQ,{x,y,z,w}) Using numthreads = 0 o1 = B o1 : FreeAlgebraQuotient i2 : sigma = map(B,B,{y,z,w,x}) o2 = map (B, B, {y, z, w, x}) o2 : RingMap B <--- B i3 : C = oreExtension(B,sigma,a) Using numthreads = 0 o3 = C o3 : FreeAlgebraQuotient

One may define the Weyl algebra as an Ore extension using the identity endomorphism and the usual polynomial derivative as the derivation.

 i4 : B = toFreeAlgebraQuotient(QQ[x]) o4 = B o4 : FreeAlgebra i5 : sigma = map(B,B,{x}) o5 = map (B, B, {x}) o5 : RingMap B <--- B i6 : delta = derivation(B,{1_B}) o6 = Derivation{generators => HashTable{x => 1} } homomorphism => map (B, B, {x}) imageCache => MutableHashTable{} matrix => | 1 | source => B o6 : Derivation i7 : C = oreExtension(B,sigma,delta,dx) Warning: Parallel F4 Algorithm not available over current coefficient ring. Converting to Naive algorithm. o7 = C o7 : FreeAlgebraQuotient

Of course, if one wants to perform extensive calculations with classical Weyl Algebras, one should use the WeylAlgebra option when creating a polynomial ring.

In order to get the most out of the AssociativeAlgebras package, rings often need to be graded. To obtain such a ring from this construction, the derivation must increase the degree by one.