The free modules that are the sources and targets of the matrices defined in the EagonData eagon(R,b) generally have many components. These can be analyzed with the functions picture, and mapComponent. Each summand of one of these free modules has a label of the form (i, {u_1..u_s}) representing the tensor product K_i ** X_{u_1}**..**X_{u_s}, where 0\leq i \leq numvars R and 1\leq u_t \leq projective dimension R. Thus a block is identified by a pair of such symbols, representing source and target.
Display => "picture"; with this option, picture does not actually print the entries of the matrices. But picture(M, Display => "DisplayBlocks") prints a net with the matrices themselves.
i1 : S = ZZ/101[a,b,c]
o1 = S
o1 : PolynomialRing
|
i2 : I = ideal(a,b)*ideal(a,b,c)
2 2
o2 = ideal (a , a*b, a*c, a*b, b , b*c)
o2 : Ideal of S
|
i3 : R = S/I
o3 = R
o3 : QuotientRing
|
i4 : E = eagon(R,4);
|
i5 : C = horizontalStrand(E,0)
1 3 8 22
o5 = R <-- R <-- R <-- R
0 1 2 3
o5 : ChainComplex
|
i6 : picture C
+------------------------------------+
|+-------+-------+ |
o6 = || |(1, {})| |
|+-------+-------+ |
||(0, {})| * | |
|+-------+-------+ |
+------------------------------------+
|+-------+-------+--------+ |
|| |(2, {})|(0, {1})| |
|+-------+-------+--------+ |
||(1, {})| * | * | |
|+-------+-------+--------+ |
+------------------------------------+
|+--------+-------+--------+--------+|
|| |(3, {})|(0, {2})|(1, {1})||
|+--------+-------+--------+--------+|
|| (2, {})| * | * | * ||
|+--------+-------+--------+--------+|
||(0, {1})| . | . | * ||
|+--------+-------+--------+--------+|
+------------------------------------+
|
i7 : picture(C, Display => "DisplayBlocks")
+-------------------------------------------------------------------------------+
|+-------+---------+ |
o7 = || | (1, {}) | |
|+-------+---------+ |
||(0, {})|| a b c || |
|+-------+---------+ |
+-------------------------------------------------------------------------------+
|+-------+----------------+-----------------+ |
|| | (2, {}) | (0, {1}) | |
|+-------+----------------+-----------------+ |
||(1, {})|{1} | -b -c 0 ||{1} | c b a 0 0 || |
|| |{1} | a 0 -c ||{1} | 0 0 0 c b || |
|| |{1} | 0 a b ||{1} | 0 0 0 0 0 || |
|+-------+----------------+-----------------+ |
+-------------------------------------------------------------------------------+
|+--------+----------+-------------------+-------------------------------------+|
|| | (3, {}) | (0, {2}) | (1, {1}) ||
|+--------+----------+-------------------+-------------------------------------+|
|| (2, {})|{2} | c ||{2} | c b a 0 0 0 ||{2} | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 |||
|| |{2} | -b ||{2} | 0 0 0 b a 0 ||{2} | 0 0 0 0 0 0 0 0 0 0 c 0 0 0 0 |||
|| |{2} | a ||{2} | 0 0 0 0 0 b ||{2} | 0 0 0 0 0 0 0 0 0 0 0 0 0 c 0 |||
|+--------+----------+-------------------+-------------------------------------+|
||(0, {1})| . | . |{2} | a 0 0 0 0 b 0 0 0 0 c 0 0 0 0 |||
|| | | |{2} | 0 a 0 0 0 0 b 0 0 0 0 c 0 0 0 |||
|| | | |{2} | 0 0 a 0 0 0 0 b 0 0 0 0 c 0 0 |||
|| | | |{2} | 0 0 0 a 0 0 0 0 b 0 0 0 0 c 0 |||
|| | | |{2} | 0 0 0 0 a 0 0 0 0 b 0 0 0 0 c |||
|+--------+----------+-------------------+-------------------------------------+|
+-------------------------------------------------------------------------------+
|