|
D.4.8.1 canonMap
Procedure from library homolog.lib (see homolog_lib).
- Usage:
- canonMap(id); id= ideal/module,
- Return:
- a list L, the kernel in two different representations and
the cokernel of the canonical map
M ---> Ext^c_R(Ext^c_R(M,R),R) given by presentations
Here M is the R-module (R=basering) given by the presentation
defined by id, i.e. M=R/id resp. M=R^n/id
c is the codimension of M
L[1] is the preimage of the kernel in R resp. R^n
L[2] is a presentation of the kernel
L[3] is a presentation of the cokernel
Example:
| LIB "homolog.lib";
ring s=0,(x,y),dp;
ideal i = x,y;
canonMap(i);
==> [1]:
==> _[1]=y*gen(1)
==> _[2]=x*gen(1)
==> [2]:
==> _[1]=0
==> [3]:
==> _[1]=0
ring R = 0,(x,y,z,w),dp;
ideal I1 = x,y;
ideal I2 = z,w;
ideal I = intersect(I1,I2);
canonMap(I);
==> [1]:
==> _[1]=yw*gen(1)
==> _[2]=xw*gen(1)
==> _[3]=yz*gen(1)
==> _[4]=xz*gen(1)
==> [2]:
==> _[1]=0
==> [3]:
==> _[1]=-w*gen(1)
==> _[2]=-z*gen(1)
==> _[3]=-y*gen(1)
==> _[4]=-x*gen(1)
module M = syz(I);
canonMap(M);
==> [1]:
==> _[1]=z*gen(1)-w*gen(3)
==> _[2]=z*gen(2)-w*gen(4)
==> _[3]=x*gen(1)-y*gen(2)
==> _[4]=x*gen(3)-y*gen(4)
==> [2]:
==> _[1]=0
==> [3]:
==> _[1]=yw*gen(1)
==> _[2]=xw*gen(1)
==> _[3]=yz*gen(1)
==> _[4]=xz*gen(1)
ring S = 0,(x,y,z,t),Wp(3,4,5,1);
ideal I = x-t3,y-t4,z-t5;
ideal J = eliminate(I,t);
ring T = 0,(x,y,z),Wp(3,4,5);
ideal p = imap(S,J);
ideal p2 = p^2;
canonMap(p2);
==> [1]:
==> _[1]=x5*gen(1)-3x2yz*gen(1)+xy3*gen(1)+z3*gen(1)
==> _[2]=x2z2*gen(1)-2xy2z*gen(1)+y4*gen(1)
==> _[3]=x4z*gen(1)-x3y2*gen(1)-xyz2*gen(1)+y3z*gen(1)
==> _[4]=x3yz*gen(1)-x2y3*gen(1)-xz3*gen(1)+y2z2*gen(1)
==> _[5]=x4y2*gen(1)-4xy3z*gen(1)+2y5*gen(1)+z4*gen(1)
==> [2]:
==> _[1]=x*gen(1)
==> _[2]=y*gen(1)
==> _[3]=z*gen(1)
==> [3]:
==> _[1]=0
|
|