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

leftMultiplicationMap -- Computes a matrix for left or right multiplication by a homogeneous element

Synopsis

Description

These methods return a matrix over the coefficient ring of the noncommutative ring 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 ncBasis(ZZ,Ring).

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 coefficients and the toBasis.

i1 : B = threeDimSklyanin(QQ,{1,1,-1},{x,y,z})
Warning:  F4 Algorithm not available over current coefficient ring or inhomogeneous ideal.
Converting to Naive algorithm.

o1 = B

o1 : FreeAlgebraQuotient
i2 : L = leftMultiplicationMap(x,2)

o2 = | 0  1 0  1  0  0 |
     | 0  0 -1 0  1  0 |
     | 0  0 1  0  0  0 |
     | -1 0 0  0  0  0 |
     | 0  0 0  0  1  0 |
     | -1 0 0  0  0  0 |
     | 0  0 0  -1 0  0 |
     | 1  0 0  0  0  1 |
     | 0  0 0  -1 0  0 |
     | 0  0 1  0  -1 0 |

              10       6
o2 : Matrix QQ   <-- QQ
i3 : kernel L

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 : FreeAlgebra
i6 : D = C/ideal{x^2+x*y,y^2}
Warning:  F4 Algorithm not available over current coefficient ring or inhomogeneous ideal.
Converting to Naive algorithm.

o6 = D

o6 : FreeAlgebraQuotient
i7 : isRightRegular(x,1)

o7 = false
i8 : L = leftMultiplicationMap(x,1)

o8 = | -1 1 |
     | 0  0 |

              2       2
o8 : Matrix QQ  <-- QQ
i9 : M=matrix gens kernel L

o9 = | 1 |
     | 1 |

              2       1
o9 : Matrix QQ  <-- QQ
i10 : ncBasis(1,D)*M

o10 = | x+y |

              1      1
o10 : Matrix D  <-- D

Ways to use leftMultiplicationMap :

For the programmer

The object leftMultiplicationMap is a method function.