Skip to content

Commit

Permalink
Add State.from_(sub)problem factories
Browse files Browse the repository at this point in the history
  • Loading branch information
randomir committed Mar 20, 2019
1 parent 9b75b49 commit 1932c15
Showing 1 changed file with 28 additions and 0 deletions.
28 changes: 28 additions & 0 deletions hybrid/core.py
Original file line number Diff line number Diff line change
Expand Up @@ -195,6 +195,34 @@ def from_subsamples(cls, subsamples, bqm):
"""Similar to :meth:`.from_samples`, but initializes `subproblem` and `subsamples`."""
return cls(subproblem=bqm, subsamples=SampleSet.from_samples_bqm(subsamples, bqm))

@classmethod
def from_problem(cls, bqm, samples=None):
"""Convenience method for constructing a state from (possibly only) a BQM."""

if samples is None:
samples = min_sample

if callable(samples):
sampleset = samples(bqm)
else:
sampleset = samples

return cls.from_samples(sampleset, bqm)

@classmethod
def from_subproblem(cls, bqm, subsamples=None):
"""Convenience method for constructing a state from (possibly only) a subproblem BQM."""

if subsamples is None:
subsamples = min_sample

if callable(subsamples):
sampleset = subsamples(bqm)
else:
sampleset = subsamples

return cls.from_subsamples(sampleset, bqm)


class States(list):
"""List of states."""
Expand Down

0 comments on commit 1932c15

Please sign in to comment.