next | previous | forward | backward | up | top | index | toc | Macaulay2 website
QuillenSuslin :: isProjective

isProjective -- determines if a given module is projective with constant rank over a Noetherian ring



This method determines if the given R-module is projective with constant rank by considering the ideal of minors of its presentation matrix. In particular, if \phi is the presentation matrix of the module M, let I_t(\phi) be the ideal in R generated by the t \times\ t minors of \phi. If there exists an r such that I_r(\phi) = R and I_{r+1}(\phi) = 0, then we know that M is necessarily projective of constant rank (see Proposition 1.4.10 of Bruns-Herzog below). The method isProjective calls on maxMinors to compute the ideal of minors I_r(\phi) such that I_r(\phi) \neq 0 and I_{r+1}(\phi) = 0. If I_r(\phi) is the whole ring, then the module M is projective with constant rank.


i1 : R = QQ[x,y,z]

o1 = R

o1 : PolynomialRing
i2 : P = matrix{{x^2*y+1,x+y-2,2*x*y}}

o2 = | x2y+1 x+y-2 2xy |

             1       3
o2 : Matrix R  <--- R
i3 : isProjective ker P

o3 = true
i4 : M = matrix{{-y,-z^2,0},{x,0,-z^2},{0,x^2,x*y}}

o4 = | -y -z2 0   |
     | x  0   -z2 |
     | 0  x2  xy  |

             3       3
o4 : Matrix R  <--- R
i5 : isProjective cokernel M

o5 = false
i6 : I = ideal(x^2,x*y,z^2)

             2        2
o6 = ideal (x , x*y, z )

o6 : Ideal of R
i7 : isProjective module I

o7 = false
i8 : isProjective R^3

o8 = true
i9 : isProjective module ideal x

o9 = true


If the method outputs false, this only implies the module in question is not projective with constant rank. However, if the ring is a domain, then all finitely generated projective modules have constant rank. In this scenario, isProjective outputs true if and only if the module is projective.

See also

Ways to use isProjective :

For the programmer

The object isProjective is a method function.