M = makeModule(H,E,phi)
The Hashtable H should have consecutive integer keys i_0..i_0, say, with values H#i that are modules over a ring SE whose variables include the elements of E. E: \oplus SE^{d_i} \to SE^1 is a matrix of c variables from SE H is a hashTable of m pairs {i, t_i}, where the t_i are RE-modules, and the i are consecutive integer. phi is a hash-table of homogeneous maps phi#{j,i}: H#i**F_j\to H#(i+1) where F_j = source (E_{j} = matrix {{e_j}}). Thus the maps p#{j,i} = (E_j || -phi#{j,i}): t_i**F_j \to t_i++t_{(i+1)}, are homogeneous. The script returns M = \oplus_i T_ as an SE-module, computed as the quotient of P := \oplus T_i obtained by factoring out the sum of the images of the maps p#{j,i}
The Hashtable phi has keys of the form {j,i} where j runs from 0 to c-1, i and i+1 are keys of H, and phi#{j,i} is the map from (source E_{i})**H#i to H#(i+1) that will be identified with the action of E_{j}.
The script is used in both the singly graded case, for example in exteriorTorModule(ff,M) and in the bigraded case, for example in exteriorTorModule(ff,M,N).
In the following we use makeModule to construct by hand a free module of rank 1 over the exterior algebra on x,y, starting with the construction of a module over a bihomogeneous ring.
|
|
|
|
|
|
|
|
|
|
|
The object makeModule is a method function.