Let R be a polynomial ring in two groups of variables R=S[X1,...,Xr] and S=k[a1,...,as]. Here, X1,...,Xr ar called 'var' and a1,...,as are called 'coefficients'. Let m be a line matrix [f1,...,fn], 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(-d1)+...+R(-dn) to R. In particular, looking on each strand d, we have a map of free S-modules of finite rank f_d: R_{d-d1}+...+R_{d-dn} -> 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 intries in S in the base of monomials.
For computing the base of monomials, it needs as a second argument the list (d1,...,dn) of the degrees of the fi's in 'var'. There is an auxiliar function computing this automatically from the list of elements fi's and the list of variables 'var' called 'sourceShifts'.
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
|