Description
i1 : R = QQ[x,y,z,Degrees=>{2,3,1}]/(y^2-x^3)
o1 = R
o1 : QuotientRing
|
i2 : H = Hom(ideal(x,y), R^1)
o2 = image {-2} | x y |
{-3} | y x2 |
2
o2 : R-module, submodule of R
|
i3 : f = H_{1}
o3 = {0} | 0 |
{1} | 1 |
o3 : Matrix
|
i4 : g = homomorphism f
o4 = | y x2 |
o4 : Matrix
|
The source and target are what they should be.
i5 : source g === module ideal(x,y)
o5 = true
|
i6 : target g === R^1
o6 = true
|
Except for a possible redistribution of degrees between the map and modules, we can undo the process with homomorphism'.
i7 : f' = homomorphism' g
o7 = {0} | 0 |
{1} | 1 |
o7 : Matrix
|
i8 : f === f'
o8 = false
|
i9 : f - f'
o9 = 0
o9 : Matrix
|
i10 : degree f, degree f'
o10 = ({0}, {1})
o10 : Sequence
|
i11 : degrees f, degrees f'
o11 = ({{{0}, {1}}, {{1}}}, {{{0}, {1}}, {{0}}})
o11 : Sequence
|
After pruning a Hom module, one cannot use homomorphism directly. Instead, first apply the pruning map:
i12 : H1 = prune H
o12 = cokernel {0} | y x2 |
{1} | -x -y |
2
o12 : R-module, quotient of R
|
i13 : homomorphism(H1.cache.pruningMap * H1_{1})
o13 = | y x2 |
o13 : Matrix
|