Skip to content

Commit 2135c87

Browse files
Add energy offset in the Ising Hamiltonian model
1 parent 8d5a344 commit 2135c87

File tree

1 file changed

+3
-2
lines changed

1 file changed

+3
-2
lines changed

src/qunfold/simulator.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -52,15 +52,16 @@ def get_H_final(self, num_qubits, h, J):
5252

5353
def run(self, bqm):
5454
num_qubits = bqm.num_variables
55-
linear, quadratic, _ = bqm.to_ising()
55+
linear, quadratic, offset = bqm.to_ising()
5656
h = np.array([linear.get(i, 0) for i in range(num_qubits)])
5757
J = np.array([[quadratic.get((i, j), 0) for i in range(num_qubits)] for j in range(num_qubits)])
5858
H_init = self.get_H_init(num_qubits=num_qubits)
5959
H_final = self.get_H_final(num_qubits=num_qubits, h=h, J=J)
60+
H_final.setdiag(H_final.diagonal() + offset)
6061
time = np.linspace(start=0, stop=1, num=self.time_steps)
6162
H_ising_list = []
6263
for s in time:
6364
a, b = self.anneal_schedule(s=s)
64-
H_ising = -(a / 2) * H_init + (b / 2) * H_final
65+
H_ising = -a * H_init + b * H_final
6566
H_ising_list.append(H_ising)
6667
return H_ising_list

0 commit comments

Comments
 (0)