.. _composers_hybrid: ========= Composers ========= .. automodule:: hybrid.composers Class ===== Subsample to Sample Composers ----------------------------- .. autoclass:: IdentityComposer .. autoclass:: SplatComposer Sample Processors ----------------- .. autoclass:: GreedyPathMerge .. autoclass:: IsoenergeticClusterMove Primitive Sample Operations --------------------------- .. autoclass:: AggregatedSamples .. autoclass:: ExplodeSamples .. autoclass:: MergeSamples .. autoclass:: SliceSamples .. _composers-examples: Examples ======== SplatComposer ------------- This example runs one iteration of a `SplatComposer` composer, overwriting an initial solution to a 6-variable binary quadratic model of all zeros with a solution to a 3-variable subproblem that was manually set to all ones. .. code-block:: python import dimod from hybrid.composers import SplatComposer from hybrid.core import State, SampleSet from hybrid.utils import min_sample bqm = dimod.BinaryQuadraticModel({t: 0 for t in range(6)}, {(t, (t+1) % 6): 1 for t in range(6)}, 0, 'BINARY') composer = SplatComposer() state0 = State.from_sample(min_sample(bqm), bqm) state1 = state0.updated(subsamples=SampleSet.from_samples({3: 1, 4: 1, 5: 1}, 'BINARY', 0.0)) composed_state = composer.run(state1).result() :: >>> print(composed_state.samples) Response(rec.array([([0, 0, 0, 1, 1, 1], 1, 2)], dtype=[('sample', 'i1', (6,)), ('num_occurrences', '>> print(synthesis.samples) a b c d energy num_occ. 0 +1 +1 +1 +1 -4.0 1 [ 1 rows, 4 variables ]