|
D.4.7.5 Ext_R
Procedure from library homolog.lib (see homolog_lib).
- Usage:
- Ext_R(v,M[,p]); v int resp. intvec , M module, p int
- Compute:
- A presentation of Ext^k(M',R); for k=v[1],v[2],..., M'=coker(M).
Let
| 0 <-- M' <-- F0 <-M-- F1 <-- F2 <-- ...
| be a free resolution of M'. If
| 0 --> F0* -A1-> F1* -A2-> F2* -A3-> ...
| is the dual sequence, Fi*=Hom(Fi,R), then Ext^k = ker(Ak+1)/im(Ak)
is presented as in the following exact sequences:
| R^p --syz(Ak+1)-> Fk* ---Ak+1----> Fk+1* ,
R^q ----Ext^k---> R^p --syz(Ak+1)-> Fk*/im(Ak).
| Hence, Ext^k=modulo(syz(Ak+1),Ak) presents Ext^k(M',R).
- Return:
- - module Ext, a presentation of Ext^k(M',R) if v is of type int
- a list of Ext^k (k=v[1],v[2],...) if v is of type intvec.
- In case of a third argument of type int return a list l:
| l[1] = module Ext^k resp. list of Ext^k
l[2] = SB of Ext^k resp. list of SB of Ext^k
l[3] = matrix resp. list of matrices, each representing a kbase of Ext^k
(if finite dimensional)
|
- Display:
- printlevel >=0: (affine) dimension of Ext^k for each k (default)
printlevel >=1: Ak, Ak+1 and kbase of Ext^k in Fk*
- Note:
- In order to compute Ext^k(M,R) use the command Ext_R(k,syz(M));
By default, the procedure uses the mres command. If called
with the additional parameter "sres" , the sres command
is used instead.
If the attribute "isHomog" has been set for the input module, it
is also set for the returned module (accordingly).
Example:
|