# truncate(List,ComplexMap) -- truncation of a complex map at a specified degree or set of degrees

## Synopsis

• Function: truncate
• Usage:
truncate(d, f)
• Inputs:
• d, a list, or ZZ, if the underlying ring $R$ is singly graded.
• f, , that is homogeneous over $R$
• Outputs:
• , a complex map over $R$ whose terms in the source and target consist of all elements of component-wise degree at least d.

## Description

Truncation of homogeneous (graded) maps induces a natural operation on maps of chain complexes.

In the singly graded case, the truncation of a homogeneous module $M$ at degree $d$ is generated by all homogeneous elements of degree at least $d$ in $M$. The truncation of a map between homogeneous modules is the induced map between the truncation of the source and the truncation of the target. This method applies this operation to each term in a map of chain complexes.

 i1 : R = QQ[a,b,c]; i2 : C = freeResolution ideal(a*b, a*c, b*c) 1 3 2 o2 = R <-- R <-- R 0 1 2 o2 : Complex i3 : D = (freeResolution ideal(a*b, a*c, b*c, a^2-b^2))[-1] 1 4 4 1 o3 = R <-- R <-- R <-- R 1 2 3 4 o3 : Complex i4 : f = randomComplexMap(D,C, Cycle => true) 1 o4 = 0 : 0 <----- R : 0 0 1 3 1 : R <------------------------------------------------------------------------------------------------------- R : 1 | 9/2a2+ab+b2+9/4ac+3/4bc 7/9a2+7/10ab+6b2+13/14ac+5/2bc+6/7c2 2a2+3/2ab+3/4b2+7/10ac+49/12bc+7c2 | 4 2 2 : R <------------------------------------------------ R : 2 {2} | 6b-c -2a-6b-5/4c | {2} | -61/9a-7/10b-7/6c 95/18a-41/20b-5/4c | {2} | 11/2a+7/6b+9/4c 11/20a-7/3b-7c | {2} | 1/14a-5/2b-3/28c 3/7a+5/4b+6/7c | o4 : ComplexMap i5 : g = truncate(3,f) o5 = 1 : image | c3 bc2 ac2 b2c abc a2c b3 ab2 a2b a3 | <----------------------------------------------------------- image {2} | c b a 0 0 0 0 0 0 | : 1 {3} | 0 0 0 6/7 0 0 7 0 0 | {2} | 0 0 0 c b a 0 0 0 | {3} | 3/4 0 0 5/2 6/7 0 49/12 7 0 | {2} | 0 0 0 0 0 0 c b a | {3} | 9/4 0 0 13/14 0 6/7 7/10 0 7 | {3} | 1 3/4 0 6 5/2 0 3/4 49/12 0 | {3} | 1 9/4 3/4 7/10 13/14 5/2 3/2 7/10 49/12 | {3} | 9/2 0 9/4 7/9 0 13/14 2 0 7/10 | {3} | 0 1 0 0 6 0 0 3/4 0 | {3} | 0 1 1 0 7/10 6 0 3/2 3/4 | {3} | 0 9/2 1 0 7/9 7/10 0 2 3/2 | {3} | 0 0 9/2 0 0 7/9 0 0 2 | 2 2 : image {2} | c b a 0 0 0 0 0 0 0 0 0 | <------------------------ R : 2 {2} | 0 0 0 c b a 0 0 0 0 0 0 | {3} | -1 -5/4 | {2} | 0 0 0 0 0 0 c b a 0 0 0 | {3} | 6 -6 | {2} | 0 0 0 0 0 0 0 0 0 c b a | {3} | 0 -2 | {3} | -7/6 -5/4 | {3} | -7/10 -41/20 | {3} | -61/9 95/18 | {3} | 9/4 -7 | {3} | 7/6 -7/3 | {3} | 11/2 11/20 | {3} | -3/28 6/7 | {3} | -5/2 5/4 | {3} | 1/14 3/7 | o5 : ComplexMap i6 : assert isWellDefined g i7 : assert (source g == truncate(3, source f)) i8 : assert (target g == truncate(3, target f))

Truncating at a degree less than the minimal generators is the identity operation.

 i9 : assert(f == truncate(0, f))

