Store multiplicity as an array
This commit is contained in:
parent
ad7204eb3a
commit
e3fc7b1000
|
|
@ -90,7 +90,7 @@ function calculate_Vs(s::system{T}, V_twobody::Function, ϕ::T, n_image::Int)::A
|
|||
end
|
||||
end
|
||||
end
|
||||
Vs[i] *= s.multiplicity[s.unique_i[i[1]]]
|
||||
Vs[i] *= s.multiplicity[i[1]]
|
||||
end
|
||||
return Vs
|
||||
end
|
||||
|
|
|
|||
16
irrep.jl
16
irrep.jl
|
|
@ -35,7 +35,7 @@ function calculate_A1_data(N::Int)
|
|||
end
|
||||
|
||||
unique_i = unique(labels)
|
||||
multiplicity = countmap(labels)
|
||||
multiplicity = [countmap(labels)[i] for i in unique_i]
|
||||
unique_point = transpose(lattice[:, unique_i])
|
||||
|
||||
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_z = kron(kron(I, I), K_partial)
|
||||
|
||||
for i in s.unique_i
|
||||
K_partial_x[i, :] *= sqrt(s.multiplicity[i])
|
||||
K_partial_x[:, i] *= sqrt(s.multiplicity[i])
|
||||
K_partial_y[i, :] *= sqrt(s.multiplicity[i])
|
||||
K_partial_y[:, i] *= sqrt(s.multiplicity[i])
|
||||
K_partial_z[i, :] *= sqrt(s.multiplicity[i])
|
||||
K_partial_z[:, i] *= sqrt(s.multiplicity[i])
|
||||
for (i, j) in enumerate(s.unique_i)
|
||||
K_partial_x[j, :] *= sqrt(s.multiplicity[i])
|
||||
K_partial_x[:, j] *= sqrt(s.multiplicity[i])
|
||||
K_partial_y[j, :] *= sqrt(s.multiplicity[i])
|
||||
K_partial_y[:, j] *= sqrt(s.multiplicity[i])
|
||||
K_partial_z[j, :] *= sqrt(s.multiplicity[i])
|
||||
K_partial_z[:, j] *= sqrt(s.multiplicity[i])
|
||||
end
|
||||
|
||||
K_partial_x = K_partial_x[s.unique_i, s.unique_i]
|
||||
|
|
|
|||
Loading…
Reference in New Issue