in utils.py [0:0]
def qubo_dict_to_torch(nx_G, Q, torch_dtype=None, torch_device=None):
"""
Output Q matrix as torch tensor for given Q in dictionary format.
Input:
Q: QUBO matrix as defaultdict
nx_G: graph as networkx object (needed for node lables can vary 0,1,... vs 1,2,... vs a,b,...)
Output:
Q: QUBO as torch tensor
"""
# get number of nodes
n_nodes = len(nx_G.nodes)
# get QUBO Q as torch tensor
Q_mat = torch.zeros(n_nodes, n_nodes)
for (x_coord, y_coord), val in Q.items():
Q_mat[x_coord][y_coord] = val
if torch_dtype is not None:
Q_mat = Q_mat.type(torch_dtype)
if torch_device is not None:
Q_mat = Q_mat.to(torch_device)
return Q_mat