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

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

- Usage:
    `leftMultiplicationMap(r,n) or leftMultiplicationMap(r,n,m) or leftMultiplicationMap(r,fromBasis,toBasis)`
- Inputs:
  - r, an instance of the type NCRingElement,
  - 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:
  - a matrix,

## Description

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

## See also

- sparseCoeffs -- Converts ring elements into vectors over the coefficient ring

## Ways to use leftMultiplicationMap:

- `leftMultiplicationMap(NCRingElement,List,List)`
- `leftMultiplicationMap(NCRingElement,ZZ)`
- `leftMultiplicationMap(NCRingElement,ZZ,ZZ)`

## For the programmer

The object leftMultiplicationMap is a method function.

The source of this document is in /build/macaulay2-88fgJW/macaulay2-1.25.11+ds/M2/Macaulay2/packages/NCAlgebra/NCAlgebraDoc.m2:2660:0.