These methods return a matrix over the coefficient ring of the NCRing to which r belongs. The matrix represents left or right multiplication by r. Most commonly, the user will enter the ring element (required to be homogeneous) and a degree n. The result is the matrix of the map A_n -> A_n+d where d is the degree of r. The matrix is computed relative to the monomial basis obtain using basis(ZZ,NCRing).
Alternatively, the user can enter sets of independent monomials to serve as a basis for the domain and co-domain of the maps. The method left or right multiplies r by the fromBasis and converts to coordinates via sparseCoeffs and the toBasis.
i1 : B = threeDimSklyanin(QQ,{1,1,-1},{x,y,z})
--Calling Bergman for NCGB calculation.
Complete!
o1 = B
o1 : NCQuotientRing
|
i2 : leftMultiplicationMap(x,2)
o2 = | 1 0 0 0 0 0 |
| 0 1 0 0 0 0 |
| 0 0 1 0 0 0 |
| 0 0 0 0 0 0 |
| 0 0 0 1 0 0 |
| 0 0 0 0 0 0 |
| 0 0 0 0 1 0 |
| 0 0 0 0 0 0 |
| 0 0 0 0 0 1 |
| 0 0 0 0 0 0 |
10 6
o2 : Matrix QQ <--- QQ
|
i3 : kernel oo
o3 = image 0
6
o3 : QQ-module, submodule of QQ
|
i4 : isRightRegular(x,2) o4 = true |
If the element is not regular, you can use these methods to compute the annihilators in particular degrees.
i5 : C = QQ{x,y}
o5 = C
o5 : NCPolynomialRing
|
i6 : D = C/ncIdeal{x^2+x*y,y^2}
--Calling Bergman for NCGB calculation.
Complete!
o6 = D
o6 : NCQuotientRing
|
i7 : isRightRegular(x,1) o7 = false |
i8 : leftMultiplicationMap(x,1)
o8 = | 1 -1 |
| 0 0 |
2 2
o8 : Matrix QQ <--- QQ
|
i9 : M=matrix gens kernel oo
o9 = | 1 |
| 1 |
2 1
o9 : Matrix QQ <--- QQ
|
i10 : basis(1,D)*M o10 = | y+x | o10 : NCMatrix |
The object leftMultiplicationMap is a method function.