If M,N are S-modules annihilated by the elements of the matrix ff = (f_1..f_c), and k is the residue field of S, then the script exteriorExtModule(f,M) returns Ext_S(M, k) as a module over an exterior algebra E = k<e_1,...,e_c>, where the e_i have degree 1. It is computed as the E-dual of exteriorTorModule.
The script exteriorTorModule(f,M,N) returns Ext_S(M,N) as a module over a bigraded ring SE = S<e_1,..,e_c>, where the e_i have degrees {d_i,1}, where d_i is the degree of f_i. The module structure, in either case, is defined by the homotopies for the f_i on the resolution of M, computed by the script makeHomotopies1.The script calls makeModule to compute a (non-minimal) presentation of this module.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
We can also construct the exteriorExtModule as a bigraded module, over a ring SE that has both polynomial variables like S and exterior variables like E. The polynomial variables have degrees {1,0}. The exterior variables have degrees {deg ff_i, 1}.
|
|
|
To see that this is really the same module, with a more complex grading, we can bring it over to a pure exterior algebra. Note that the necessary map of rings must contain a DegreeMap option. In general we could only take the degrees of the generators of the exterior algebra to be the gcd of the deg ff_i ; in the example above this is 1.
|
|
|
The object exteriorExtModule is a method function.