# mapComponent -- extract a single component from a labeled map

## Synopsis

• Usage:
N = mapComponent(M,tar,src)
• Inputs:
• M, , labeled map from eagon(R,b)
• tar, , symbol of a free module components of the Eagon resolution
• src, , symbol of a free module components of the Eagon resolution
• Outputs:
• N, ,

## 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