In the multi-graded case, the truncation of a homogeneous module at a list of degrees is generated by all homogeneous elements of degree that are component-wise greater than or equal to at least one of the degrees. As in the singly graded case, this induces a map between the truncations the source and target.

 i10 : A = ZZ/101[x_0, x_1, y_0, y_1, y_2, Degrees => {2:{1,0}, 3:{0,1}}]; i11 : I = intersect(ideal(x_0, x_1), ideal(y_0, y_1, y_2)) o11 = ideal (x y , x y , x y , x y , x y , x y ) 1 2 0 2 1 1 0 1 1 0 0 0 o11 : Ideal of A i12 : C = freeResolution I 1 6 9 5 1 o12 = A <-- A <-- A <-- A <-- A 0 1 2 3 4 o12 : Complex i13 : J = intersect(ideal(x_0^2, x_1^2), ideal(y_0^2, y_1^2, y_2^2)) 2 2 2 2 2 2 2 2 2 2 2 2 o13 = ideal (x y , x y , x y , x y , x y , x y ) 1 2 0 2 1 1 0 1 1 0 0 0 o13 : Ideal of A i14 : D = freeResolution J 1 6 9 5 1 o14 = A <-- A <-- A <-- A <-- A 0 1 2 3 4 o14 : Complex i15 : f = extend(C, D, id_(A^1)) 1 1 o15 = 0 : A <--------- A : 0 | 1 | 6 6 1 : A <-------------------------------------------------------- A : 1 {1, 1} | x_0y_0 0 0 0 0 0 | {1, 1} | 0 x_1y_0 0 0 0 0 | {1, 1} | 0 0 x_0y_1 0 0 0 | {1, 1} | 0 0 0 x_1y_1 0 0 | {1, 1} | 0 0 0 0 x_0y_2 0 | {1, 1} | 0 0 0 0 0 x_1y_2 | 9 9 2 : A <-------------------------------------------------------------------------------------------------------- A : 2 {2, 1} | x_0x_1y_0 0 0 0 0 0 0 0 0 | {2, 1} | 0 x_0x_1y_1 0 0 0 0 0 0 0 | {1, 2} | 0 0 x_0y_0y_1 0 0 0 0 0 0 | {1, 2} | 0 0 0 x_1y_0y_1 0 0 0 0 0 | {2, 1} | 0 0 0 0 x_0x_1y_2 0 0 0 0 | {1, 2} | 0 0 0 0 0 x_0y_0y_2 0 0 0 | {1, 2} | 0 0 0 0 0 0 x_1y_0y_2 0 0 | {1, 2} | 0 0 0 0 0 0 0 x_0y_1y_2 0 | {1, 2} | 0 0 0 0 0 0 0 0 x_1y_1y_2 | 5 5 3 : A <------------------------------------------------------------------------------- A : 3 {2, 2} | x_0x_1y_0y_1 0 0 0 0 | {2, 2} | 0 x_0x_1y_0y_2 0 0 0 | {2, 2} | 0 0 x_0x_1y_1y_2 0 0 | {1, 3} | 0 0 0 x_0y_0y_1y_2 0 | {1, 3} | 0 0 0 0 x_1y_0y_1y_2 | 1 1 4 : A <------------------------------ A : 4 {2, 3} | x_0x_1y_0y_1y_2 | o15 : ComplexMap i16 : g1 = prune truncate({{1,1}}, f) o16 = 0 : cokernel {1, 1} | x_0 y_1 0 0 y_0 0 0 0 0 | <-------------------------- cokernel {1, 1} | x_0 y_1 0 0 y_0 0 0 0 0 | : 0 {1, 1} | -x_1 0 y_1 0 0 0 y_0 0 0 | {1, 1} | 1 0 0 0 0 0 | {1, 1} | -x_1 0 y_1 0 0 0 y_0 0 0 | {1, 1} | 0 -y_2 0 x_0 0 y_0 0 0 0 | {1, 1} | 0 1 0 0 0 0 | {1, 1} | 0 -y_2 0 x_0 0 y_0 0 0 0 | {1, 1} | 0 0 -y_2 -x_1 0 0 0 y_0 0 | {1, 1} | 0 0 1 0 0 0 | {1, 1} | 0 0 -y_2 -x_1 0 0 0 y_0 0 | {1, 1} | 0 0 0 0 -y_2 -y_1 0 0 x_0 | {1, 1} | 0 0 0 1 0 0 | {1, 1} | 0 0 0 0 -y_2 -y_1 0 0 x_0 | {1, 1} | 0 0 0 0 0 0 -y_2 -y_1 -x_1 | {1, 1} | 0 0 0 0 1 0 | {1, 1} | 0 0 0 0 0 0 -y_2 -y_1 -x_1 | {1, 1} | 0 0 0 0 0 1 | 6 6 1 : A <-------------------------------------------------------- A : 1 {1, 1} | x_0y_0 0 0 0 0 0 | {1, 1} | 0 x_1y_0 0 0 0 0 | {1, 1} | 0 0 x_0y_1 0 0 0 | {1, 1} | 0 0 0 x_1y_1 0 0 | {1, 1} | 0 0 0 0 x_0y_2 0 | {1, 1} | 0 0 0 0 0 x_1y_2 | 9 9 2 : A <-------------------------------------------------------------------------------------------------------- A : 2 {2, 1} | x_0x_1y_0 0 0 0 0 0 0 0 0 | {2, 1} | 0 x_0x_1y_1 0 0 0 0 0 0 0 | {1, 2} | 0 0 x_0y_0y_1 0 0 0 0 0 0 | {1, 2} | 0 0 0 x_1y_0y_1 0 0 0 0 0 | {2, 1} | 0 0 0 0 x_0x_1y_2 0 0 0 0 | {1, 2} | 0 0 0 0 0 x_0y_0y_2 0 0 0 | {1, 2} | 0 0 0 0 0 0 x_1y_0y_2 0 0 | {1, 2} | 0 0 0 0 0 0 0 x_0y_1y_2 0 | {1, 2} | 0 0 0 0 0 0 0 0 x_1y_1y_2 | 5 5 3 : A <------------------------------------------------------------------------------- A : 3 {2, 2} | x_0x_1y_0y_1 0 0 0 0 | {2, 2} | 0 x_0x_1y_0y_2 0 0 0 | {2, 2} | 0 0 x_0x_1y_1y_2 0 0 | {1, 3} | 0 0 0 x_0y_0y_1y_2 0 | {1, 3} | 0 0 0 0 x_1y_0y_1y_2 | 1 1 4 : A <------------------------------ A : 4 {2, 3} | x_0x_1y_0y_1y_2 | o16 : ComplexMap i17 : g2 = truncate({{1,0}}, f) o17 = 0 : image | x_1 x_0 | <------------------ image | x_1 x_0 | : 0 {1, 0} | 1 0 | {1, 0} | 0 1 | 1 : image {1, 1} | 1 0 0 0 0 0 | <-------------------------------------------------------- image {2, 2} | 1 0 0 0 0 0 | : 1 {1, 1} | 0 1 0 0 0 0 | {1, 1} | x_0y_0 0 0 0 0 0 | {2, 2} | 0 1 0 0 0 0 | {1, 1} | 0 0 1 0 0 0 | {1, 1} | 0 x_1y_0 0 0 0 0 | {2, 2} | 0 0 1 0 0 0 | {1, 1} | 0 0 0 1 0 0 | {1, 1} | 0 0 x_0y_1 0 0 0 | {2, 2} | 0 0 0 1 0 0 | {1, 1} | 0 0 0 0 1 0 | {1, 1} | 0 0 0 x_1y_1 0 0 | {2, 2} | 0 0 0 0 1 0 | {1, 1} | 0 0 0 0 0 1 | {1, 1} | 0 0 0 0 x_0y_2 0 | {2, 2} | 0 0 0 0 0 1 | {1, 1} | 0 0 0 0 0 x_1y_2 | 2 : image {2, 1} | 1 0 0 0 0 0 0 0 0 | <-------------------------------------------------------------------------------------------------------- image {4, 2} | 1 0 0 0 0 0 0 0 0 | : 2 {2, 1} | 0 1 0 0 0 0 0 0 0 | {2, 1} | x_0x_1y_0 0 0 0 0 0 0 0 0 | {4, 2} | 0 1 0 0 0 0 0 0 0 | {1, 2} | 0 0 1 0 0 0 0 0 0 | {2, 1} | 0 x_0x_1y_1 0 0 0 0 0 0 0 | {2, 4} | 0 0 1 0 0 0 0 0 0 | {1, 2} | 0 0 0 1 0 0 0 0 0 | {1, 2} | 0 0 x_0y_0y_1 0 0 0 0 0 0 | {2, 4} | 0 0 0 1 0 0 0 0 0 | {2, 1} | 0 0 0 0 1 0 0 0 0 | {1, 2} | 0 0 0 x_1y_0y_1 0 0 0 0 0 | {4, 2} | 0 0 0 0 1 0 0 0 0 | {1, 2} | 0 0 0 0 0 1 0 0 0 | {2, 1} | 0 0 0 0 x_0x_1y_2 0 0 0 0 | {2, 4} | 0 0 0 0 0 1 0 0 0 | {1, 2} | 0 0 0 0 0 0 1 0 0 | {1, 2} | 0 0 0 0 0 x_0y_0y_2 0 0 0 | {2, 4} | 0 0 0 0 0 0 1 0 0 | {1, 2} | 0 0 0 0 0 0 0 1 0 | {1, 2} | 0 0 0 0 0 0 x_1y_0y_2 0 0 | {2, 4} | 0 0 0 0 0 0 0 1 0 | {1, 2} | 0 0 0 0 0 0 0 0 1 | {1, 2} | 0 0 0 0 0 0 0 x_0y_1y_2 0 | {2, 4} | 0 0 0 0 0 0 0 0 1 | {1, 2} | 0 0 0 0 0 0 0 0 x_1y_1y_2 | 3 : image {2, 2} | 1 0 0 0 0 | <------------------------------------------------------------------------------- image {4, 4} | 1 0 0 0 0 | : 3 {2, 2} | 0 1 0 0 0 | {2, 2} | x_0x_1y_0y_1 0 0 0 0 | {4, 4} | 0 1 0 0 0 | {2, 2} | 0 0 1 0 0 | {2, 2} | 0 x_0x_1y_0y_2 0 0 0 | {4, 4} | 0 0 1 0 0 | {1, 3} | 0 0 0 1 0 | {2, 2} | 0 0 x_0x_1y_1y_2 0 0 | {2, 6} | 0 0 0 1 0 | {1, 3} | 0 0 0 0 1 | {1, 3} | 0 0 0 x_0y_0y_1y_2 0 | {2, 6} | 0 0 0 0 1 | {1, 3} | 0 0 0 0 x_1y_0y_1y_2 | 4 : image {2, 3} | 1 | <------------------------------ image {4, 6} | 1 | : 4 {2, 3} | x_0x_1y_0y_1y_2 | o17 : ComplexMap i18 : g3 = truncate({{0,1}}, f) o18 = 0 : image | y_2 y_1 y_0 | <-------------------- image | y_2 y_1 y_0 | : 0 {0, 1} | 1 0 0 | {0, 1} | 0 1 0 | {0, 1} | 0 0 1 | 1 : image {1, 1} | 1 0 0 0 0 0 | <-------------------------------------------------------- image {2, 2} | 1 0 0 0 0 0 | : 1 {1, 1} | 0 1 0 0 0 0 | {1, 1} | x_0y_0 0 0 0 0 0 | {2, 2} | 0 1 0 0 0 0 | {1, 1} | 0 0 1 0 0 0 | {1, 1} | 0 x_1y_0 0 0 0 0 | {2, 2} | 0 0 1 0 0 0 | {1, 1} | 0 0 0 1 0 0 | {1, 1} | 0 0 x_0y_1 0 0 0 | {2, 2} | 0 0 0 1 0 0 | {1, 1} | 0 0 0 0 1 0 | {1, 1} | 0 0 0 x_1y_1 0 0 | {2, 2} | 0 0 0 0 1 0 | {1, 1} | 0 0 0 0 0 1 | {1, 1} | 0 0 0 0 x_0y_2 0 | {2, 2} | 0 0 0 0 0 1 | {1, 1} | 0 0 0 0 0 x_1y_2 | 2 : image {2, 1} | 1 0 0 0 0 0 0 0 0 | <-------------------------------------------------------------------------------------------------------- image {4, 2} | 1 0 0 0 0 0 0 0 0 | : 2 {2, 1} | 0 1 0 0 0 0 0 0 0 | {2, 1} | x_0x_1y_0 0 0 0 0 0 0 0 0 | {4, 2} | 0 1 0 0 0 0 0 0 0 | {1, 2} | 0 0 1 0 0 0 0 0 0 | {2, 1} | 0 x_0x_1y_1 0 0 0 0 0 0 0 | {2, 4} | 0 0 1 0 0 0 0 0 0 | {1, 2} | 0 0 0 1 0 0 0 0 0 | {1, 2} | 0 0 x_0y_0y_1 0 0 0 0 0 0 | {2, 4} | 0 0 0 1 0 0 0 0 0 | {2, 1} | 0 0 0 0 1 0 0 0 0 | {1, 2} | 0 0 0 x_1y_0y_1 0 0 0 0 0 | {4, 2} | 0 0 0 0 1 0 0 0 0 | {1, 2} | 0 0 0 0 0 1 0 0 0 | {2, 1} | 0 0 0 0 x_0x_1y_2 0 0 0 0 | {2, 4} | 0 0 0 0 0 1 0 0 0 | {1, 2} | 0 0 0 0 0 0 1 0 0 | {1, 2} | 0 0 0 0 0 x_0y_0y_2 0 0 0 | {2, 4} | 0 0 0 0 0 0 1 0 0 | {1, 2} | 0 0 0 0 0 0 0 1 0 | {1, 2} | 0 0 0 0 0 0 x_1y_0y_2 0 0 | {2, 4} | 0 0 0 0 0 0 0 1 0 | {1, 2} | 0 0 0 0 0 0 0 0 1 | {1, 2} | 0 0 0 0 0 0 0 x_0y_1y_2 0 | {2, 4} | 0 0 0 0 0 0 0 0 1 | {1, 2} | 0 0 0 0 0 0 0 0 x_1y_1y_2 | 3 : image {2, 2} | 1 0 0 0 0 | <------------------------------------------------------------------------------- image {4, 4} | 1 0 0 0 0 | : 3 {2, 2} | 0 1 0 0 0 | {2, 2} | x_0x_1y_0y_1 0 0 0 0 | {4, 4} | 0 1 0 0 0 | {2, 2} | 0 0 1 0 0 | {2, 2} | 0 x_0x_1y_0y_2 0 0 0 | {4, 4} | 0 0 1 0 0 | {1, 3} | 0 0 0 1 0 | {2, 2} | 0 0 x_0x_1y_1y_2 0 0 | {2, 6} | 0 0 0 1 0 | {1, 3} | 0 0 0 0 1 | {1, 3} | 0 0 0 x_0y_0y_1y_2 0 | {2, 6} | 0 0 0 0 1 | {1, 3} | 0 0 0 0 x_1y_0y_1y_2 | 4 : image {2, 3} | 1 | <------------------------------ image {4, 6} | 1 | : 4 {2, 3} | x_0x_1y_0y_1y_2 | o18 : ComplexMap i19 : g4 = truncate({{1,0},{0,1}}, f) o19 = 0 : image | y_2 y_1 y_0 x_1 x_0 | <------------------------ image | y_2 y_1 y_0 x_1 x_0 | : 0 {0, 1} | 1 0 0 0 0 | {0, 1} | 0 1 0 0 0 | {0, 1} | 0 0 1 0 0 | {1, 0} | 0 0 0 1 0 | {1, 0} | 0 0 0 0 1 | 1 : image {1, 1} | 1 0 0 0 0 0 | <-------------------------------------------------------- image {2, 2} | 1 0 0 0 0 0 | : 1 {1, 1} | 0 1 0 0 0 0 | {1, 1} | x_0y_0 0 0 0 0 0 | {2, 2} | 0 1 0 0 0 0 | {1, 1} | 0 0 1 0 0 0 | {1, 1} | 0 x_1y_0 0 0 0 0 | {2, 2} | 0 0 1 0 0 0 | {1, 1} | 0 0 0 1 0 0 | {1, 1} | 0 0 x_0y_1 0 0 0 | {2, 2} | 0 0 0 1 0 0 | {1, 1} | 0 0 0 0 1 0 | {1, 1} | 0 0 0 x_1y_1 0 0 | {2, 2} | 0 0 0 0 1 0 | {1, 1} | 0 0 0 0 0 1 | {1, 1} | 0 0 0 0 x_0y_2 0 | {2, 2} | 0 0 0 0 0 1 | {1, 1} | 0 0 0 0 0 x_1y_2 | 2 : image {2, 1} | 1 0 0 0 0 0 0 0 0 | <-------------------------------------------------------------------------------------------------------- image {4, 2} | 1 0 0 0 0 0 0 0 0 | : 2 {2, 1} | 0 1 0 0 0 0 0 0 0 | {2, 1} | x_0x_1y_0 0 0 0 0 0 0 0 0 | {4, 2} | 0 1 0 0 0 0 0 0 0 | {1, 2} | 0 0 1 0 0 0 0 0 0 | {2, 1} | 0 x_0x_1y_1 0 0 0 0 0 0 0 | {2, 4} | 0 0 1 0 0 0 0 0 0 | {1, 2} | 0 0 0 1 0 0 0 0 0 | {1, 2} | 0 0 x_0y_0y_1 0 0 0 0 0 0 | {2, 4} | 0 0 0 1 0 0 0 0 0 | {2, 1} | 0 0 0 0 1 0 0 0 0 | {1, 2} | 0 0 0 x_1y_0y_1 0 0 0 0 0 | {4, 2} | 0 0 0 0 1 0 0 0 0 | {1, 2} | 0 0 0 0 0 1 0 0 0 | {2, 1} | 0 0 0 0 x_0x_1y_2 0 0 0 0 | {2, 4} | 0 0 0 0 0 1 0 0 0 | {1, 2} | 0 0 0 0 0 0 1 0 0 | {1, 2} | 0 0 0 0 0 x_0y_0y_2 0 0 0 | {2, 4} | 0 0 0 0 0 0 1 0 0 | {1, 2} | 0 0 0 0 0 0 0 1 0 | {1, 2} | 0 0 0 0 0 0 x_1y_0y_2 0 0 | {2, 4} | 0 0 0 0 0 0 0 1 0 | {1, 2} | 0 0 0 0 0 0 0 0 1 | {1, 2} | 0 0 0 0 0 0 0 x_0y_1y_2 0 | {2, 4} | 0 0 0 0 0 0 0 0 1 | {1, 2} | 0 0 0 0 0 0 0 0 x_1y_1y_2 | 3 : image {2, 2} | 1 0 0 0 0 | <------------------------------------------------------------------------------- image {4, 4} | 1 0 0 0 0 | : 3 {2, 2} | 0 1 0 0 0 | {2, 2} | x_0x_1y_0y_1 0 0 0 0 | {4, 4} | 0 1 0 0 0 | {2, 2} | 0 0 1 0 0 | {2, 2} | 0 x_0x_1y_0y_2 0 0 0 | {4, 4} | 0 0 1 0 0 | {1, 3} | 0 0 0 1 0 | {2, 2} | 0 0 x_0x_1y_1y_2 0 0 | {2, 6} | 0 0 0 1 0 | {1, 3} | 0 0 0 0 1 | {1, 3} | 0 0 0 x_0y_0y_1y_2 0 | {2, 6} | 0 0 0 0 1 | {1, 3} | 0 0 0 0 x_1y_0y_1y_2 | 4 : image {2, 3} | 1 | <------------------------------ image {4, 6} | 1 | : 4 {2, 3} | x_0x_1y_0y_1y_2 | o19 : ComplexMap i20 : g5 = truncate({{2,2}}, f) o20 = 0 : image | x_1^2y_2^2 x_0x_1y_2^2 x_0^2y_2^2 x_1^2y_1y_2 x_0x_1y_1y_2 x_0^2y_1y_2 x_1^2y_0y_2 x_0x_1y_0y_2 x_0^2y_0y_2 x_1^2y_1^2 x_0x_1y_1^2 x_0^2y_1^2 x_1^2y_0y_1 x_0x_1y_0y_1 x_0^2y_0y_1 x_1^2y_0^2 x_0x_1y_0^2 x_0^2y_0^2 | <-------------------------------------------------- image | x_1^2y_2^2 x_0x_1y_2^2 x_0^2y_2^2 x_1^2y_1y_2 x_0x_1y_1y_2 x_0^2y_1y_2 x_1^2y_0y_2 x_0x_1y_0y_2 x_0^2y_0y_2 x_1^2y_1^2 x_0x_1y_1^2 x_0^2y_1^2 x_1^2y_0y_1 x_0x_1y_0y_1 x_0^2y_0y_1 x_1^2y_0^2 x_0x_1y_0^2 x_0^2y_0^2 | : 0 {2, 2} | 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | {2, 2} | 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | {2, 2} | 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | {2, 2} | 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | {2, 2} | 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 | {2, 2} | 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 | {2, 2} | 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 | {2, 2} | 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 | {2, 2} | 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 | {2, 2} | 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 | {2, 2} | 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 | {2, 2} | 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 | {2, 2} | 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 | {2, 2} | 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 | {2, 2} | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 | {2, 2} | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 | {2, 2} | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 | {2, 2} | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 | 1 : image {1, 1} | x_1y_2 x_0y_2 x_1y_1 x_0y_1 x_1y_0 x_0y_0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | <-------------------------- image {2, 2} | 1 0 0 0 0 0 | : 1 {1, 1} | 0 0 0 0 0 0 x_1y_2 x_0y_2 x_1y_1 x_0y_1 x_1y_0 x_0y_0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | {2, 2} | 0 0 0 0 0 0 | {2, 2} | 0 1 0 0 0 0 | {1, 1} | 0 0 0 0 0 0 0 0 0 0 0 0 x_1y_2 x_0y_2 x_1y_1 x_0y_1 x_1y_0 x_0y_0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | {2, 2} | 0 0 0 0 0 0 | {2, 2} | 0 0 1 0 0 0 | {1, 1} | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 x_1y_2 x_0y_2 x_1y_1 x_0y_1 x_1y_0 x_0y_0 0 0 0 0 0 0 0 0 0 0 0 0 | {2, 2} | 0 0 0 0 0 0 | {2, 2} | 0 0 0 1 0 0 | {1, 1} | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 x_1y_2 x_0y_2 x_1y_1 x_0y_1 x_1y_0 x_0y_0 0 0 0 0 0 0 | {2, 2} | 0 0 0 0 0 0 | {2, 2} | 0 0 0 0 1 0 | {1, 1} | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 x_1y_2 x_0y_2 x_1y_1 x_0y_1 x_1y_0 x_0y_0 | {2, 2} | 0 0 0 0 0 0 | {2, 2} | 0 0 0 0 0 1 | {2, 2} | 1 0 0 0 0 0 | {2, 2} | 0 0 0 0 0 0 | {2, 2} | 0 0 0 0 0 0 | {2, 2} | 0 0 0 0 0 0 | {2, 2} | 0 0 0 0 0 0 | {2, 2} | 0 1 0 0 0 0 | {2, 2} | 0 0 0 0 0 0 | {2, 2} | 0 0 0 0 0 0 | {2, 2} | 0 0 0 0 0 0 | {2, 2} | 0 0 0 0 0 0 | {2, 2} | 0 0 1 0 0 0 | {2, 2} | 0 0 0 0 0 0 | {2, 2} | 0 0 0 0 0 0 | {2, 2} | 0 0 0 0 0 0 | {2, 2} | 0 0 0 0 0 0 | {2, 2} | 0 0 0 1 0 0 | {2, 2} | 0 0 0 0 0 0 | {2, 2} | 0 0 0 0 0 0 | {2, 2} | 0 0 0 0 0 0 | {2, 2} | 0 0 0 0 0 0 | {2, 2} | 0 0 0 0 1 0 | {2, 2} | 0 0 0 0 0 0 | {2, 2} | 0 0 0 0 0 0 | {2, 2} | 0 0 0 0 0 0 | {2, 2} | 0 0 0 0 0 0 | {2, 2} | 0 0 0 0 0 1 | {2, 2} | 0 0 0 0 0 0 | {2, 2} | 0 0 0 0 0 0 | {2, 2} | 0 0 0 0 0 0 | {2, 2} | 0 0 0 0 0 0 | {2, 2} | 0 0 0 0 0 0 | 2 : image {2, 1} | y_2 y_1 y_0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | <----------------------------------------------------------------------------- image {4, 2} | 1 0 0 0 0 0 0 0 0 | : 2 {2, 1} | 0 0 0 y_2 y_1 y_0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | {2, 2} | 0 0 0 0 0 0 0 0 0 | {4, 2} | 0 1 0 0 0 0 0 0 0 | {1, 2} | 0 0 0 0 0 0 x_1 x_0 0 0 0 0 0 0 0 0 0 0 0 0 0 | {2, 2} | 0 0 0 0 0 0 0 0 0 | {2, 4} | 0 0 1 0 0 0 0 0 0 | {1, 2} | 0 0 0 0 0 0 0 0 x_1 x_0 0 0 0 0 0 0 0 0 0 0 0 | {2, 2} | x_0x_1 0 0 0 0 0 0 0 0 | {2, 4} | 0 0 0 1 0 0 0 0 0 | {2, 1} | 0 0 0 0 0 0 0 0 0 0 y_2 y_1 y_0 0 0 0 0 0 0 0 0 | {2, 2} | 0 0 0 0 0 0 0 0 0 | {4, 2} | 0 0 0 0 1 0 0 0 0 | {1, 2} | 0 0 0 0 0 0 0 0 0 0 0 0 0 x_1 x_0 0 0 0 0 0 0 | {2, 2} | 0 x_0x_1 0 0 0 0 0 0 0 | {2, 4} | 0 0 0 0 0 1 0 0 0 | {1, 2} | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 x_1 x_0 0 0 0 0 | {2, 2} | 0 0 0 0 0 0 0 0 0 | {2, 4} | 0 0 0 0 0 0 1 0 0 | {1, 2} | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 x_1 x_0 0 0 | {2, 2} | 0 0 0 0 0 0 0 0 0 | {2, 4} | 0 0 0 0 0 0 0 1 0 | {1, 2} | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 x_1 x_0 | {2, 2} | 0 0 y_0y_1 0 0 0 0 0 0 | {2, 4} | 0 0 0 0 0 0 0 0 1 | {2, 2} | 0 0 0 y_0y_1 0 0 0 0 0 | {2, 2} | 0 0 0 0 0 0 0 0 0 | {2, 2} | 0 0 0 0 x_0x_1 0 0 0 0 | {2, 2} | 0 0 0 0 0 0 0 0 0 | {2, 2} | 0 0 0 0 0 0 0 0 0 | {2, 2} | 0 0 0 0 0 0 0 0 0 | {2, 2} | 0 0 0 0 0 y_0y_2 0 0 0 | {2, 2} | 0 0 0 0 0 0 y_0y_2 0 0 | {2, 2} | 0 0 0 0 0 0 0 0 0 | {2, 2} | 0 0 0 0 0 0 0 0 0 | {2, 2} | 0 0 0 0 0 0 0 y_1y_2 0 | {2, 2} | 0 0 0 0 0 0 0 0 y_1y_2 | {2, 2} | 0 0 0 0 0 0 0 0 0 | 3 : image {2, 2} | 1 0 0 0 0 0 0 | <------------------------------------------------------------------------- image {4, 4} | 1 0 0 0 0 | : 3 {2, 2} | 0 1 0 0 0 0 0 | {2, 2} | x_0x_1y_0y_1 0 0 0 0 | {4, 4} | 0 1 0 0 0 | {2, 2} | 0 0 1 0 0 0 0 | {2, 2} | 0 x_0x_1y_0y_2 0 0 0 | {4, 4} | 0 0 1 0 0 | {1, 3} | 0 0 0 x_1 x_0 0 0 | {2, 2} | 0 0 x_0x_1y_1y_2 0 0 | {2, 6} | 0 0 0 1 0 | {1, 3} | 0 0 0 0 0 x_1 x_0 | {2, 3} | 0 0 0 0 0 | {2, 6} | 0 0 0 0 1 | {2, 3} | 0 0 0 y_0y_1y_2 0 | {2, 3} | 0 0 0 0 y_0y_1y_2 | {2, 3} | 0 0 0 0 0 | 4 : image {2, 3} | 1 | <------------------------------ image {4, 6} | 1 | : 4 {2, 3} | x_0x_1y_0y_1y_2 | o20 : ComplexMap i21 : assert all({g1,g2,g3,g4,g5}, isWellDefined)