예제 #1
0
def tket_run(file_name, device_name):
    connection_list = qcdevice(device_name).connection_list
    circ = circuit_from_qasm(file_name)
    circ.measure_all()
    arc = Architecture(connection_list)
    dev = Device(arc)
    routed_circ = route(circ, arc)
    # cu = CompilationUnit(routed_circ)
    Transform.DecomposeBRIDGE().apply(routed_circ)
    # pass1 = DecomposeSwapsToCXs(dev)
    # pass1.apply(cu)
    # circ2 = cu.circuit
    return routed_circ
예제 #2
0
파일: newsmt.py 프로젝트: Cwickniss/OLSQ
from ast import literal_eval
import math
from info import qiskit_info_after, qiskit_info_original


start_time = sys_time.time()

set_param("parallel.enable", True)
set_param("parallel.threads.max", 64)

file_name = sys.argv[1]
device_name = sys.argv[2]
objective_name = sys.argv[3]
# T = literal_eval(sys.argv[3])

device_test = qcdevice(device_name)
N = device_test.count_physical_qubit
e = device_test.connection_list
S = 1

[M, g, gate_spec] = read_qasm(file_name)
new_file_name = "result/paper/" + file_name.split('/')[-1].replace('.qasm', "_{}_tbolsq_{}".format(device_name, objective_name))


# pre-processing
K = len(e)
L = len(g)
print("Input gate count = {}".format(L))
if objective_name == "fidelity":
    f_1qbg = [int(1000 * math.log(device_test.fidelity_single_qubit[n])) for n in range(N)]
    #print(f_1qbg)