next | previous | forward | backward | up | top | index | toc | Macaulay2 website
NCAlgebra :: NCRingMap

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


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.

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)

o13 = caca+cab+2b

o13 : B

Methods that use an object of class NCRingMap :

For the programmer

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