hybrid.utils.bqm_reduced_to¶
-
bqm_reduced_to(bqm, variables, sample, keep_offset=True)[source]¶ Reduce a binary quadratic model by fixing values of some variables.
The function is optimized for
len(variables) ~ len(bqm), that is, for small numbers of fixed variables.Parameters: - bqm (
dimod.BinaryQuadraticModel) – Binary quadratic model (BQM). - variables (list/set) – Subset of variables to keep in the reduced BQM.
- sample (dict/list) – Mapping of variable labels to values or a list when labels are sequential integers. Must include all variables not specified in variables.
- keep_offset (bool, optional, default=True) – If false, set the reduced binary quadratic model’s offset to zero; otherwise, uses the caluclated energy offset.
Returns: A reduced BQM.
Return type: Examples
This example reduces a 3-variable BQM to two variables.
>>> import dimod >>> bqm = dimod.BQM({}, {'ab': -1, 'bc': -1, 'ca': -1}, 0, 'BINARY') >>> sample = {'a': 1, 'b': 1, 'c': 0} >>> subbqm = bqm_reduced_to(bqm, ['a', 'b'], sample) >>> len(subbqm) 2
- bqm (