# 65.131 HorizontalConversionFieldMat

`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
April 1997