Macaulay2 » Documentation
Packages » AssociativeAlgebras :: oreExtension
next | previous | forward | backward | up | index | toc

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

- Usage:
    `oreExtension(A,sigma,delta,x) or oreExtension(A,sigma,x)`
- Inputs:
  - A, a ring,
  - sigma, a ring map,
  - delta, an instance of the type Derivation,
  - x, a ring element, or a Symbol
- Optional inputs:
  - Degree => ..., default value 1
- Outputs:
  - a quotient ring,

## Description

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

    i1 : B = skewPolynomialRing(QQ,(-1)_QQ,{x,y,z,w})

    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)
    Warning:  F4 Algorithm not available over current coefficient ring or inhomogeneous ideal.
    Converting to Naive algorithm.

    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:  F4 Algorithm not available over current coefficient ring or inhomogeneous ideal.
    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.

## See also

- oreIdeal -- Creates the defining ideal of an Ore extension of a noncommutative ring

## Ways to use oreExtension:

- `oreExtension(Ring,RingMap,Derivation,RingElement)`
- `oreExtension(Ring,RingMap,Derivation,Symbol)`
- `oreExtension(Ring,RingMap,RingElement)`
- `oreExtension(Ring,RingMap,Symbol)`

## For the programmer

The object oreExtension is a method function with options.

The source of this document is in /build/macaulay2-88fgJW/macaulay2-1.25.11+ds/M2/Macaulay2/packages/AssociativeAlgebras/doc.m2:729:0.