next | previous | forward | backward | up | top | index | toc | Macaulay2 web site
eliminationMatrices :: detComplex

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.

Synopsis

Description

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. It corresponds to the alternate product of the elements in the list listDetComplex

The input ChainComplex needs to be an exact complex of free modules over a polynomial ring. The polynomial ring must contain the list v as variables.

It is recommended not to defines rings as R=QQ[x,y][a,b,c] when the variables to eliminate are '{x,y}'. In this case, see flattenRing for passing from R=QQ[x,y][a,b,c] to QQ[x,y,a,b,c].

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 = detComplex (2,l,koszul M)

          2     2
o6 = - a*b  + 4a c

o6 : frac(R)
i7 : dHPM = detComplex (3,l,koszul M)

          2     2
o7 = - a*b  + 4a c

o7 : frac(R)
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 = detComplex (1,l,koszul M)

o14 = - c*e*g + b*f*g + c*d*h - a*f*h - b*d*i + a*e*i

o14 : frac(R)
i15 : dHPM = detComplex (2,l,koszul M)

o15 = - c*e*g + b*f*g + c*d*h - a*f*h - b*d*i + a*e*i

o15 : frac(R)
i16 : dHPM = detComplex (1,l,koszul M, Strategy => Exact)

o16 = - c*e*g + b*f*g + c*d*h - a*f*h - b*d*i + a*e*i

o16 : frac(R)
i17 : dHPM = detComplex (1,l,koszul M, Strategy => Numeric)

o17 = - c*e*g + b*f*g + c*d*h - a*f*h - b*d*i + a*e*i

o17 : frac(R)

See also

Ways to use detComplex :