|
D.4.7.20 Tor
Procedure from library homolog.lib (see homolog_lib).
- Compute:
- a presentation of Tor_k(M',N'), for k=v[1],v[2],... , where
M'=coker(M) and N'=coker(N): let
| 0 <-- M' <-- G0 <-M-- G1
0 <-- N' <-- F0 <--N- F1 <-- F2 <--...
| be a presentation of M', resp. a free resolution of N', and consider
the commutative diagram
| 0 0 0
|^ |^ |^
Tensor(M',Fk+1) -Ak+1-> Tensor(M',Fk) -Ak-> Tensor(M',Fk-1)
|^ |^ |^
Tensor(G0,Fk+1) -Ak+1-> Tensor(G0,Fk) -Ak-> Tensor(G0,Fk-1)
|^ |^
|C |B
Tensor(G1,Fk) ----> Tensor(G1,Fk-1)
(Ak,Ak+1 induced by N and B,C induced by M).
| Let K=modulo(Ak,B), J=module(C)+module(Ak+1) and Tor=modulo(K,J),
then we have exact sequences
| R^p --K-> Tensor(G0,Fk) --Ak-> Tensor(G0,Fk-1)/im(B),
R^q -Tor-> R^p --K-> Tensor(G0,Fk)/(im(C)+im(Ak+1)).
| Hence, Tor presents Tor_k(M',N').
- Return:
- - if v is of type int: module Tor, a presentation of Tor_k(M',N');
- if v is of type intvec: a list of Tor_k(M',N') (k=v[1],v[2],...);
- in case of a third argument of any type: list l with
| l[1] = module Tor/list of Tor_k(M',N'),
l[2] = SB of Tor/list of SB of Tor_k(M',N'),
l[3] = matrix/list of matrices, each representing a kbase of Tor_k(M',N')
(if finite dimensional), or 0.
|
- Display:
- printlevel >=0: (affine) dimension of Tor_k for each k (default).
printlevel >=1: matrices Ak, Ak+1 and kbase of Tor_k in Tensor(G0,Fk)
(if finite dimensional).
- Note:
- In order to compute Tor_k(M,N) use the command Tor(k,syz(M),syz(N));
or: list P=mres(M,2); list Q=mres(N,2); Tor(k,P[2],Q[2]);
Example:
|