# degHomPolMap -- return the base of monomials in a subset of variables, and the matrix of coefficients of a morphism of free modules f:R(d1)+...+R(dn)->R_d with respect to these variables

## Synopsis

• Usage:
coefAndMonomials = degHomPolMap(r, l, v, d)
• Inputs:
• r, , single row matrix with polynomials $f_1,...,f_n$
• l, a list, list {d1,...,dn} of degrees corresponding to the degrees of $f_1,...,f_n$
• v, a list, list of variables of the polynomial ring R with respect to which the polynomials fi's are homogeneous of degree 'di' (to take into account for elimination)
• d, an integer, the degree in 'var' of the homogeneous strand of the map f (i.e.: R_d)
• Outputs:
• List, a list, a list {monomials, coefficients} of the coefficients and monomials of the morphism f

## Description

Let R be a polynomial ring in two groups of variables $R=S[X_1,...,X_r]$ and $S=k[a_1,...,a_s]$. Here, $X_1,...,X_r$ are called v and $a_1,...,a_s$ are called 'coefficients'. Let m be a line matrix $f_1,...,f_n$, where fi is an element of R which is homogeneous as a polynomial in the variables 'var', of degree $di$ for all i in 'var'. The matrix 'm' defines a graded map of R-modules (of degree 0 in 'var') from $R(-d_1)+...+R(-d_n)$ to R. In particular, looking on each strand d, we have a map of free S-modules of finite rank $f_d: R_{d-d_1}+...+R_{d-d_n} -> R_d$ where $R_d$ is the homogeneous part of degree d in 'var' of R.

This function returns a sequence with two elements: first the list of monomials of degree d in 'var'; Second, the matrix f_d with entries in S in the base of monomials.

For computing the base of monomials, it needs as a second argument the list $d_1,...,d_n$ of the degrees of the fi's in v. There is an auxiliary function computing this automatically from the list of elements fi's and the list of variables v called l.

 i1 : R=QQ[a,b,c,x,y] o1 = R o1 : PolynomialRing i2 : f1 = a*x^2+b*x*y+c*y^2 2 2 o2 = a*x + b*x*y + c*y o2 : R i3 : f2 = 2*a*x+b*y o3 = 2a*x + b*y o3 : R i4 : M = matrix{{f1,f2}} o4 = | ax2+bxy+cy2 2ax+by | 1 2 o4 : Matrix R <--- R i5 : l = {x,y} o5 = {x, y} o5 : List i6 : dHPM = degHomPolMap (M,l,2) o6 = (| x2 xy y2 |, {2} | a 2a 0 |) {2} | b b 2a | {2} | c 0 b | o6 : Sequence i7 : dHPM = degHomPolMap (M,{2,1},l,2) o7 = (| x2 xy y2 |, {2} | a 2a 0 |) {2} | b b 2a | {2} | c 0 b | o7 : Sequence
 i8 : R=QQ[a,b,c,d,e,f,g,h,i,x,y,z] o8 = R o8 : PolynomialRing i9 : f1 = a*x+b*y+c*z o9 = a*x + b*y + c*z o9 : R i10 : f2 = d*x+e*y+f*z o10 = d*x + e*y + f*z o10 : R i11 : f3 = g*x+h*y+i*z o11 = g*x + h*y + i*z o11 : R i12 : M = matrix{{f1,f2,f3}} o12 = | ax+by+cz dx+ey+fz gx+hy+iz | 1 3 o12 : Matrix R <--- R i13 : l = {x,y,z} o13 = {x, y, z} o13 : List i14 : dHPM = degHomPolMap (M,l,1) o14 = (| x y z |, {1} | a d g |) {1} | b e h | {1} | c f i | o14 : Sequence i15 : dHPM = degHomPolMap (M,{1,1,1},l,1) o15 = (| x y z |, {1} | a d g |) {1} | b e h | {1} | c f i | o15 : Sequence

• detComplex -- This function calculates the determinant of a graded ChainComplex with respect to a subset of the variables of the polynomial ring in a fixed degree.
• listDetComplex -- This function calculates the list with the determinants of some minors of the maps of a graded ChainComplex with respect to a subset of the variables of the polynomial ring in a fixed degree.
• minorsComplex -- calculate some minors of the maps of a graded ChainComplex in a subset of variables and fixed degree
• mapsComplex -- This function calculates the maps of a graded ChainComplex with respect to a subset of the variables of the polynomial ring in a fixed degree.
• coefficients -- monomials and their coefficients

## Ways to use degHomPolMap :

• "degHomPolMap(Matrix,List,List,ZZ)"
• "degHomPolMap(Matrix,List,ZZ)"

## For the programmer

The object degHomPolMap is .