| LIB "homolog.lib";
int p = printlevel;
printlevel= 1; //in 'example proc' printlevel has to be increased by 1
ring r = 0,(x,y),dp;
ideal i = x2-y3,xy;
qring q = std(i);
ideal i = fetch(r,i);
module M = [-x,y],[-y2,x],[x3];
module H = Hom(M,i);
→ // dimension of Hom: 0
→ // vdim of Hom: 5
→
→ // given F1 --M-> F0 -->M'--> 0 and G1 --N-> G0 -->N'--> 0,
→ // show D = ker( Hom(F0,G0) --> Hom(F1,G0)/im(Hom(F1,G1)->Hom(F1,G0)) )
→ y,x, 0,
→ x,y2,x2
→ // show C = im ( Hom(F0,G1) --> Hom(F0,G0) )
→ -y3+x2,0, xy,0,
→ 0, -y3+x2,0, xy
→
print(H);
→ 0, x, 0,y2,0,
→ y, 0, 0,-x,x2,
→ -1,-1,x,0, 0
printlevel= 2;
list L = Hom(M,i,1);"";
→ // dimension of Hom: 0
→ // vdim of Hom: 5
→
→ // given F1 --M-> F0 -->M'--> 0 and G1 --N-> G0 -->N'--> 0,
→ // show D = ker( Hom(F0,G0) --> Hom(F1,G0)/im(Hom(F1,G1)->Hom(F1,G0)) )
→ y,x, 0,
→ x,y2,x2
→ // show C = im ( Hom(F0,G1) --> Hom(F0,G0) )
→ -y3+x2,0, xy,0,
→ 0, -y3+x2,0, xy
→
→ // element 1 of kbase of Hom in Hom(F0,G0) as matrix: F0-->G0:
→ y2,xy
→ // element 2 of kbase of Hom in Hom(F0,G0) as matrix: F0-->G0:
→ y,x
→ // element 3 of kbase of Hom in Hom(F0,G0) as matrix: F0-->G0:
→ x2,xy2
→ // element 4 of kbase of Hom in Hom(F0,G0) as matrix: F0-->G0:
→ x,y2
→ // element 5 of kbase of Hom in Hom(F0,G0) as matrix: F0-->G0:
→ 0,x2
→
printlevel=1;
ring s = 3,(x,y,z),(c,dp);
ideal i = jacob(ideal(x2+y5+z4));
qring rq=std(i);
matrix M[2][2]=xy,x3,5y,4z,x2;
matrix N[3][2]=x2,x,y3,3xz,x2z,z;
print(M);
→ xy,x3,
→ -y,z
print(N);
→ x2, x,
→ y3, 0,
→ x2z,z
list l=Hom(M,N,1);
→ // dimension of Hom: 0
→ // vdim of Hom: 16
→
→ // given F1 --M-> F0 -->M'--> 0 and G1 --N-> G0 -->N'--> 0,
→ // show D = ker( Hom(F0,G0) --> Hom(F1,G0)/im(Hom(F1,G1)->Hom(F1,G0)) )
→ 0,0, 0,0, 0, 0,0, 1,
→ 0,0, 0,0, 0, 0,y3z2,0,
→ 0,0, 0,0, 0, 1,0, 0,
→ 0,0, 0,y3,y2z2,0,0, 0,
→ 0,0, 1,0, 0, 0,0, 0,
→ z,y3,0,0, 0, 0,0, 0
→ // show C = im ( Hom(F0,G1) --> Hom(F0,G0) )
→ x2, 0, x,0,
→ 0, x2, 0,x,
→ y3, 0, 0,0,
→ 0, y3, 0,0,
→ x2z,0, z,0,
→ 0, x2z,0,z
→
→ // columns of matrix are kbase of Hom in Hom(F0,G0)
→ 0, 0, 0, 0,0,0, 0, 0, 0, 0, 0, 0,0, 0,0,0,
→ 0, 0, 0, 0,0,0, 0, 0, 0, 0, 0, 0,0, 0,0,y3z2,
→ 0, 0, 0, 0,0,0, y2z2,yz2,z2,y2z,yz,z,y2,y,1,0,
→ 0, 0, 0, 0,0,y2z2,0, 0, 0, 0, 0, 0,0, 0,0,0,
→ 0, y3,y2,y,1,0, 0, 0, 0, 0, 0, 0,0, 0,0,0,
→ y3,0, 0, 0,0,0, 0, 0, 0, 0, 0, 0,0, 0,0,0
printlevel = p;
|