# NCRingMap -- Type of a map to or from a noncommutative ring.

## Description

As in the commutative case, a map F:R->S where R or S is an NCRing is specified by giving the images in S of the variables of R. The target map is given first.

Common ways to make (and use) an NCRingMap include

Common ways to get information about NCRingMaps Code UL {TO (source,NCRingMap), TO (target,NCRingMap), TO (matrix,NCRingMap), TO (isWellDefined,NCRingMap), TO (isHomogeneous,NCRingMap), TO (symbol _, NCRingMap, ZZ)} Text Common operations involving NCRingMaps Code UL {TO (ambient,NCRingMap), TO (symbol /,List,NCRingMap), TO (symbol SPACE, NCRingMap, NCRingElement), TO (symbol SPACE, NCRingMap, RingElement), TO (symbol SPACE, NCRingMap, NCMatrix), }

 i1 : A = skewPolynomialRing(QQ,(-1)_QQ,{w,x,y,z}) --Calling Bergman for NCGB calculation. Complete! o1 = A o1 : NCQuotientRing i2 : B = QQ{a,b,c} o2 = B o2 : NCPolynomialRing i3 : f = ncMap(B,A,{a^3,b^2,a+b,a-b}) o3 = NCRingMap B <--- A o3 : NCRingMap i4 : target f o4 = B o4 : NCPolynomialRing i5 : source f o5 = A o5 : NCQuotientRing i6 : matrix f o6 = | a^3 b^2 b+a -b+a | o6 : NCMatrix

Note that NCRingMaps need not be well-defined or homogeneous. Apply a function to an element or a matrix using the usual function notation. NCRingMaps are linear and multiplicative by definition.

 i7 : f(w*x+2*y) 3 2 o7 = 2b+a b +2a o7 : B i8 : isWellDefined f o8 = false i9 : isHomogeneous f o9 = false

The user has the option to define an NCRingMap to be a derivation. Of course, such a map must have the same source and target.

 i10 : g = ncMap(B,B,{a*b,b^2,c*a*c},Derivation=>true) o10 = NCRingMap B <--- B o10 : NCRingMap i11 : g(a*b)==g(a)*b+a*g(b) o11 = true i12 : g(promote(1,B)) o12 = 0 o12 : B i13 : g(c*a+2*b) 2 o13 = caca+cab+2b o13 : B

## Methods that use an object of class NCRingMap :

• ambient(NCRingMap) -- Extends an NCRingMap to the ambient ring of the source.
• "gddKernel(ZZ,NCRingMap)" -- see gddKernel -- Computes a homogeneous generating set of the kernel of a ring map.
• isHomogeneous(NCRingMap) -- Determines if an NCRingMap preserves the natural grading
• isWellDefined(NCRingMap) -- Determines if an NCRingMap is well-defined.
• "kernelComponent(ZZ,NCRingMap)" -- see kernelComponent -- Computes a basis of the kernel of a ring map in a specified degree.
• List / NCRingMap -- Applies an NCRingMap to each element of a list
• matrix(NCRingMap) -- An NCMatrix associated to an NCRingMap.
• NCRingMap + NCRingMap -- Basic operations with NCRingMaps
• "NCRingMap ^ ZZ" -- see NCRingMap + NCRingMap -- Basic operations with NCRingMaps
• "QQ * NCRingMap" -- see NCRingMap + NCRingMap -- Basic operations with NCRingMaps
• "RingElement * NCRingMap" -- see NCRingMap + NCRingMap -- Basic operations with NCRingMaps
• "ZZ * NCRingMap" -- see NCRingMap + NCRingMap -- Basic operations with NCRingMaps
• NCRingMap @@ NCRingMap -- Compose two NCRingMaps
• NCRingMap _ ZZ -- Matrix of one homogeneous component of an NCRingMap
• "NCRingMap NCGroebnerBasis" -- see NCRingMap NCIdeal -- Apply a ring map to the generators of an ideal
• NCRingMap NCIdeal -- Apply a ring map to the generators of an ideal
• "NCRingMap NCMatrix" -- see NCRingMap NCRingElement -- Apply an NCRingMap to an element or matrix
• NCRingMap NCRingElement -- Apply an NCRingMap to an element or matrix
• "NCRingMap RingElement" -- see NCRingMap NCRingElement -- Apply an NCRingMap to an element or matrix
• normalElements(NCRingMap,ZZ) -- Finds elements normalized by a ring map
• "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
• source(NCRingMap) -- Source of a map
• target(NCRingMap) -- Target of a map

## For the programmer

The object NCRingMap is a type, with ancestor classes HashTable < Thing.