From e3fc7b1000afa28661845afcefed6fb7c0e89250 Mon Sep 17 00:00:00 2001 From: ysyapa Date: Sat, 19 Aug 2023 00:40:10 +0000 Subject: [PATCH] Store multiplicity as an array --- common.jl | 2 +- irrep.jl | 16 ++++++++-------- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/common.jl b/common.jl index bb02b7b..672551f 100644 --- a/common.jl +++ b/common.jl @@ -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 diff --git a/irrep.jl b/irrep.jl index 66def85..36d8d8d 100644 --- a/irrep.jl +++ b/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]