Identifying A1 reduction
This commit is contained in:
parent
3b7d7c7689
commit
6d557c58cf
|
|
@ -0,0 +1,25 @@
|
||||||
|
using DelimitedFiles
|
||||||
|
rotations = readdlm("rotations.csv", ',', Int, '\n')
|
||||||
|
rotations = reshape(rotations, (24, 3, 3))
|
||||||
|
|
||||||
|
N = 24
|
||||||
|
ks = -N÷2:N÷2-1
|
||||||
|
lattice = hcat((collect.(Iterators.product(ks, ks, ks)))...)
|
||||||
|
labels = reshape(collect(1:N^3), (N, N, N))
|
||||||
|
|
||||||
|
for r in 1:24
|
||||||
|
rotated_lattice = Matrix(rotations[r, :, :]) * lattice
|
||||||
|
for index in 1:N^3
|
||||||
|
rotated_lattice_point = rotated_lattice[:, index]
|
||||||
|
(i, j, k) = mod1.(rotated_lattice_point .+ (N÷2 + 1), N)
|
||||||
|
old_label = max(labels[index], labels[i, j, k])
|
||||||
|
new_label = min(labels[index], labels[i, j, k])
|
||||||
|
if old_label != new_label
|
||||||
|
for o in findall(isequal(old_label), labels)
|
||||||
|
labels[o] = new_label
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
unique(labels)
|
||||||
|
|
@ -0,0 +1,24 @@
|
||||||
|
1,0,0,0,1,0,0,0,1
|
||||||
|
1,0,0,0,0,-1,0,1,0
|
||||||
|
0,0,1,0,1,0,-1,0,0
|
||||||
|
0,-1,0,1,0,0,0,0,1
|
||||||
|
1,0,0,0,-1,0,0,0,-1
|
||||||
|
-1,0,0,0,1,0,0,0,-1
|
||||||
|
-1,0,0,0,-1,0,0,0,1
|
||||||
|
1,0,0,0,0,1,0,-1,0
|
||||||
|
0,0,-1,0,1,0,1,0,0
|
||||||
|
0,1,0,-1,0,0,0,0,1
|
||||||
|
0,0,-1,1,0,0,0,-1,0
|
||||||
|
0,0,1,-1,0,0,0,-1,0
|
||||||
|
0,0,-1,-1,0,0,0,1,0
|
||||||
|
0,0,1,1,0,0,0,1,0
|
||||||
|
0,1,0,0,0,-1,-1,0,0
|
||||||
|
0,-1,0,0,0,-1,1,0,0
|
||||||
|
0,-1,0,0,0,1,-1,0,0
|
||||||
|
0,1,0,0,0,1,1,0,0
|
||||||
|
0,1,0,1,0,0,0,0,-1
|
||||||
|
0,-1,0,-1,0,0,0,0,-1
|
||||||
|
0,0,1,0,-1,0,1,0,0
|
||||||
|
0,0,-1,0,-1,0,-1,0,0
|
||||||
|
-1,0,0,0,0,1,0,1,0
|
||||||
|
-1,0,0,0,0,-1,0,-1,0
|
||||||
|
Loading…
Reference in New Issue