1gap> m2 := [ 0 * Z(2), Z(2)^0 ]; 2[ 0*Z(2), Z(2)^0 ] 3gap> m4 := [ 0 * Z(4), Z(4)^0 ]; 4[ 0*Z(2), Z(2)^0 ] 5gap> m8 := [ 0 * Z(8), Z(8)^0 ]; 6[ 0*Z(2), Z(2)^0 ] 7gap> m16 := [ 0 * Z(16), Z(16)^0 ]; 8[ 0*Z(2), Z(2)^0 ] 9gap> m2 = m4; 10true 11gap> m2 = m8; 12true 13gap> m2 = m16; 14true 15 16# 17gap> c := CVEC_NewCVecClass(2, 1, 2); 18<cvec-class field=GF(2,1) len=2 wordlen=1> 19gap> CVec(m2, c); 20<cvec over GF(2,1) of length 2> 21gap> CVec(m4, c); 22<cvec over GF(2,1) of length 2> 23gap> CVec(m8, c); 24<cvec over GF(2,1) of length 2> 25gap> CVec(m16, c); 26<cvec over GF(2,1) of length 2> 27 28# 29gap> c := CVEC_NewCVecClass(2, 2, 2); 30<cvec-class field=GF(2,2) len=2 wordlen=2> 31gap> CVec(m2, c); 32<cvec over GF(2,2) of length 2> 33gap> CVec(m4, c); 34<cvec over GF(2,2) of length 2> 35gap> CVec(m8, c); 36<cvec over GF(2,2) of length 2> 37gap> CVec(m16, c); 38<cvec over GF(2,2) of length 2> 39 40# 41gap> c := CVEC_NewCVecClass(2, 3, 2); 42<cvec-class field=GF(2,3) len=2 wordlen=3> 43gap> CVec(m2, c); 44<cvec over GF(2,3) of length 2> 45gap> CVec(m4, c); 46<cvec over GF(2,3) of length 2> 47gap> CVec(m8, c); 48<cvec over GF(2,3) of length 2> 49gap> CVec(m16, c); 50<cvec over GF(2,3) of length 2> 51 52# 53gap> c := CVEC_NewCVecClass(2, 4, 2); 54<cvec-class field=GF(2,4) len=2 wordlen=4> 55gap> CVec(m2, c); 56<cvec over GF(2,4) of length 2> 57gap> CVec(m4, c); 58<cvec over GF(2,4) of length 2> 59gap> CVec(m8, c); 60<cvec over GF(2,4) of length 2> 61gap> CVec(m16, c); 62<cvec over GF(2,4) of length 2> 63 64# 65# The following test is motivated by issue #5 66# 67gap> mat := [[0,1],[3,1]]*Z(5)^0;; 68gap> basis := Basis(AsVectorSpace(GF(5),GF(5^2)));; 69gap> omega := Z(5^2);; 70gap> mat2 := List(BasisVectors(basis), t -> Coefficients(basis, t*omega));; 71gap> mat = mat2; 72true 73gap> cmat := NewMatrix(IsCMatRep,GF(5),Length(mat[1]),mat); 74<cmat 2x2 over GF(5,1)> 75gap> cmat2 := NewMatrix(IsCMatRep,GF(5),Length(mat2[1]),mat2); 76<cmat 2x2 over GF(5,1)> 77gap> cmat = cmat2; 78true 79