def test_from_subproblem(self): subsample = {0: 1, 1: 0} bqm = dimod.BinaryQuadraticModel({0: 1, 1: 2}, {}, 0.0, 'BINARY') self.assertEqual(State.from_subproblem(bqm).subsamples.first.energy, 0.0) self.assertEqual(State.from_subproblem(bqm, beta=0.5).beta, 0.5) self.assertEqual(State.from_subproblem(bqm, subsamples=hybrid.utils.max_sample).subsamples.first.energy, 3.0) self.assertEqual(State.from_subproblem(bqm, subsamples=subsample), State.from_subsamples(subsample, bqm)) self.assertEqual(State.from_subproblem(bqm, subsamples=[subsample]), State.from_subsamples([subsample], bqm))
def test_from_subsamples(self): s1 = [0, 1] s2 = {0: 1, 1: 0} bqm = dimod.BinaryQuadraticModel({0: 1, 1: 2}, {}, 0.0, 'BINARY') self.assertEqual(State.from_subsample(s1, bqm).subsamples.first.energy, 2.0) self.assertEqual(State.from_subsample(s2, bqm).subsamples.first.energy, 1.0) self.assertEqual(State.from_subsample(s2, bqm, beta=0.5).beta, 0.5) self.assertEqual(State.from_subsamples([s1, s1], bqm).subsamples.first.energy, 2.0) self.assertEqual(State.from_subsamples([s2, s2], bqm).subsamples.first.energy, 1.0) self.assertEqual(State.from_subsamples([s2, s2], bqm, beta=0.5).beta, 0.5) self.assertEqual(State.from_subsamples([sample_as_dict(s1), s2], bqm).subsamples.first.energy, 1.0)