Macaulay2 » Documentation
Packages » NoetherianOperators :: pairingMatrix
next | previous | forward | backward | up | index | toc

# pairingMatrix -- Applies dual space functionals to polynomials

- Usage:
    `M = pairingMatrix(S, D)`
- Inputs:
  - S, an instance of the type PolySpace,
  - D, an instance of the type DualSpace,
- Outputs:
  - M, a matrix, containing the values of the generators of D applied to the generators of S

## Description

The dual space represents functionals from the polynomial ring to the base field. Given a polySpace S with n generators f_1,...,f_n and a dualSpace D with m generators p_1,...,p_m, pairingMatrix returns a nxm matrix M over the base field whose entries are p_j(f_i).

A dual functional is applied to a polynomial by taking the standard pairing of their coefficient vectors. In other words, the functional represented by the monomial a acts on monomials in the polynomial ring as a(a) = 1 and a(b) = 0 for all other monomials b.

    i1 : R = CC[x,y];

    i2 : S = polySpace matrix{{x+y,2*x+y^2}};

    i3 : D = dualSpace(matrix{{1,x,y}}, origin R);

    i4 : M = pairingMatrix(S, D)

    o4 = {-1} | 0 1 1 |
         {-2} | 0 2 0 |

                 2      3
    o4 : Matrix R  <-- R

The function pairingMatrix can also be called with one or both inputs a ring element. If both arguments are single elements, the output is also a ring element rather than a matrix.

    i5 : pairingMatrix(S, 1+x)

    o5 = {-1} | 1 |
         {-2} | 2 |

                 2      1
    o5 : Matrix R  <-- R

    i6 : pairingMatrix(x, D)

    o6 = {-1} | 0 1 0 |

                 1      3
    o6 : Matrix R  <-- R

    i7 : pairingMatrix(x, 1+x)

    o7 = 1

    o7 : R

## Ways to use pairingMatrix:

- `pairingMatrix(PolySpace,DualSpace)`
- `pairingMatrix(PolySpace,PolySpace)`
- `pairingMatrix(PolySpace,RingElement)`
- `pairingMatrix(RingElement,DualSpace)`
- `pairingMatrix(RingElement,RingElement)`

## For the programmer

The object pairingMatrix is a method function.

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