KroneckerProduct( mat1, mat2 )
KroneckerProduct returns the Kronecker product of the two matrices
mat1 and mat2. If mat1 is a m by n matrix and mat2 is a o
by p matrix, the Kronecker product is a m*o by n*p
matrix, such that the entry in row (i1-1)*o+i2 at position
(k1-1)*p+k2 is mat1[i1][k1] * mat2[i2][k2].
gap> mat1 := [ [ 0, -1, 1 ], [ -2, 0, -2 ] ];;
gap> mat2 := [ [ 1, 1 ], [ 0, 1 ] ];;
gap> PrintArray( KroneckerProduct( mat1, mat2 ) );
[ [ 0, 0, -1, -1, 1, 1 ],
[ 0, 0, 0, -1, 0, 1 ],
[ -2, -2, 0, 0, -2, -2 ],
[ 0, -2, 0, 0, 0, -2 ] ]
GAP 3.4.4