Next: 5.2 HomR(M,N) Up: 5. Examples Previous: 5. Examples

## 5.1 Ext modules Ext(M,R)

Let M be given as Rm/Im(A0), where . For each free resolution

is .

Algorithm 5..1   ExtjR(M,R):
• compute a free resolution of M by for . (or use mres, see section 4.2).
• is a free module modulo the image of the matrix

SINGULAR example: a complete version can be found in the SINGULAR library homog.lib.

proc qmod (module M, module N)
//USAGE:   qmod(<module_M>,<module_N>);
//         N a submodule of M, a submodule of a free one
//COMPUTE: presentation S of M/N, i.e. M/N<<--F<--[S],
//         F free of rank = size(M),
//RETURNS: module(S)
{
return(lift(M,N)+syz(M));
}

proc ext (int n, ideal i)
// COMPUTES:  Ext^n(R/i,R);   i ideal in the basering R
// USAGE:     ext(<int>,<ideal>);
// SHOWS:     degree of Ext^n
// RETURN:    Ext as quotient of a free module
{
//-----------------  compute resulution of R/i ----------
//          0<--R/i<--L(0)<--[i]--L(1)<--[RE[2]]--- ...
list RE=mres(i,n+1);
//-----------------  apply Hom(_,R) at n-th place -------
module g = module(transpose(matrix(RE[n+1])));
module f = module(transpose(matrix(RE[n])));
//-----------------  ker(g)/im(f) -----------------------
module ext = qmod(syz(g),f);
//---- return Ext as quotient of a free module (std) ----
return(std(ext));
}


| ZCA Home | Reports |