Description
Using the fact that every finitely generated projective module over a polynomial ring R is isomorphic to the kernel of some surjection between free modules, we define a surjective R-linear map from R^3 \to \ R to get a projective module.
i1 : R = QQ[x,y]
o1 = R
o1 : PolynomialRing
|
i2 : M = 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 : isUnimodular M
o3 = true
|
Let P be the stably-free (and hence projective) kernel with rank 2. Notice that the first generator is a linear combination of the other two.
i4 : P = ker M
o4 = image {3} | 0 2x+2y-4 2y2-4y |
{1} | 2xy -2x2y-2xy2+4xy-2 -2xy3+4xy2-2y |
{2} | -x-y+2 xy+y2-2x-4y+4 y3-4y2+4y+1 |
3
o4 : R-module, submodule of R
|
i5 : isProjective P
o5 = true
|
i6 : rank P
o6 = 2
|
i7 : mingens P
o7 = {3} | 0 -2x-2y+4 -2y2+4y |
{1} | 2xy 2 2y |
{2} | -x-y+2 x2+xy-2x xy2-2xy-1 |
3 3
o7 : Matrix R <-- R
|
i8 : syz mingens P
o8 = {3} | -1 |
{4} | -y2+2y |
{5} | x+y-2 |
3 1
o8 : Matrix R <-- R
|
Notice that the native command
mingens does not return a free generating set. We can use computeFreeBasis to construct a free generating set for P.
i9 : B = computeFreeBasis(P)
o9 = {3} | -2x-2y+4 -2y2+4y |
{1} | 2x2y+2xy2-4xy+2 2xy3-4xy2+2y |
{2} | -xy-y2+2x+4y-4 -y3+4y2-4y-1 |
3 2
o9 : Matrix R <-- R
|
i10 : image B == P
o10 = true
|
i11 : syz B
o11 = 0
2
o11 : Matrix R <-- 0
|