/* www-ATLAS of Group Representations. U3(4):4 represented as 16 x 16 matrices over GF(2). */ F:=GF(2); x:=CambridgeMatrix(1,F,16,[ "0100000000000000", "1000000000000000", "0001000000000000", "0010000000000000", "0000001000000000", "0000000100000000", "0000100000000000", "0000010000000000", "0000000000010000", "0000000000000100", "0000000000000001", "0000000010000000", "1111000010111001", "0000000001000000", "1001111110001011", "0000000000100000"]); y:=CambridgeMatrix(1,F,16,[ "0010000000000000", "0110000000000000", "0000100000000000", "0000010000000000", "1010100000000000", "0000000010000000", "0000000001000000", "0000000000100000", "0000000000001000", "0000000000000010", "0011110110001000", "0011110100001101", "0001000000000000", "1001100111100110", "1001111011001010", "0000010101110000"]); G:=MatrixGroup<16,F|x,y>; print "Group G is U3(4):4 < GL(16,GF(2))";