FF = Shamash(ff,F,len)
FF = Shamash(Rbar,F,len)
Let R = ring F = ring ff, and Rbar = R/(ideal ff). The complex F should admit a system of higher homotopies for the entries of ff, returned by the call makeHomotopies(ff,F).
When the entries of ff form a regular sequence on ring F, the Shamash complex is a resolution.
|
|
|
|
|
|
|
|
The complex G has terms that are abstractly G_i = F_i ++ D_1**F_{i-2} ++ D_2**F_{i-4}... where D_i is the i-th divided power of the free module source ff. In fact the term D_i**F_j is the direct sum of copies of F_j, indexed by the basis t^{e} of the divided power, each twisted by the degree of t^{e}. This basis is in 1-1 correspondence with the partitions of c = numcols ff, with i parts, produced by the function expo(c,i), as can be seen in the following:
|
|
Thus, c = 2, so D_i = R^{i+1}, and G5 is the direct sum F_5 ++ R^2**F_3 ++ R^3**F_1. Moreover, D_1 has two exponents,
|
So G5_1 will have two components, both isomorphic to R**F_3 = R^{10}:
|
All the decompositions seem to impose a certain overhead, and in the case where it applies, namely c=1, the routine Shamash is faster:
|
|
|
|
|
|
|
|
|
The function also deals correctly with complexes F where min F is not 0:
|
The object EisenbudShamash is a method function.