Macaulay2 » Documentation
Packages » NCAlgebra :: NCRing
next | previous | forward | backward | up | index | toc

NCRing -- Type of a noncommutative ring

Description

All noncommutative rings have this as an ancestor type. It is the parent of the types NCPolynomialRing and NCQuotientRing.

In addition to defining a ring as a quotient of a NCPolynomialRing, some common ways to create NCRings include skewPolynomialRing, endomorphismRing, and oreExtension.

Let's consider a three dimensional Sklyanin algebra. We first define the tensor algebra:

i1 : A = QQ{x,y,z}

o1 = A

o1 : NCPolynomialRing

Then input the defining relations, and put them in an ideal:

i2 : f = y*z + z*y - x^2

            2
o2 = zy+yz-x

o2 : A
i3 : g = x*z + z*x - y^2

         2
o3 = zx-y +xz

o3 : A
i4 : h = z^2 - x*y - y*x

      2
o4 = z -yx-xy

o4 : A
i5 : I=ncIdeal{f,g,h}

                             2      2      2
o5 = Two-sided ideal {zy+yz-x , zx-y +xz, z -yx-xy}

o5 : NCIdeal

Next, define the quotient ring (as well as try a few functions on this new ring). Note that when the quotient ring is defined, a call is made to Bergman to compute the Groebner basis of I (out to a certain degree, should the Groebner basis be infinite).

i6 : B=A/I
--Calling Bergman for NCGB calculation.
Complete!

o6 = B

o6 : NCQuotientRing
i7 : generators B

o7 = {x, y, z}

o7 : List
i8 : numgens B

o8 = 3
i9 : isCommutative B

o9 = false
i10 : coefficientRing B

o10 = QQ

o10 : Ring

As we can see, x is an element of B.

i11 : x

o11 = x

o11 : B

If we define a new ring containing x, x is now part of that new ring

i12 : C = skewPolynomialRing(QQ,(-1)_QQ,{x,y,z,w})
--Calling Bergman for NCGB calculation.
Complete!

o12 = C

o12 : NCQuotientRing
i13 : x

o13 = x

o13 : C

We can 'go back' to B using the command use(NCRing).

i14 : use B

o14 = B

o14 : NCQuotientRing
i15 : x

o15 = x

o15 : B
i16 : use C

o16 = C

o16 : NCQuotientRing

We can also create an Ore extension. First define a NCRingMap with ncMap.

i17 : sigma = ncMap(C,C,{y,z,w,x})

o17 = NCRingMap C <--- C

o17 : NCRingMap

Then call the command oreExtension.

i18 : D = oreExtension(C,sigma,a)
--Calling Bergman for NCGB calculation.
Complete!

o18 = D

o18 : NCQuotientRing
i19 : generators D

o19 = {x, y, z, w, a}

o19 : List
i20 : numgens D

o20 = 5

See also

Types of NCRing:

Functions and methods returning an object of class NCRing:

Methods that use an object of class NCRing:

  • basis(ZZ,NCRing) -- Returns a basis of an NCRing in a particular degree.
  • centralElements(NCRing,ZZ) -- see centralElements -- Finds central elements in a given degree
  • coefficientRing(NCRing) -- Returns the base ring of an NCRing
  • envelopingAlgebra(NCRing,Symbol) -- see envelopingAlgebra -- Create the enveloping algebra
  • freeProduct(NCRing,NCRing) -- see freeProduct -- Define the free product of two algebras
  • generators(NCRing) -- The list of algebra generators of an NCRing
  • hilbertSeries(NCRing) -- Computes the Hilbert series of an NCRing
  • isCommutative(NCRing) -- Returns whether an NCRing is commutative
  • isExterior(NCRing) -- see isCommutative(NCRing) -- Returns whether an NCRing is commutative
  • isHomogeneous(NCRing) -- see isHomogeneous(NCIdeal) -- Determines whether the input defines a homogeneous object
  • ncMap(NCRing,NCRing,List) -- see ncMap -- Make a map to or from an NCRing
  • ncMap(NCRing,Ring,List) -- see ncMap -- Make a map to or from an NCRing
  • ncMap(Ring,NCRing,List) -- see ncMap -- Make a map to or from an NCRing
  • ncMatrix(NCRing,List,List) -- see ncMatrix -- Create an NCMatrix
  • numgens(NCRing) -- The number of algebra generators of an NCRing
  • oppositeRing(NCRing) -- see oppositeRing -- Creates the opposite ring of a noncommutative ring
  • oreExtension(NCRing,NCRingMap,NCRingElement) -- see oreExtension -- Creates an Ore extension of a noncommutative ring
  • oreExtension(NCRing,NCRingMap,NCRingMap,NCRingElement) -- see oreExtension -- Creates an Ore extension of a noncommutative ring
  • oreExtension(NCRing,NCRingMap,NCRingMap,Symbol) -- see oreExtension -- Creates an Ore extension of a noncommutative ring
  • oreExtension(NCRing,NCRingMap,Symbol) -- see oreExtension -- Creates an Ore extension of a noncommutative ring
  • oreIdeal(NCRing,NCRingMap,NCRingElement) -- see oreIdeal -- Creates the defining ideal of an Ore extension of a noncommutative ring
  • oreIdeal(NCRing,NCRingMap,NCRingMap,NCRingElement) -- see oreIdeal -- Creates the defining ideal of an Ore extension of a noncommutative ring
  • oreIdeal(NCRing,NCRingMap,NCRingMap,Symbol) -- see oreIdeal -- Creates the defining ideal of an Ore extension of a noncommutative ring
  • oreIdeal(NCRing,NCRingMap,Symbol) -- see oreIdeal -- Creates the defining ideal of an Ore extension of a noncommutative ring
  • NCRing ** NCRing -- see qTensorProduct -- Define the (q-)commuting tensor product
  • qTensorProduct(NCRing,NCRing,QQ) -- see qTensorProduct -- Define the (q-)commuting tensor product
  • qTensorProduct(NCRing,NCRing,RingElement) -- see qTensorProduct -- Define the (q-)commuting tensor product
  • qTensorProduct(NCRing,NCRing,ZZ) -- see qTensorProduct -- Define the (q-)commuting tensor product
  • setWeights(NCRing,List) -- see setWeights -- Set a nonstandard grading for a NCRing.
  • toM2Ring(NCRing) -- see toM2Ring -- Compute the abelianization of an NCRing and returns a Ring.
  • use(NCRing) -- Brings the variables of a particular NCRing in scope

For the programmer

The object NCRing is a type, with ancestor classes Ring < Type < MutableHashTable < HashTable < Thing.


The source of this document is in NCAlgebra/NCAlgebraDoc.m2:111:0.