max_sym_name_len = max(max_sym_name_len, len(repr(canon2syms[n])) - 1) # Output the mapping we just computed. sys.stderr.write("Constructed a key to the above:\n\n") sys.stderr.write(" Canonical %-*s\n" % (max_sym_name_len, "Original")) sys.stderr.write(" --------- %s\n" % ("-" * max_sym_name_len)) for i in range(len(canon2syms)): if canon2syms[i] == []: continue name_list = string.join(sorted(canon2syms[i])) sys.stderr.write(" q%-8d %s\n" % (i + 1, name_list)) sys.stderr.write("\n") # Establish a connection to the D-Wave, and use this to talk to a solver. We # rely on the qOp infrastructure to set the environment variables properly. qmasm.connect_to_dwave() # Output most or all solver properties. if cl_args.verbose >= 1: # Determine the width of the widest key. max_key_len = len("Parameter") ext_solver_properties = {} try: L, M, N = qmasm.chimera_topology(qmasm.solver) ext_solver_properties["chimera_toplogy_M_N_L"] = [M, N, L] except KeyError: pass ext_solver_properties.update(qmasm.solver.properties) solver_props = ext_solver_properties.keys() solver_props.sort() for k in solver_props:
# The program was originally non-empty but was reduced to a empty # program during optimization. Program execution was not requested. # Notify the user that we have no output to generate. qmasm.abend("Not writing the output file; optimization removed all weights and strengths") # Complain if we have disconnected qubits. discon_syms = logical_ising.find_disconnected_variables() if len(discon_syms) > 0: qmasm.abend("Disconnected variables encountered: %s" % " ".join(sorted(discon_syms))) # Convert user-specified chains, anti-chains, and pins to assertions. logical_ising.append_assertions_from_statements() # Establish a connection to the D-Wave, and use this to talk to a solver. We # rely on the qOp infrastructure to set the environment variables properly. qmasm.connect_to_dwave() # Output either short or all solver properties. if cl_args.verbose >= 1: # Introduce a few extra solver properties. ext_solver_properties = {} try: L, M, N = qmasm.chimera_topology(qmasm.solver) ext_solver_properties["chimera_toplogy_M_N_L"] = [M, N, L] except KeyError: pass except qmasm.NonChimera: pass ext_solver_properties["solver_name"] = qmasm.solver_name try: ext_solver_properties["connection_name"] = os.environ["DW_INTERNAL__CONNECTION"]