dimod.BinaryQuadraticModel.from_networkx_graph¶
-
classmethod
BinaryQuadraticModel.from_networkx_graph(G, vartype=None, node_attribute_name='bias', edge_attribute_name='bias')[source]¶ Create a binary quadratic model from a NetworkX graph.
Parameters: - G (
networkx.Graph) – A NetworkX graph with biases stored as node/edge attributes. - vartype (
Vartype/str/set, optional) –Variable type for the binary quadratic model. Accepted input values:
Vartype.SPIN,'SPIN',{-1, 1}Vartype.BINARY,'BINARY',{0, 1}
If not provided, the G should have a vartype attribute. If vartype is provided and G.vartype exists then the argument overrides the property.
- node_attribute_name (hashable, optional, default='bias') – Attribute name for linear biases. If the node does not have a matching attribute then the bias defaults to 0.
- edge_attribute_name (hashable, optional, default='bias') – Attribute name for quadratic biases. If the edge does not have a matching attribute then the bias defaults to 0.
Returns: Examples
>>> import networkx as nx ... >>> G = nx.Graph() >>> G.add_node('a', bias=.5) >>> G.add_edge('a', 'b', bias=-1) >>> bqm = dimod.BinaryQuadraticModel.from_networkx_graph(G, 'SPIN') >>> bqm.adj['a']['b'] -1
- G (