HorizontalConversionFieldMat( M, F )
HorizontalConversionFieldMat returns the matrix M with its elements
converted from a field <F>=GF(q^m), q prime, to a field GF(q). Each
element is replaced by its representation over the latter field, placed
horizontally in the matrix.
If M is a k by n matrix, the result is a k*m by n*m matrix. The new word length of the resulting code is equal to n*m, because each element of GF(q^m) can be represented in GF(q) using m elements. The new dimension is equal to k*m because the new matrix should be a basis for the same number of vectors as the old one.
ConversionFieldCode uses horizontal conversion to convert a code (see
ConversionFieldCode).
gap> M := Z(9)*[[1,2],[2,1]];; PrintArray(M);
[ [ Z(3^2), Z(3^2)^5 ],
[ Z(3^2)^5, Z(3^2) ] ]
gap> DefaultField( Flat(M) );
GF(3^2)
gap> HCFM := HorizontalConversionFieldMat(M, GF(9));; PrintArray(HCFM);
[ [ 0*Z(3), Z(3)^0, 0*Z(3), Z(3) ],
[ Z(3)^0, Z(3)^0, Z(3), Z(3) ],
[ 0*Z(3), Z(3), 0*Z(3), Z(3)^0 ],
[ Z(3), Z(3), Z(3)^0, Z(3)^0 ] ]
gap> DefaultField( Flat(HCFM) );
GF(3)
A similar function is VerticalConversionFieldMat (see
VerticalConversionFieldMat).
GAP 3.4.4