/* www-ATLAS of Group Representations. U3(4) represented as 16 x 16 matrices over GF(2). */ F:=GF(2); x:=CambridgeMatrix(1,F,16,[ "1000000000000000", "0100000000000000", "0001000000000000", "0010000000000000", "0000010000000000", "0000100000000000", "0000000010000000", "0000000001000000", "0000001000000000", "0000000100000000", "0000000000000100", "1100000000110100", "1000000101001000", "0000000000100000", "0000000000000001", "0000000000000010"]); y:=CambridgeMatrix(1,F,16,[ "0100000000000000", "0010000000000000", "1000000000000000", "0000100000000000", "0000001000000000", "0000000100000000", "0001000000000000", "0000000000100000", "0000000000010000", "0000000000001000", "0000010000000000", "0000010110110000", "0000000001001000", "0000000000000010", "1001000110010101", "0100110110000110"]); G:=MatrixGroup<16,F|x,y>; print "Group G is U3(4) < GL(16,GF(2))";