If $f$ is a graded (homogeneous) map of complexes over a ring $R$, and $d$ is a degree, this method computes the degree $d$ part of the complex map over the coefficient ring of $R$.
i1 : kk = ZZ/7
o1 = kk
o1 : QuotientRing
|
i2 : R = kk[a,b,c,d];
|
i3 : I = ideal(a*b, a*c, b*c, a*d)
o3 = ideal (a*b, a*c, b*c, a*d)
o3 : Ideal of R
|
i4 : J = I + ideal(b^3)
3
o4 = ideal (a*b, a*c, b*c, a*d, b )
o4 : Ideal of R
|
i5 : C = freeResolution I
1 4 4 1
o5 = R <-- R <-- R <-- R
0 1 2 3
o5 : Complex
|
i6 : D = freeResolution ((R^1/J) ** R^{{1}})
1 5 6 2
o6 = R <-- R <-- R <-- R
0 1 2 3
o6 : Complex
|
i7 : f = randomComplexMap(D,C, Cycle=>true)
1 1
o7 = 0 : R <--------------------- R : 0
{-1} | 3a-3c+2d |
5 4
1 : R <---------------------------------------------- R : 1
{1} | 3a+c-3d -d -3d 2c+d |
{1} | 3b+3d 3a-2b-3c -2b+3d 2b-3d |
{1} | 0 2a -2a-3c+2d 3a |
{1} | -2b-3c b+2c 3b-3c 3a-b+2d |
{2} | 0 0 0 0 |
6 4
2 : R <------------------------------------------------ R : 2
{2} | 3a+c+3d 0 -2b -2c |
{2} | 2b -2a-2b-3c+2d 3b 3c-2d |
{2} | b+c 3a-b 3a-b+c-3d -c-d |
{2} | 3b+3c -3a-2b -b+3d 3a |
{3} | 0 0 0 0 |
{3} | 0 0 0 0 |
2 1
3 : R <------------------- R : 3
{3} | 3a+c+3d |
{4} | 0 |
o7 : ComplexMap
|
i8 : g = part(2,f)
20 10
o8 = 0 : kk <------------------------------------- kk : 0
| 3 0 0 0 0 0 0 0 0 0 |
| 0 3 0 0 0 0 0 0 0 0 |
| -3 0 3 0 0 0 0 0 0 0 |
| 2 0 0 3 0 0 0 0 0 0 |
| 0 0 0 0 3 0 0 0 0 0 |
| 0 -3 0 0 0 3 0 0 0 0 |
| 0 2 0 0 0 0 3 0 0 0 |
| 0 0 -3 0 0 0 0 3 0 0 |
| 0 0 2 -3 0 0 0 0 3 0 |
| 0 0 0 2 0 0 0 0 0 3 |
| 0 0 0 0 0 0 0 0 0 0 |
| 0 0 0 0 -3 0 0 0 0 0 |
| 0 0 0 0 2 0 0 0 0 0 |
| 0 0 0 0 0 -3 0 0 0 0 |
| 0 0 0 0 0 2 -3 0 0 0 |
| 0 0 0 0 0 0 2 0 0 0 |
| 0 0 0 0 0 0 0 -3 0 0 |
| 0 0 0 0 0 0 0 2 -3 0 |
| 0 0 0 0 0 0 0 0 2 -3 |
| 0 0 0 0 0 0 0 0 0 2 |
17 4
1 : kk <------------------- kk : 1
| 3 0 0 0 |
| 0 0 0 0 |
| 1 0 0 2 |
| -3 -1 -3 1 |
| 0 3 0 0 |
| 3 -2 -2 2 |
| 0 -3 0 0 |
| 3 0 3 -3 |
| 0 2 -2 3 |
| 0 0 0 0 |
| 0 0 -3 0 |
| 0 0 2 0 |
| 0 0 0 3 |
| -2 1 3 -1 |
| -3 2 -3 0 |
| 0 0 0 2 |
| 0 0 0 0 |
o8 : ComplexMap
|
i9 : assert(part(2, HH f) == prune HH part(2, f))
|