Skip to content

Commit 385c4c5

Browse files
Optimize for MAXCUT case without TFIM repulsion/attraction
1 parent 7deeb37 commit 385c4c5

File tree

6 files changed

+12
-3
lines changed

6 files changed

+12
-3
lines changed

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ build-backend = "setuptools.build_meta"
1010

1111
[project]
1212
name = "pyqrackising"
13-
version = "9.5.12"
13+
version = "9.5.13"
1414
requires-python = ">=3.8"
1515
description = "Fast MAXCUT, TSP, and sampling heuristics from near-ideal transverse field Ising model (TFIM)"
1616
readme = {file = "README.txt", content-type = "text/markdown"}

pyqrackising/maxcut_tfim.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,9 @@ def update_repulsion_choice(G_m, weights, n, used, node, repulsion_base):
2222
# Select node
2323
used[node] = True
2424

25+
if abs(1.0 - repulsion_base) <= epsilon:
26+
return
27+
2528
# Repulsion: penalize neighbors
2629
for nbr in range(n):
2730
if used[nbr]:

pyqrackising/maxcut_tfim_sparse.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,9 @@ def update_repulsion_choice(G_data, G_rows, G_cols, weights, n, used, node, repu
2222
# Select node
2323
used[node] = True
2424

25+
if abs(1.0 - repulsion_base) <= epsilon:
26+
return
27+
2528
# Repulsion: penalize neighbors
2629
for j in range(G_rows[node], G_rows[node + 1]):
2730
nbr = G_cols[j]

pyqrackising/maxcut_tfim_streaming.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,9 @@ def update_repulsion_choice(G_func, nodes, weights, n, used, node, repulsion_bas
1515
# Select node
1616
used[node] = True
1717

18+
if abs(1.0 - repulsion_base) <= epsilon:
19+
return
20+
1821
# Repulsion: penalize neighbors
1922
for nbr in range(n):
2023
if used[nbr]:

scripts/labs.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,7 @@ def generate_labs_qubo(N, lam=10.0):
8181
n_nodes = int(sys.argv[2]) if len(sys.argv) > 2 else 32
8282
quality = int(sys.argv[3]) if len(sys.argv) > 3 else None
8383
G_m, labels = generate_labs_qubo(n_nodes)
84-
best_bitstring, best_cut_value, best_cut = spin_glass_solver(G_m, quality=quality, is_spin_glass=False, anneal_t=64.0, anneal_h=64.0, repulsion_base=1.0)
84+
best_bitstring, best_cut_value, best_cut, best_energy = spin_glass_solver(G_m, quality=quality, is_spin_glass=False, anneal_t=64.0, anneal_h=64.0, repulsion_base=1.0)
8585

8686
print(f"Best cut: {best_cut_value}")
8787
print(f"Length {n_nodes} solution: {best_bitstring}")

setup.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77

88
setup(
99
name='pyqrackising',
10-
version='9.5.12',
10+
version='9.5.13',
1111
author='Dan Strano',
1212
author_email='stranoj@gmail.com',
1313
description='Fast MAXCUT, TSP, and sampling heuristics from near-ideal transverse field Ising model (TFIM)',

0 commit comments

Comments
 (0)