Linear Programming Generation

get_item(dictionary, tuple_key, default_value)[source]

Grab values from a dictionary using an unordered tuple as a key.

Dictionary should not contain None, 0, or False as dictionary values.

Parameters:
  • dictionary – Dictionary that uses two-element tuple as keys
  • tuple_key – Unordered tuple of two elements
  • default_value – Value that is returned when the tuple_key is not found in the dictionary
generate_bqm(graph, table, decision_variables, linear_energy_ranges=None, quadratic_energy_ranges=None, min_classical_gap=2, catch_warnings=True)[source]
Parameters:
  • graph – A networkx.Graph
  • table – An iterable of valid spin configurations. Each configuration is a tuple of variable assignments ordered by decision.
  • decision_variables – An ordered iterable of the variables in the binary quadratic model.
  • linear_energy_ranges – Dictionary of the form {v: (min, max), …} where min and max are the range of values allowed to v. The default range is [-2, 2].
  • quadratic_energy_ranges – Dict of the form {(u, v): (min, max), …} where min and max are the range of values allowed to (u, v). The default range is [-1, 1].
  • min_classical_gap – A float. The minimum energy gap between the highest feasible state and the lowest infeasible state.