A small kernel of code for playing with Galois fields of arbitrary characteristic
リビジョン | 3db00685b38adab2c22d29a31b42a6fd586bc9f1 (tree) |
---|---|
日時 | 2016-04-17 09:30:07 |
作者 | Eric Hopper <hopper@omni...> |
コミッター | Eric Hopper |
Added function to generate whole field.
@@ -137,3 +137,14 @@ | ||
137 | 137 | |
138 | 138 | _fieldTypes[(prime_, basis_)] = gf |
139 | 139 | return gf |
140 | + | |
141 | +def generate_field(start): | |
142 | + one = start.__class__((0,) * (len(start.basis) - 2) + (1,)) | |
143 | + cur = start | |
144 | + vals = set((one,)) | |
145 | + field = [one] | |
146 | + while cur not in vals: | |
147 | + field.append(cur) | |
148 | + vals.add(cur) | |
149 | + cur = cur * start | |
150 | + return field |