Files
  • main.py
main.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
#STARTING VECTORS
Mem =     [ [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1] ]         #1
Mem.append( [1,1,1,1,1,1,1,1,-1,-1,-1,-1,-1,-1,-1,-1] ) #E
Mem.append( [1,1,1,1,-1,-1,-1,-1,1,1,1,1,-1,-1,-1,-1] ) #P
Mem.append( [1,-1,1,-1,1,-1,1,-1,1,-1,1,-1,1,-1,1,-1] ) #NT

Mem.append( [1,-1,-1,1,1,-1,-1,1,1,-1,-1,1,1,-1,-1,1] ) #N
Mem.append( [1,-1,-1,1,1,1,-1,-1,1,-1,-1,1,1,1,-1,-1] ) #Abstract Base


#GENERATE GROUP
x=1
while (x < len(Mem)-1):
  y=x+1
  while (y < len(Mem)) :
    newTable = [
      Mem[x][0]  *  Mem[y][0],
      Mem[x][1]  *  Mem[y][1],
      Mem[x][2]  *  Mem[y][2],
      Mem[x][3]  *  Mem[y][3],
      Mem[x][4]  *  Mem[y][4],
      Mem[x][5]  *  Mem[y][5],
      Mem[x][6]  *  Mem[y][6],
      Mem[x][7]  *  Mem[y][7],
      Mem[x][8]  *  Mem[y][8],
      Mem[x][9]  *  Mem[y][9],
      Mem[x][10] *  Mem[y][10],
      Mem[x][11] *  Mem[y][11],
      Mem[x][12] *  Mem[y][12],
      Mem[x][13] *  Mem[y][13],
      Mem[x][14] *  Mem[y][14],
      Mem[x][15] *  Mem[y][15]
    ]

    if (Mem.count(newTable) == 0):
      Mem.append(newTable)
      x=1
      y=len(Mem)
    
    y=y+1
  
  x=x+1


#PRINT TABLES
length = len(Mem)
i = 0
while i < length:
  print( str(Mem[i][0])  +'\t'+ str(Mem[i][1])  +'\t'+ str(Mem[i][2])  +'\t'+ str(Mem[i][3]) )
  print( str(Mem[i][4])  +'\t'+ str(Mem[i][5])  +'\t'+ str(Mem[i][6])  +'\t'+ str(Mem[i][7]) )
  print( str(Mem[i][8])  +'\t'+ str(Mem[i][9])  +'\t'+ str(Mem[i][10]) +'\t'+ str(Mem[i][11]) )
  print( str(Mem[i][12]) +'\t'+ str(Mem[i][13]) +'\t'+ str(Mem[i][14]) +'\t'+ str(Mem[i][15]) )
  print('')

  i=i+1