dimod.BinaryQuadraticModel.to_networkx_graph

BinaryQuadraticModel.to_networkx_graph(node_attribute_name='bias', edge_attribute_name='bias')[source]

Convert a binary quadratic model to NetworkX graph format.

Parameters:
  • node_attribute_name (hashable, optional, default='bias') – Attribute name for linear biases.
  • edge_attribute_name (hashable, optional, default='bias') – Attribute name for quadratic biases.
Returns:

A NetworkX graph with biases stored as node/edge attributes.

Return type:

networkx.Graph

Examples

This example converts a binary quadratic model to a NetworkX graph, using first the default attribute name for quadratic biases then “weight”.

>>> import networkx as nx
>>> bqm = dimod.BinaryQuadraticModel({0: 1, 1: -1, 2: .5},
...                                  {(0, 1): .5, (1, 2): 1.5},
...                                  1.4,
...                                  dimod.SPIN)
>>> BQM = bqm.to_networkx_graph()
>>> BQM[0][1]['bias']
0.5
>>> BQM.node[0]['bias']
1
>>> BQM_w = bqm.to_networkx_graph(edge_attribute_name='weight')
>>> BQM_w[0][1]['weight']
0.5