Skip to content

Commit 4620915

Browse files
Even better vectorization
1 parent 068f114 commit 4620915

1 file changed

Lines changed: 2 additions & 8 deletions

File tree

pyqrackising/maxcut_tfim_util.py

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -318,27 +318,21 @@ def convert_bool_to_uint(samples):
318318

319319
@njit(cache=True)
320320
def compute_energy(sample, G_m, n_qubits):
321-
energy = 0.0
322321
orig = np.repeat(sample, n_qubits)
323322
result = orig.copy()
324323
result = result.reshape(-1, n_qubits) ^ orig.reshape(-2, n_qubits)
325324
result = (result * 2) - 1
326-
for u in range(n_qubits):
327-
energy += (result[u] * G_m[u]).sum()
328325

329-
return energy / 2.0
326+
return (result * G_m).sum() / 2.0
330327

331328

332329
@njit(cache=True)
333330
def compute_cut(sample, G_m, n_qubits):
334-
cut = 0.0
335331
orig = np.repeat(sample, n_qubits)
336332
result = orig.copy()
337333
result = result.reshape(-1, n_qubits) ^ orig.reshape(-2, n_qubits)
338-
for u in range(n_qubits):
339-
cut += (result[u] * G_m[u]).sum()
340334

341-
return cut / 2.0
335+
return (result * G_m).sum() / 2.0
342336

343337

344338
@njit(cache=True)

0 commit comments

Comments
 (0)