# Utils¶

## Solvers¶

solve_ising(linear, quad, num_reads=10, sweeps=1000, beta_range=(1.0, 50.0))[source]

[deprecated] Solve Ising model with Simulated Annealing (SA) provided by neal.

Parameters: linear (dict[label, float]) – The linear parameter of the Ising model. quad (dict[(label, label), float]) – The quadratic parameter of the Ising model. num_reads (int, default=10) – Number of run repetitions of SA. sweeps (int, default=1000) – Number of iterations in each run of SA. beta_range (tuple(float, float), default=(1.0, 50.0)) – Tuple of start beta and end beta.

Note

solve_ising() is deprecated. Use dwave-neal package instead like below.

>>> from pyqubo import Spin
>>> import neal
>>> s1, s2, s3 = Spin("s1"), Spin("s2"), Spin("s3")
>>> H = (2*s1 + 4*s2 + 6*s3)**2
>>> model = H.compile()
>>> bqm = model.to_bqm()
>>> sa = neal.SimulatedAnnealingSampler()
>>> sampleset = sa.sample(bqm, num_reads=10)
>>> samples = model.decode_sampleset(sampleset)
>>> best_sample = min(samples, key=lambda s: s.energy)
>>> pprint(best_sample.sample) # doctest: +SKIP
{'s1': 0, 's2': 0, 's3': 1}

solve_qubo(qubo, num_reads=10, sweeps=1000, beta_range=(1.0, 50.0))[source]

[deprecated] Solve QUBO with Simulated Annealing (SA) provided by neal.

Parameters: qubo (dict[(label, label), float]) – The QUBO to be solved. num_reads (int, default=10) – Number of run repetitions of SA. sweeps (int, default=1000) – Number of iterations in each run of SA. beta_range (tuple(float, float), default=(1.0, 50.0)) – Tuple of start beta and end beta. The solution of SA. dict[label, bit]

Note

solve_qubo() is deprecated. Use dwave-neal package instead like below.

>>> from pyqubo import Spin
>>> import neal
>>> s1, s2, s3 = Spin("s1"), Spin("s2"), Spin("s3")
>>> H = (2*s1 + 4*s2 + 6*s3)**2
>>> model = H.compile()
>>> bqm = model.to_bqm()
>>> sa = neal.SimulatedAnnealingSampler()
>>> sampleset = sa.sample(bqm, num_reads=10)
>>> samples = model.decode_sampleset(sampleset)
>>> best_sample = min(samples, key=lambda s: s.energy)
>>> pprint(best_sample.sample) # doctest: +SKIP
{'s1': 0, 's2': 0, 's3': 1}


## Asserts¶

assert_qubo_equal(qubo1, qubo2)[source]

Assert the given QUBOs are identical.

Parameters: qubo1 (dict[(label, label), float]) – QUBO to be compared. qubo2 (dict[(label, label), float]) – QUBO to be compared.