|
A.3.11 Kernel of module homomorphisms
Let
,
be two matrices of size
and over the ring
and consider the corresponding maps
We want to compute the kernel of the map
This can be done using the modulo command:
More precisely, the output of modulo(A,B) is a module
such that the given generating vector s span the kernel on the
right-hand side.
| ring r=0,(x,y,z),(c,dp);
matrix A[2][2]=x,y,z,1;
matrix B[2][2]=x2,y2,z2,xz;
print(B);
==> x2,y2,
==> z2,xz
def C=modulo(A,B);
print(C); // matrix of generators for the kernel
==> yz2-x2, xyz-y2, x2z-xy, x3-y2z,
==> x2z-xz2,-x2z+y2z,xyz-yz2,0
print(A*matrix(C)); // should be in Im(B)
==> x2yz-x3,y3z-xy2, x3z+xy2z-y2z2-x2y,x4-xy2z,
==> yz3-xz2,xyz2-x2z,x2z2-yz2, x3z-y2z2
|
|