Macaulay2 » Documentation
Packages » EagonResolution :: mapComponent
next | previous | forward | backward | up | index | toc

mapComponent -- extract a single component from a labeled map

Synopsis

Description

The source and target of a a map in the Eagon double complex, such as dVert, dHor, and eagonBeta, are direct sums of tensor products of the form K_i**X_{u_1}**..**X_{u_s} where K_i is a term of the Koszul complex and X_i is a term of the S-free resolution of R, all tensored with R. This tensor product is represented by a symbol that is a two element Sequence

(i, \{u_1..u_s\})

The block structure of the matrix, together with the source and target Sequences, can be seen from picture M.

The function mapComponent returns a single block.

i1 : S = ZZ/101[a,b,c,d,e]

o1 = S

o1 : PolynomialRing
i2 : R = S/(ideal(e^2,d*e^4)+(ideal"ab,ac")^2) --a non-Golod ring, generators in different degrees

o2 = R

o2 : QuotientRing
i3 : E = eagon (R,5);
i4 : picture E#{"dHor",3,0}

     +--------+-------+--------+--------+
o4 = |        |(3, {})|(0, {2})|(1, {1})|
     +--------+-------+--------+--------+
     | (2, {})|   *   |    *   |    *   |
     +--------+-------+--------+--------+
     |(0, {1})|   .   |    .   |    *   |
     +--------+-------+--------+--------+
i5 : mapComponent(E#{"dHor",3,0}, (0,{1}),(1,{1}))

o5 = {2} | a 0 0 0 b 0 0 0 c 0 0 0 d 0 0 0 e 0 0 0 |
     {4} | 0 a 0 0 0 b 0 0 0 c 0 0 0 d 0 0 0 e 0 0 |
     {4} | 0 0 a 0 0 0 b 0 0 0 c 0 0 0 d 0 0 0 e 0 |
     {4} | 0 0 0 a 0 0 0 b 0 0 0 c 0 0 0 d 0 0 0 e |

             4      20
o5 : Matrix R  <-- R
i6 : picture E#{"dVert",3,1}

     +--------+-------+--------+--------+--------+-----------+
o6 = |        |(4, {})|(0, {3})|(1, {2})|(2, {1})|(0, {1, 1})|
     +--------+-------+--------+--------+--------+-----------+
     | (3, {})|   *   |    *   |    *   |    *   |     *     |
     +--------+-------+--------+--------+--------+-----------+
     |(0, {2})|   .   |    .   |    *   |    *   |    5,3    |
     +--------+-------+--------+--------+--------+-----------+
     |(1, {1})|   .   |    .   |    .   |    *   |     *     |
     +--------+-------+--------+--------+--------+-----------+
i7 : mapComponent(E#{"dVert",3,1}, (0,{2}),(0,{1,1}))

o7 = {5} | 0 0  0  0  0 0 0 0 0 0 0 0 0 0 0 0 |
     {5} | 0 0  0  0  0 0 0 0 0 0 0 0 0 0 0 0 |
     {6} | 0 -1 0  0  1 0 0 0 0 0 0 0 0 0 0 0 |
     {6} | 0 0  -1 0  0 0 0 0 1 0 0 0 0 0 0 0 |
     {6} | 0 0  0  -1 0 0 0 0 0 0 0 0 1 0 0 0 |

             5      16
o7 : Matrix R  <-- R
i8 : picture E#{"eagonBeta",3,1}

     +--------+--------+-----------+
o8 = |        |(2, {1})|(0, {1, 1})|
     +--------+--------+-----------+
     | (3, {})|    *   |     *     |
     +--------+--------+-----------+
     |(0, {2})|    *   |    5,3    |
     +--------+--------+-----------+
i9 : mapComponent(E#{"eagonBeta",3,1}, (0,{2}),(0,{1,1}))

o9 = {5} | 0 0  0  0  0 0 0 0 0 0 0 0 0 0 0 0 |
     {5} | 0 0  0  0  0 0 0 0 0 0 0 0 0 0 0 0 |
     {6} | 0 -1 0  0  1 0 0 0 0 0 0 0 0 0 0 0 |
     {6} | 0 0  -1 0  0 0 0 0 1 0 0 0 0 0 0 0 |
     {6} | 0 0  0  -1 0 0 0 0 0 0 0 0 1 0 0 0 |

             5      16
o9 : Matrix R  <-- R

See also

Ways to use mapComponent:

For the programmer

The object mapComponent is a method function.