splittings -- compute the splittings of a split right exact sequence

Synopsis

• Usage:
x = splittings(a,b)
• Inputs:
• a, , maps into the kernel of b
• b, , representing a surjection from target a to a free module
• Outputs:
• L, a list, L = \{sigma,tau\}, splittings of a,b respectively

Description

Assuming that (a,b) are the maps of a right exact sequence

$0\to A\to B\to C \to 0$

with B, C free, the script produces a pair of maps sigma, tau with $tau: C \to B$ a splitting of b and $sigma: B \to A$ a splitting of a; that is,

$a*sigma+tau*b = 1_B$

$sigma*a = 1_A$

$b*tau = 1_C$

 i1 : kk= ZZ/101 o1 = kk o1 : QuotientRing i2 : S = kk[x,y,z] o2 = S o2 : PolynomialRing i3 : setRandomSeed 0 o3 = 0 i4 : t = random(S^{2:-1,2:-2}, S^{3:-1,4:-2}) o4 = {1} | 24 -36 -30 39x-43y+45z 21x-15y-34z 34x-28y-48z 19x-47y-47z | {1} | -29 19 19 -47x+38y+47z -39x+2y+19z -18x+16y-16z -13x+22y+7z | {2} | 0 0 0 -10 -29 -8 -22 | {2} | 0 0 0 -29 -24 -38 -16 | 4 7 o4 : Matrix S <--- S i5 : ss = splittings(syz t, t) o5 = {{1} | 0 0 1 0 0 0 0 |, {1} | -27 2 13x-10y+43z 50x-34y-50z |} {2} | 0 0 0 0 0 -31 -6 | {1} | -4 35 22x+32y+43z -7x-8y-27z | {2} | 0 0 0 0 0 29 9 | {1} | 0 0 0 0 | {2} | 0 0 -25 26 | {2} | 0 0 26 -2 | {2} | 0 0 0 0 | {2} | 0 0 0 0 | o5 : List i6 : ss/betti 0 1 0 1 o6 = {total: 3 7, total: 7 4} 0: . 3 0: . 2 1: 1 4 1: 3 2 2: 2 . 2: 4 . o6 : List

Ways to use splittings :

• "splittings(Matrix,Matrix)"

For the programmer

The object splittings is .