dimod
dimod copied to clipboard
DQM.to_bqm() or similar
Something like
def dqm_to_bqm(dqm, strength):
case_starts, linear, quadratic, _ = dqm.to_numpy_vectors()
bqm = dimod.AdjVectorBQM.from_numpy_vectors(linear, quadratic, 0.0, dimod.BINARY)
for i in range(len(case_starts)-1):
cases = range(case_starts[i], case_starts[i+1])
bqm.update(dimod.generators.combinations(cases, 1, strength=strength))
if len(case_starts):
cases = range(case_starts[-1], dqm.num_cases())
bqm.update(dimod.generators.combinations(cases, 1, strength=strength))
return bqm