I think this question is a great example of how intuition and the ability to compute go hand in hand. Thanks for asking! Say we have modules M and N. Here `to have' means to have a presentation as the cokernel of a map between free modules.

F1' -> F1 -> N -> 0

F2'-> F2 -> M -> 0

where the F's are free.

This is a really concrete way of describing the module. Even a computer can understand! And let's say we have a short exact sequence

0-> N -> R -> M -> 0

(these are A-modules; R is not necessarily free).

It splits if there is a map from M to R such that composition back to M is the identity. (apply Hom(M,-); the class of the identity in Hom(M,M) is in the image of Hom(M,R) -> Hom(M,M)).

Now a map M-> R is given by lifting the generators of M to elements of R. (Previously, they were elements in the cokernel, i.e. equivalence classes modulo N. a map M -> R picks representatives for these classes.) The map M -> R lifts to F2-> R since F2 is free (hence projective).

We get a surjection from F1+F2 onto R by sending the gens of F1 to the gens of the submodule N, and sending the gens of F2 to the representatives for the equivalence classes we chose above.

Ask: What are the relations among this set of generators of R?

Case 1. We were already given a presentation of R.

F3' -> F3 -> R -> 0.

Then we write our new set of generators in terms of the already existing ones. That is we have a map F1+F2 -> F3. We want a presentation of the image of F1+F2 -> F3 in the quotient of F3' -> F3.

So we have reduced the problem to one involving free modules. there are standard algorithms to solve it. for instance, in Macaulay2, the function subquotient() does the trick.

Case 2. We do not have a presentation of R; we are in fact trying to come up with such an R.

Then we have freedom to define the relations ourselves. We choose the relations among the representatives of the equivalence classes. That is, for each generating relation among the gens of M, we choose an element of the submodule N. In terms of free modules, we choose a map

q: F2' -> F1+F2.

Let p be the map from F1' to F1 defining N. Then p+q: F1' + F2' -> F1+F2 is a presentation of R.

The intuition is we're filling in the upper triangular part of the direct sum map. We can put this in a snake diagram:

0->ker->ker->ker->0

0-> F1'-> F1'+F2' -> F2'-> 0

0-> F1 -> F1 +F2-> F2 -> 0

0-> N-> R -> M -> 0

Here the first two sequences split, and R is by definition the cokernel of the map F1'+F2' -> F1 + F2 we chose.

At this point we have presentations for all three terms in sequence 0-> N -> R -> M -> 0, and we have the maps between them in terms of free modules. the next step is to investigate when the sequence splits.

First note that the map q: F2' -> F1 + F2 is given by a map from F2'-> F1 and a map F2'-> F2. The part F2'-> F2 is already determined for us. The new part, the new upper triangular part we've filled in, is F2' -> F1. (cf. the previous post: our F2' -> F1 is his S to N).

Now if the image of F2' -> F1 is contained in the image of F1' -> F1, i.e. we chose elements in the span of the relations of N-- zero elements in N-- i.e. it lifts to F2 -> F1 (in the previous poster's language, it comes from a map R^G to N) then those elements are eliminated in the cokernel R. (In terms of a basis, we can use the lower block to eliminate the upper-right block.)

So we want the image of F2'-> F1 to be nonzero in the quotient N. Again, the subquotient() function in Macaulay2 comes to the rescue. If R is a direct sum then the subquotient is zero.

Thank you again for asking!! I hope I have not made *too* many errors.

used as a homework answer, a`homework`

tag would be probably a good idea.. – Ilya Nikokoshev Oct 27 '09 at 19:42