Store multiplicity as an array

This commit is contained in:
ysyapa 2023-08-19 00:40:10 +00:00
parent ad7204eb3a
commit e3fc7b1000
2 changed files with 9 additions and 9 deletions

View File

@ -90,7 +90,7 @@ function calculate_Vs(s::system{T}, V_twobody::Function, ϕ::T, n_image::Int)::A
end end
end end
end end
Vs[i] *= s.multiplicity[s.unique_i[i[1]]] Vs[i] *= s.multiplicity[i[1]]
end end
return Vs return Vs
end end

View File

@ -35,7 +35,7 @@ function calculate_A1_data(N::Int)
end end
unique_i = unique(labels) unique_i = unique(labels)
multiplicity = countmap(labels) multiplicity = [countmap(labels)[i] for i in unique_i]
unique_point = transpose(lattice[:, unique_i]) unique_point = transpose(lattice[:, unique_i])
return unique_i, unique_point, multiplicity return unique_i, unique_point, multiplicity
@ -47,13 +47,13 @@ function sym_reduce(s, K_partial)
K_partial_y = kron(kron(I, K_partial), I) K_partial_y = kron(kron(I, K_partial), I)
K_partial_z = kron(kron(I, I), K_partial) K_partial_z = kron(kron(I, I), K_partial)
for i in s.unique_i for (i, j) in enumerate(s.unique_i)
K_partial_x[i, :] *= sqrt(s.multiplicity[i]) K_partial_x[j, :] *= sqrt(s.multiplicity[i])
K_partial_x[:, i] *= sqrt(s.multiplicity[i]) K_partial_x[:, j] *= sqrt(s.multiplicity[i])
K_partial_y[i, :] *= sqrt(s.multiplicity[i]) K_partial_y[j, :] *= sqrt(s.multiplicity[i])
K_partial_y[:, i] *= sqrt(s.multiplicity[i]) K_partial_y[:, j] *= sqrt(s.multiplicity[i])
K_partial_z[i, :] *= sqrt(s.multiplicity[i]) K_partial_z[j, :] *= sqrt(s.multiplicity[i])
K_partial_z[:, i] *= sqrt(s.multiplicity[i]) K_partial_z[:, j] *= sqrt(s.multiplicity[i])
end end
K_partial_x = K_partial_x[s.unique_i, s.unique_i] K_partial_x = K_partial_x[s.unique_i, s.unique_i]