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

## Synopsis

• Usage:
leftMultiplicationMap(r,n) or leftMultiplicationMap(r,n,m) or leftMultiplicationMap(r,fromBasis,toBasis)
• Inputs:
• r, ,
• n, an integer, the homogeneous degree for the source of the map
• m, an integer, the homogeneous degree for the target of the map
• fromBasis, a list, a list of monomials of the same homogeneous degree
• toBasis, a list, a list of monomials of homogeneous degree deg(r) larger than the degree of the toBasis
• Outputs:
• ,

## 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}) Using numthreads = 0 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} Using numthreads = 0 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 :

• "leftMultiplicationMap(RingElement,List,List)"
• "leftMultiplicationMap(RingElement,ZZ)"
• "leftMultiplicationMap(RingElement,ZZ,ZZ)"

## For the programmer

The object leftMultiplicationMap is .