# Singular

#### D.15.23.38 tensorModule

Procedure from library `modules.lib` (see modules_lib).

Return:
Tensorprodukt of M,N

Example:
 ```LIB "modules.lib"; ring R = 0,(x,y,z),dp; matrix a[1][2] = x,y; Matrix A = a; matrix b[1][2] = x2,y2; Matrix B = b; Module M = subquotient(A,B); M; ==> subquotient (| x y |, | x2 y2 |) ==> ==> matrix c[2][2]=x,y2,z,xz; Matrix C=c; matrix d[2][3]=z2,xyz,x2y2,xy,x3,y4; Matrix D=d; Module N = subquotient(C,D); N; ==> subquotient (| x y2 |, | z2 xyz x2y2 |) ==> | z xz | | xy x3 y4 | ==> ==> tensorModule(M,N); ==> cokernel | 0 x -y 0 0 0 -xyz+y2 0 x2z-xyz 0 y4-xyz2-x2z+xyz+\ y2z-y2 0 -xy2z-y3z+xy2+y3+x2z-xyz+xz2+y2 0 \ -y3z+xz2 0 xy2z2-xy2z-y3z+y3 0 \ y4z-y4-x2z2+xyz2+x2z-xyz-y2z+y2 0 xy3z-xy\ 3+xy2z+y3z-xy2-y3-x2z+xyz-xz2-y2 0 \ 0 0 x2y2z-x2y2+xy2z+y3z-xy2-y3-x2z+xyz-xz2-y2 0 \ | ==> | y 0 x 0 0 0 0 -xyz+y2 0 x2z-xyz 0 \ y4-xyz2-x2z+xyz+y2z-y2 0 -xy2z-y3z+x\ y2+y3+x2z-xyz+xz2+y2 0 -y3z+xz2 0 xy2z2-xy2z-y3z+y\ 3 0 y4z-y4-x2z2+xyz2+x2z-xyz-y2z+y2 0 \ xy3z-xy3+xy2z+y3z-xy2-y3-x2z+xyz-xz2-y2 \ 0 0 0 x2y2z-x2y2+xy2z\ +y3z-xy2-y3-x2z+xyz-xz2-y2 | ==> | 0 0 0 0 x -y z2-x 0 0 0 -xy2+z3-z2+x \ 0 -y2z+yz2-x2-xy-xz+z2-x 0 \ 0 0 -yz3+x2z+yz2-xy 0 \ xy2-z3+z2-x 0 -y2z2+x\ 2y+y2z-yz2+x2+xy+xz-z2+x 0 \ xyz-y2z 0 -xyz2+x3+y2z-yz2+x2+xy+xz-z2+x 0 \ | ==> | 0 0 0 y 0 x 0 z2-x 0 0 0 \ -xy2+z3-z2+x 0 -y2z+yz2-x2\ -xy-xz+z2-x 0 0 0 -yz3+x2z+yz2-xy \ 0 xy2-z3+z2-x 0 \ -y2z2+x2y+y2z-yz2+x2+xy+xz-z2+x \ 0 xyz-y2z 0 -xyz2+x3+y2z-yz\ 2+x2+xy+xz-z2+x | ==> ==> ```