from openql import openql as ql import os import numpy as np curdir = os.path.dirname(__file__) output_dir = os.path.join(curdir, 'test_output') ql.set_output_dir(output_dir) config_fn = os.path.join( curdir, '/home/daniel/Master/Quantum_Computing_and_Quantum_Information/OpenQL/tests/hardware_config_cc_light.json' ) platform = ql.Platform('platform_none', config_fn) sweep_points = [1, 2] num_circuits = 1 num_qubits = 5 p = ql.Program('one-two-three-v2_100', num_qubits, platform) p.set_sweep_points(sweep_points, num_circuits) k = ql.Kernel('one-two-three-v2_100', platform) k.gate('x', 0) k.gate('cnot', 4, 1) k.gate('cnot', 2, 0) k.gate('h', 2) k.gate('t', 1) k.gate('t', 3) k.gate('t', 2) k.gate('cnot', 3, 1) k.gate('cnot', 2, 3) k.gate('cnot', 1, 2) k.gate('tdag', 3) k.gate('cnot', 1, 3) k.gate('tdag', 1) k.gate('tdag', 3)
from openql import openql as ql import os import numpy as np curdir = os.path.dirname(__file__) output_dir = os.path.join(curdir, 'test_output') ql.set_output_dir(output_dir) config_fn = os.path.join( curdir, '/home/daniel/Master/Quantum_Computing_and_Quantum_Information/OpenQL/tests/hardware_config_cc_light.json' ) platform = ql.Platform('platform_none', config_fn) sweep_points = [1, 2] num_circuits = 1 num_qubits = 5 p = ql.Program('alu-v4_36', num_qubits, platform) p.set_sweep_points(sweep_points, num_circuits) k = ql.Kernel('alu-v4_36', platform) k.gate('h', 1) k.gate('t', 2) k.gate('t', 0) k.gate('t', 1) k.gate('cnot', 0, 2) k.gate('cnot', 1, 0) k.gate('cnot', 2, 1) k.gate('tdag', 0) k.gate('cnot', 2, 0) k.gate('tdag', 2) k.gate('tdag', 0) k.gate('t', 1) k.gate('cnot', 1, 0) k.gate('cnot', 2, 1)
from openql import openql as ql import os import numpy as np curdir = os.path.dirname(__file__) output_dir = os.path.join(curdir, 'test_output') ql.set_output_dir(output_dir) config_fn = os.path.join(curdir, '/home/daniel/Master/Quantum_Computing_and_Quantum_Information/OpenQL/tests/hardware_config_cc_light.json') platform = ql.Platform('platform_none', config_fn) sweep_points = [1,2] num_circuits = 1 num_qubits = 10 p = ql.Program('benstein_vazirani_8b_secret_128', num_qubits, platform) p.set_sweep_points(sweep_points, num_circuits) k = ql.Kernel('benstein_vazirani_8b_secret_128', platform) k.gate('prepx',8) k.gate('x',8) k.gate('h',0) k.gate('h',1) k.gate('h',2) k.gate('h',3) k.gate('h',4) k.gate('h',5) k.gate('h',6) k.gate('h',7) k.gate('h',8) k.gate('cnot',7y) k.gate('h',0) k.gate('h',1) k.gate('h',2) k.gate('h',3) k.gate('h',4)
from openql import openql as ql import os import numpy as np curdir = os.path.dirname(__file__) output_dir = os.path.join(curdir, 'test_output') ql.set_output_dir(output_dir) config_fn = os.path.join(curdir, '/home/daniel/Master/Quantum_Computing_and_Quantum_Information/OpenQL/tests/hardware_config_cc_light.json') platform = ql.Platform('platform_none', config_fn) sweep_points = [1,2] num_circuits = 1 num_qubits = 5 p = ql.Program('4mod5-v0_20', num_qubits, platform) p.set_sweep_points(sweep_points, num_circuits) k = ql.Kernel('4mod5-v0_20', platform) k.gate('cnot',3,1) k.gate('x',0) k.gate('cnot',0,2) k.gate('cnot',2,1) k.gate('h',4) k.gate('t',2) k.gate('t',1) k.gate('t',4) k.gate('cnot',1,2) k.gate('cnot',4,1) k.gate('cnot',2,4) k.gate('tdag',1) k.gate('cnot',2,1) k.gate('tdag',2) k.gate('tdag',1) k.gate('t',4) k.gate('cnot',4,1)
from openql import openql as ql import os import numpy as np curdir = os.path.dirname(__file__) output_dir = os.path.join(curdir, 'test_output') ql.set_output_dir(output_dir) config_fn = os.path.join( curdir, '/home/daniel/Master/Quantum_Computing_and_Quantum_Information/OpenQL/tests/hardware_config_cc_light.json' ) platform = ql.Platform('platform_none', config_fn) sweep_points = [1, 2] num_circuits = 1 num_qubits = 16 p = ql.Program('cnt3-5_179', num_qubits, platform) p.set_sweep_points(sweep_points, num_circuits) k = ql.Kernel('cnt3-5_179', platform) k.gate('cnot', 12, 15) k.gate('h', 12) k.gate('t', 14) k.gate('t', 13) k.gate('t', 12) k.gate('cnot', 13, 14) k.gate('cnot', 12, 13) k.gate('cnot', 14, 12) k.gate('tdag', 13) k.gate('cnot', 14, 13) k.gate('tdag', 14) k.gate('tdag', 13) k.gate('t', 12) k.gate('cnot', 12, 13)
from openql import openql as ql import os import numpy as np curdir = os.path.dirname(__file__) output_dir = os.path.join(curdir, 'test_output') ql.set_output_dir(output_dir) config_fn = os.path.join(curdir, '/home/daniel/Master/Quantum_Computing_and_Quantum_Information/OpenQL/tests/hardware_config_cc_light.json') platform = ql.Platform('platform_none', config_fn) sweep_points = [1,2] num_circuits = 1 num_qubits = 62 p = ql.Program('vbeAdder_20b', num_qubits, platform) p.set_sweep_points(sweep_points, num_circuits) k = ql.Kernel('vbeAdder_20b', platform) k.gate('toffoli',1b1,c1) k.gate('cnot',1b1) k.gate('toffoli',0b1,c1) k.gate('toffoli',4b2,c2) k.gate('cnot',4b2) k.gate('toffoli',3b2,c2) k.gate('toffoli',7b3,c3) k.gate('cnot',7b3) k.gate('toffoli',6b3,c3) k.gate('toffoli',10b4,c4) k.gate('cnot',10b4) k.gate('toffoli',9b4,c4) k.gate('toffoli',13b5,c5) k.gate('cnot',13b5) k.gate('toffoli',12b5,c5) k.gate('toffoli',16b6,c6) k.gate('cnot',16b6)
from openql import openql as ql import os import numpy as np curdir = os.path.dirname(__file__) output_dir = os.path.join(curdir, 'test_output') ql.set_output_dir(output_dir) config_fn = os.path.join( curdir, '/home/daniel/Master/Quantum_Computing_and_Quantum_Information/OpenQL/tests/hardware_config_cc_light.json' ) platform = ql.Platform('platform_none', config_fn) sweep_points = [1, 2] num_circuits = 1 num_qubits = 6 p = ql.Program('4gt4-v0_73', num_qubits, platform) p.set_sweep_points(sweep_points, num_circuits) k = ql.Kernel('4gt4-v0_73', platform) k.gate('cnot', 0, 1) k.gate('cnot', 2, 1) k.gate('cnot', 1, 2) k.gate('cnot', 3, 2) k.gate('cnot', 2, 3) k.gate('cnot', 4, 3) k.gate('cnot', 3, 4) k.gate('cnot', 4, 3) k.gate('cnot', 4, 2) k.gate('cnot', 4, 1) k.gate('cnot', 4, 0) k.gate('h', 5) k.gate('t', 0)
from openql import openql as ql import os import numpy as np curdir = os.path.dirname(__file__) output_dir = os.path.join(curdir, 'test_output') ql.set_output_dir(output_dir) config_fn = os.path.join( curdir, '/home/daniel/Master/Quantum_Computing_and_Quantum_Information/OpenQL/tests/hardware_config_cc_light.json' ) platform = ql.Platform('platform_none', config_fn) sweep_points = [1, 2] num_circuits = 1 num_qubits = 5 p = ql.Program('4_49_16', num_qubits, platform) p.set_sweep_points(sweep_points, num_circuits) k = ql.Kernel('4_49_16', platform) k.gate('h', 1) k.gate('t', 3) k.gate('t', 4) k.gate('t', 1) k.gate('cnot', 4, 3) k.gate('cnot', 1, 4) k.gate('cnot', 3, 1) k.gate('tdag', 4) k.gate('cnot', 3, 4) k.gate('tdag', 3) k.gate('tdag', 4) k.gate('t', 1) k.gate('cnot', 1, 4) k.gate('cnot', 3, 1)
from openql import openql as ql import os import numpy as np curdir = os.path.dirname(__file__) output_dir = os.path.join(curdir, 'test_output') ql.set_output_dir(output_dir) config_fn = os.path.join( curdir, '/home/daniel/Master/Quantum_Computing_and_Quantum_Information/OpenQL/tests/hardware_config_cc_light.json' ) platform = ql.Platform('platform_none', config_fn) sweep_points = [1, 2] num_circuits = 1 num_qubits = 5 p = ql.Program('alu-v1_29', num_qubits, platform) p.set_sweep_points(sweep_points, num_circuits) k = ql.Kernel('alu-v1_29', platform) k.gate('cnot', 3, 4) k.gate('x', 3) k.gate('cnot', 1, 2) k.gate('h', 1) k.gate('t', 3) k.gate('t', 2) k.gate('t', 1) k.gate('cnot', 2, 3) k.gate('cnot', 1, 2) k.gate('cnot', 3, 1) k.gate('tdag', 2) k.gate('cnot', 3, 2) k.gate('tdag', 3) k.gate('tdag', 2)
from openql import openql as ql import os import numpy as np curdir = os.path.dirname(__file__) output_dir = os.path.join(curdir, 'test_output') ql.set_output_dir(output_dir) config_fn = os.path.join( curdir, '/home/daniel/Master/Quantum_Computing_and_Quantum_Information/OpenQL/tests/hardware_config_cc_light.json' ) platform = ql.Platform('platform_none', config_fn) sweep_points = [1, 2] num_circuits = 1 num_qubits = 6 p = ql.Program('ex1_226', num_qubits, platform) p.set_sweep_points(sweep_points, num_circuits) k = ql.Kernel('ex1_226', platform) k.gate('cnot', 3, 0) k.gate('cnot', 1, 0) k.gate('cnot', 5, 0) k.gate('x', 2) k.gate('cnot', 2, 0) k.gate('x', 4) k.gate('cnot', 4, 0) p.add_kernel(k) p.compile(optimize=False)
def QPD(): ''' w2di = Image.open("/mnt/7A06EEA206EE5E9F/GoogleDrive/TUD_CE/Thesis/SimQG/QuInE/examples/qtm_a2/panda18.png") w2d = w2di.convert('RGBA') wbw = w2d for i in range(0,w2d.size[0]): for j in range(0,w2d.size[1]): if w2d.getpixel((i,j))[3] == 0: # Set transparent to white wbw.putpixel((i,j),(255,255,255)) elif w2d.getpixel((i,j))[0] > 150: wbw.putpixel((i,j),(255,255,255)) else: wbw.putpixel((i,j),(0,0,0)) wbw.save("/mnt/7A06EEA206EE5E9F/GoogleDrive/TUD_CE/Thesis/SimQG/QuInE/examples/qtm_a2/panda18bw.png") ''' A = 2 # Binary Alphabet {0,1} := {(0,0,0),(255,255,255)} Black and White Image D = 2 w2di = Image.open( "/mnt/7A06EEA206EE5E9F/GoogleDrive/TUD_CE/Thesis/SimQG/QuInE/examples/qtm_a2/panda18bw.png" ) w2d = w2di.convert('RGB') N0 = w2di.size[0] N1 = w2di.size[1] ''' for Msz in range(1,20): M0 = Msz M1 = Msz Q_tag = ceil(log2(N0-M0+1)) + ceil(log2(N1-M1+1)) Q_data = ceil(log2(A)) * M0 * M1 Q_anc = 1 print([Msz,Q_tag+Q_data+Q_anc]) # Template Size vs Total Qubits: [1, 14],[2, 17],[3, 22],[4, 29],[5, 38],[6, 49],[7, 62] ''' ''' M0 = 3 M1 = 3 idx0 = 9 # Expected Answer i_0 idx1 = 8 # Expected Answer i_1 p2d = w2d.crop((idx0,idx1,idx0+M0,idx1+M1)) p2d.save("/mnt/7A06EEA206EE5E9F/GoogleDrive/TUD_CE/Thesis/SimQG/QuInE/examples/qtm_a2/panda_p.png") ans = w2d for i in range(idx0,idx0+M0): for j in range(idx1,idx1+M1): if ans.getpixel((i,j))[0] == 255: ans.putpixel((i,j),(0,255,0)) else: ans.putpixel((i,j),(255,0,0)) ans.save("/mnt/7A06EEA206EE5E9F/GoogleDrive/TUD_CE/Thesis/SimQG/QuInE/examples/qtm_a2/answer.png") ''' p2di = Image.open( "/mnt/7A06EEA206EE5E9F/GoogleDrive/TUD_CE/Thesis/SimQG/QuInE/examples/qtm_a2/panda_p.png" ) p2d = p2di.convert('RGB') M0 = p2di.size[0] M1 = p2di.size[1] Q_tag = ceil(log2(N0 - M0 + 1)) + ceil(log2(N1 - M1 + 1)) Q_data = ceil(log2(A)) * M0 * M1 Q_anc = 1 anc = Q_tag + Q_data config_fn = os.path.join('gateConfig.json') platform = ql.Platform('platform_none', config_fn) Q_total = Q_tag + Q_data + Q_anc prog = ql.Program('qg', Q_total, platform) # Kernel 1: Construct Quantum Phone Directory qk1 = ql.Kernel('QCirc1', platform) Circ1(qk1, w2d, N0, N1, M0, M1, Q_total, Q_tag, Q_data, anc) # Kernel 2: Calculate Hamming Distance qk2 = ql.Kernel('QCirc2', platform) Circ2(qk2, p2d, M0, M1, Q_tag) # Kernel 3: Oracle to Mark Hamming Distance of 0 qk3 = ql.Kernel('QCirc3', platform) Circ3(qk3, Q_tag, Q_data) # Kernel 4: Amplitude Amplification qk4 = ql.Kernel('QCirc4', platform) Circ4(qk4, Q_tag, Q_data, Q_anc) # Kernel 5: Partial Amplitude Amplification qk5 = ql.Kernel('QCirc5', platform) Circ5(qk5, Q_tag, Q_data, Q_anc) prog.add_kernel(qk1) prog.add_kernel(qk2) for i in range(0, 1): # Optimal iteration from calculation is 111 prog.add_kernel(qk3) prog.add_kernel(qk5) prog.add_kernel(qk3) prog.add_kernel(qk4) prog.compile(False, "ASAP", False) display()
# Quantum Shor Code from openql import openql as ql import os curdir = os.path.dirname(__file__) output_dir = os.path.join(curdir, 'cqasm_files') ql.set_option('output_dir', output_dir) ql.set_option('write_qasm_files', 'yes') config_fn = os.path.join(curdir, 'config_qx.json') platform = ql.Platform('platform_none', config_fn) num_qubits = 9 p = ql.Program('exercise_qasm_008', platform, num_qubits) k1 = ql.Kernel("initialize", platform, num_qubits) for i in range(0, num_qubits): k1.gate('prep_z', [i]) # Initialize all qubits to |0> k1.gate('rx', [0], 0, 1.3) # Create a arbitrary state k1.gate('ry', [0], 0, 0.3) # Create a arbitrary state k1.display() p.add_kernel(k1) k2 = ql.Kernel("phase_encode", platform, num_qubits) k2.gate('cnot', [0,3]) k2.gate('cnot', [0,6]) k2.gate('h', [0]) k2.gate('h', [3]) k2.gate('h', [6]) k2.display()
from openql import openql as ql import os import numpy as np curdir = os.path.dirname(__file__) output_dir = os.path.join(curdir, 'test_output') ql.set_output_dir(output_dir) config_fn = os.path.join( curdir, '/home/daniel/Master/Quantum_Computing_and_Quantum_Information/OpenQL/tests/hardware_config_cc_light.json' ) platform = ql.Platform('platform_none', config_fn) sweep_points = [1, 2] num_circuits = 1 num_qubits = 11 p = ql.Program('wim_266', num_qubits, platform) p.set_sweep_points(sweep_points, num_circuits) k = ql.Kernel('wim_266', platform) k.gate('x', 6) k.gate('x', 5) k.gate('x', 4) k.gate('x', 2) k.gate('x', 1) k.gate('x', 0) k.gate('x', 10) k.gate('h', 5) k.gate('t', 7) k.gate('t', 6) k.gate('t', 5) k.gate('cnot', 6, 7) k.gate('cnot', 5, 6) k.gate('cnot', 7, 5)
from openql import openql as ql import os import numpy as np curdir = os.path.dirname(__file__) output_dir = os.path.join(curdir, 'test_output') ql.set_output_dir(output_dir) config_fn = os.path.join( curdir, '/home/daniel/Master/Quantum_Computing_and_Quantum_Information/OpenQL/tests/hardware_config_cc_light.json' ) platform = ql.Platform('platform_none', config_fn) sweep_points = [1, 2] num_circuits = 1 num_qubits = 5 p = ql.Program('mod5d1_63', num_qubits, platform) p.set_sweep_points(sweep_points, num_circuits) k = ql.Kernel('mod5d1_63', platform) k.gate('cnot', 3, 1) k.gate('cnot', 2, 0) k.gate('cnot', 1, 4) k.gate('cnot', 0, 4) k.gate('h', 4) k.gate('t', 1) k.gate('t', 0) k.gate('t', 4) k.gate('cnot', 0, 1) k.gate('cnot', 4, 0) k.gate('cnot', 1, 4) k.gate('tdag', 0) k.gate('cnot', 1, 0)
from openql import openql as ql import os import numpy as np curdir = os.path.dirname(__file__) output_dir = os.path.join(curdir, 'test_output') ql.set_output_dir(output_dir) config_fn = os.path.join(curdir, '/home/daniel/Master/Quantum_Computing_and_Quantum_Information/OpenQL/tests/hardware_config_cc_light.json') platform = ql.Platform('platform_none', config_fn) sweep_points = [1,2] num_circuits = 1 num_qubits = 5 p = ql.Program('4mod7-v1_96', num_qubits, platform) p.set_sweep_points(sweep_points, num_circuits) k = ql.Kernel('4mod7-v1_96', platform) k.gate('x',0) k.gate('x',0) k.gate('h',0) k.gate('t',4) k.gate('t',1) k.gate('t',0) k.gate('cnot',1,4) k.gate('cnot',0,1) k.gate('cnot',4,0) k.gate('tdag',1) k.gate('cnot',4,1) k.gate('tdag',4) k.gate('tdag',1) k.gate('t',0) k.gate('cnot',0,1) k.gate('cnot',4,0) k.gate('cnot',1,4)
from openql import openql as ql import os import numpy as np curdir = os.path.dirname(__file__) output_dir = os.path.join(curdir, 'test_output') ql.set_output_dir(output_dir) config_fn = os.path.join( curdir, '/home/daniel/Master/Quantum_Computing_and_Quantum_Information/OpenQL/tests/hardware_config_cc_light.json' ) platform = ql.Platform('platform_none', config_fn) sweep_points = [1, 2] num_circuits = 1 num_qubits = 7 p = ql.Program('ex2_227', num_qubits, platform) p.set_sweep_points(sweep_points, num_circuits) k = ql.Kernel('ex2_227', platform) k.gate('h', 0) k.gate('t', 2) k.gate('t', 6) k.gate('t', 0) k.gate('cnot', 6, 2) k.gate('cnot', 0, 6) k.gate('cnot', 2, 0) k.gate('tdag', 6) k.gate('cnot', 2, 6) k.gate('tdag', 2) k.gate('tdag', 6) k.gate('t', 0) k.gate('cnot', 0, 6)
from openql import openql as ql import os import numpy as np curdir = os.path.dirname(__file__) output_dir = os.path.join(curdir, 'test_output') ql.set_output_dir(output_dir) config_fn = os.path.join( curdir, '/home/daniel/Master/Quantum_Computing_and_Quantum_Information/OpenQL/tests/hardware_config_cc_light.json' ) platform = ql.Platform('platform_none', config_fn) sweep_points = [1, 2] num_circuits = 1 num_qubits = 5 p = ql.Program('4gt13-v1_93', num_qubits, platform) p.set_sweep_points(sweep_points, num_circuits) k = ql.Kernel('4gt13-v1_93', platform) k.gate('x', 0) k.gate('cnot', 4, 0) k.gate('cnot', 0, 4) k.gate('h', 4) k.gate('t', 1) k.gate('t', 0) k.gate('t', 4) k.gate('cnot', 0, 1) k.gate('cnot', 4, 0) k.gate('cnot', 1, 4) k.gate('tdag', 0) k.gate('cnot', 1, 0) k.gate('tdag', 1) k.gate('tdag', 0)
from openql import openql as ql import os import numpy as np curdir = os.path.dirname(__file__) output_dir = os.path.join(curdir, 'test_output') ql.set_output_dir(output_dir) config_fn = os.path.join( curdir, '/home/daniel/Master/Quantum_Computing_and_Quantum_Information/OpenQL/tests/hardware_config_cc_light.json' ) platform = ql.Platform('platform_none', config_fn) sweep_points = [1, 2] num_circuits = 1 num_qubits = 10 p = ql.Program('mini_alu_305', num_qubits, platform) p.set_sweep_points(sweep_points, num_circuits) k = ql.Kernel('mini_alu_305', platform) k.gate('x', 6) k.gate('x', 7) k.gate('x', 8) k.gate('h', 4) k.gate('t', 1) k.gate('t', 2) k.gate('t', 4) k.gate('cnot', 2, 1) k.gate('cnot', 4, 2) k.gate('cnot', 1, 4) k.gate('tdag', 2) k.gate('cnot', 1, 2) k.gate('tdag', 1) k.gate('tdag', 2)
from openql import openql as ql import os import numpy as np curdir = os.path.dirname(__file__) output_dir = os.path.join(curdir, 'test_output') ql.set_output_dir(output_dir) config_fn = os.path.join( curdir, '/home/daniel/Master/Quantum_Computing_and_Quantum_Information/OpenQL/tests/hardware_config_cc_light.json' ) platform = ql.Platform('platform_none', config_fn) sweep_points = [1, 2] num_circuits = 1 num_qubits = 5 p = ql.Program('mod5mils_65', num_qubits, platform) p.set_sweep_points(sweep_points, num_circuits) k = ql.Kernel('mod5mils_65', platform) k.gate('cnot', 1, 3) k.gate('x', 3) k.gate('h', 4) k.gate('t', 3) k.gate('t', 0) k.gate('t', 4) k.gate('cnot', 0, 3) k.gate('cnot', 4, 0) k.gate('cnot', 3, 4) k.gate('tdag', 0) k.gate('cnot', 3, 0) k.gate('tdag', 3) k.gate('tdag', 0) k.gate('t', 4)
def QPM(): A = 4 N = 8 # Reference Genome size w = "22013220" # 22013200 #randStr(2,N) # Reference Genome M = 2 # Short Read size p = "13" #randStr(2,M) # Short Read s = ceil(log2(N-M)) print(s) config_fn = os.path.join('gateConfig.json') platform = ql.Platform('platform_none', config_fn) total_qubits = 2*s*M-2 prog = ql.Program('qg', total_qubits, platform) # Initialization qk1 = ql.Kernel('QCirc1',platform) Circ1(qk1,s,M) prog.add_kernel(qk1) # Oracle Kernels qk2a = ql.Kernel('QCirc2a',platform) qk2c = ql.Kernel('QCirc2c',platform) qk2g = ql.Kernel('QCirc2g',platform) qk2t = ql.Kernel('QCirc2t',platform) # Grover Amplitude Amplification qk3 = ql.Kernel('QCirc3',platform) Circ3(qk3,s,M) # WATSON : define custom gate from python code... not json... # WATSON : get back display output in code fa = [] fc = [] fg = [] ft = [] for wi in range(0,N): if w[wi] == '0': fa.append(True) fc.append(False) fg.append(False) ft.append(False) elif w[wi] == '1': fa.append(False) fc.append(True) fg.append(False) ft.append(False) elif w[wi] == '2': fa.append(False) fc.append(False) fg.append(True) ft.append(False) else: fa.append(False) fc.append(False) fg.append(False) ft.append(True) print(w,p) for pi in range(0,M): if p[pi] == '0': Circ2(qk2a,fa,s,pi*s,s*M) prog.add_kernel(qk2a) elif p[pi] == '1': Circ2(qk2c,fc,s,pi*s,s*M) prog.add_kernel(qk2c) elif p[pi] == '2': Circ2(qk2g,fg,s,pi*s,s*M) prog.add_kernel(qk2g) else: Circ2(qk2t,ft,s,pi*s,s*M) prog.add_kernel(qk2t) # Reset Kernels prog.add_kernel(qk3) # Run multiple times to get average result #qk4 = ql.Kernel('QCirc4',platform) #qk4.measure(9) #qk4.measure(8) #qk4.measure(7) #qk4.measure(6) #prog.add_kernel(qk4) prog.compile(False, "ASAP", False) display() #showQasm(1) return
from openql import openql as ql import os import numpy as np curdir = os.path.dirname(__file__) output_dir = os.path.join(curdir, 'test_output') ql.set_output_dir(output_dir) config_fn = os.path.join( curdir, '/home/daniel/Master/Quantum_Computing_and_Quantum_Information/OpenQL/tests/hardware_config_cc_light.json' ) platform = ql.Platform('platform_none', config_fn) sweep_points = [1, 2] num_circuits = 1 num_qubits = 5 p = ql.Program('decod24-v3_45', num_qubits, platform) p.set_sweep_points(sweep_points, num_circuits) k = ql.Kernel('decod24-v3_45', platform) k.gate('x', 0) k.gate('x', 1) k.gate('h', 0) k.gate('t', 1) k.gate('t', 4) k.gate('t', 0) k.gate('cnot', 4, 1) k.gate('cnot', 0, 4) k.gate('cnot', 1, 0) k.gate('tdag', 4) k.gate('cnot', 1, 4) k.gate('tdag', 1) k.gate('tdag', 4) k.gate('t', 0)
from openql import openql as ql import os import numpy as np curdir = os.path.dirname(__file__) output_dir = os.path.join(curdir, 'test_output') ql.set_output_dir(output_dir) config_fn = os.path.join( curdir, '/home/daniel/Master/Quantum_Computing_and_Quantum_Information/OpenQL/tests/hardware_config_cc_light.json' ) platform = ql.Platform('platform_none', config_fn) sweep_points = [1, 2] num_circuits = 1 num_qubits = 12 p = ql.Program('cm152a_212', num_qubits, platform) p.set_sweep_points(sweep_points, num_circuits) k = ql.Kernel('cm152a_212', platform) k.gate('h', 0) k.gate('t', 1) k.gate('t', 11) k.gate('t', 0) k.gate('cnot', 11, 1) k.gate('cnot', 0, 11) k.gate('cnot', 1, 0) k.gate('tdag', 11) k.gate('cnot', 1, 11) k.gate('tdag', 1) k.gate('tdag', 11) k.gate('t', 0) k.gate('cnot', 0, 11) k.gate('cnot', 1, 0)
from openql import openql as ql import os import numpy as np curdir = os.path.dirname(__file__) output_dir = os.path.join(curdir, 'test_output') ql.set_output_dir(output_dir) config_fn = os.path.join(curdir, '/home/daniel/Master/Quantum_Computing_and_Quantum_Information/OpenQL/tests/hardware_config_cc_light.json') platform = ql.Platform('platform_none', config_fn) sweep_points = [1,2] num_circuits = 1 num_qubits = 19 p = ql.Program('cuccaroAdder_8b', num_qubits, platform) p.set_sweep_points(sweep_points, num_circuits) k = ql.Kernel('cuccaroAdder_8b', platform) k.gate('cnot',1b0) k.gate('cnot',1c0) k.gate('toffoli',0b0,a0) k.gate('cnot',3b1) k.gate('cnot',3a0) k.gate('toffoli',1b1,a1) k.gate('cnot',5b2) k.gate('cnot',5a1) k.gate('toffoli',3b2,a2) k.gate('cnot',7b3) k.gate('cnot',7a2) k.gate('toffoli',5b3,a3) k.gate('cnot',9b4) k.gate('cnot',9a3) k.gate('toffoli',7b4,a4) k.gate('cnot',11b5) k.gate('cnot',11a4)
from openql import openql as ql import os import numpy as np curdir = os.path.dirname(__file__) output_dir = os.path.join(curdir, 'test_output') ql.set_output_dir(output_dir) config_fn = os.path.join( curdir, '/home/daniel/Master/Quantum_Computing_and_Quantum_Information/OpenQL/tests/hardware_config_cc_light.json' ) platform = ql.Platform('platform_none', config_fn) sweep_points = [1, 2] num_circuits = 1 num_qubits = 13 p = ql.Program('squar5_261', num_qubits, platform) p.set_sweep_points(sweep_points, num_circuits) k = ql.Kernel('squar5_261', platform) k.gate('h', 5) k.gate('t', 11) k.gate('t', 10) k.gate('t', 5) k.gate('cnot', 10, 11) k.gate('cnot', 5, 10) k.gate('cnot', 11, 5) k.gate('tdag', 10) k.gate('cnot', 11, 10) k.gate('tdag', 11) k.gate('tdag', 10) k.gate('t', 5) k.gate('cnot', 5, 10)
from openql import openql as ql import os import numpy as np curdir = os.path.dirname(__file__) output_dir = os.path.join(curdir, 'test_output') ql.set_output_dir(output_dir) config_fn = os.path.join(curdir, '/home/daniel/Master/Quantum_Computing_and_Quantum_Information/OpenQL/tests/hardware_config_cc_light.json') platform = ql.Platform('platform_none', config_fn) sweep_points = [1,2] num_circuits = 1 num_qubits = 258 p = ql.Program('benstein_vazirani_256b_secret_32', num_qubits, platform) p.set_sweep_points(sweep_points, num_circuits) k = ql.Kernel('benstein_vazirani_256b_secret_32', platform) k.gate('prepx',256) k.gate('x',256) k.gate('h',0) k.gate('h',1) k.gate('h',2) k.gate('h',3) k.gate('h',4) k.gate('h',5) k.gate('h',6) k.gate('h',7) k.gate('h',8) k.gate('h',9) k.gate('h',10) k.gate('h',11) k.gate('h',12) k.gate('h',13) k.gate('h',14)
from openql import openql as ql import os import numpy as np curdir = os.path.dirname(__file__) output_dir = os.path.join(curdir, 'test_output') ql.set_output_dir(output_dir) config_fn = os.path.join( curdir, '/home/daniel/Master/Quantum_Computing_and_Quantum_Information/OpenQL/tests/hardware_config_cc_light.json' ) platform = ql.Platform('platform_none', config_fn) sweep_points = [1, 2] num_circuits = 1 num_qubits = 4 p = ql.Program('decod24-v0_38', num_qubits, platform) p.set_sweep_points(sweep_points, num_circuits) k = ql.Kernel('decod24-v0_38', platform) k.gate('h', 0) k.gate('t', 3) k.gate('t', 2) k.gate('t', 0) k.gate('cnot', 2, 3) k.gate('cnot', 0, 2) k.gate('cnot', 3, 0) k.gate('tdag', 2) k.gate('cnot', 3, 2) k.gate('tdag', 3) k.gate('tdag', 2) k.gate('t', 0) k.gate('cnot', 0, 2) k.gate('cnot', 3, 0)
from openql import openql as ql import os import numpy as np curdir = os.path.dirname(__file__) output_dir = os.path.join(curdir, 'test_output') ql.set_output_dir(output_dir) config_fn = os.path.join(curdir, '/home/daniel/Master/Quantum_Computing_and_Quantum_Information/OpenQL/tests/hardware_config_cc_light.json') platform = ql.Platform('platform_none', config_fn) sweep_points = [1,2] num_circuits = 1 num_qubits = 5 p = ql.Program('alu-v0_26', num_qubits, platform) p.set_sweep_points(sweep_points, num_circuits) k = ql.Kernel('alu-v0_26', platform) k.gate('cnot',2,1) k.gate('cnot',2,0) k.gate('h',2) k.gate('t',3) k.gate('t',0) k.gate('t',2) k.gate('cnot',0,3) k.gate('cnot',2,0) k.gate('cnot',3,2) k.gate('tdag',0) k.gate('cnot',3,0) k.gate('tdag',3) k.gate('tdag',0) k.gate('t',2) k.gate('cnot',2,0) k.gate('cnot',3,2) k.gate('cnot',0,3)
from openql import openql as ql import os import numpy as np curdir = os.path.dirname(__file__) output_dir = os.path.join(curdir, 'test_output') ql.set_output_dir(output_dir) config_fn = os.path.join(curdir, '/home/daniel/Master/Quantum_Computing_and_Quantum_Information/OpenQL/tests/hardware_config_cc_light.json') platform = ql.Platform('platform_none', config_fn) sweep_points = [1,2] num_circuits = 1 num_qubits = 6 p = ql.Program('sf_274', num_qubits, platform) p.set_sweep_points(sweep_points, num_circuits) k = ql.Kernel('sf_274', platform) k.gate('h',4) k.gate('t',2) k.gate('t',5) k.gate('t',4) k.gate('cnot',5,2) k.gate('cnot',4,5) k.gate('cnot',2,4) k.gate('tdag',5) k.gate('cnot',2,5) k.gate('tdag',2) k.gate('tdag',5) k.gate('t',4) k.gate('cnot',4,5) k.gate('cnot',2,4) k.gate('cnot',5,2) k.gate('h',4) k.gate('h',5)
from openql import openql as ql import os import numpy as np curdir = os.path.dirname(__file__) output_dir = os.path.join(curdir, 'test_output') ql.set_output_dir(output_dir) config_fn = os.path.join(curdir, '/home/daniel/Master/Quantum_Computing_and_Quantum_Information/OpenQL/tests/hardware_config_cc_light.json') platform = ql.Platform('platform_none', config_fn) sweep_points = [1,2] num_circuits = 1 num_qubits = 45 p = ql.Program('benstein_vazirani_43b_secret_4', num_qubits, platform) p.set_sweep_points(sweep_points, num_circuits) k = ql.Kernel('benstein_vazirani_43b_secret_4', platform) k.gate('prepx',43) k.gate('x',43) k.gate('h',0) k.gate('h',1) k.gate('h',2) k.gate('h',3) k.gate('h',4) k.gate('h',5) k.gate('h',6) k.gate('h',7) k.gate('h',8) k.gate('h',9) k.gate('h',10) k.gate('h',11) k.gate('h',12) k.gate('h',13) k.gate('h',14)
from openql import openql as ql import os import numpy as np curdir = os.path.dirname(__file__) output_dir = os.path.join(curdir, 'test_output') ql.set_output_dir(output_dir) config_fn = os.path.join(curdir, '/home/daniel/Master/Quantum_Computing_and_Quantum_Information/OpenQL/tests/hardware_config_cc_light.json') platform = ql.Platform('platform_none', config_fn) sweep_points = [1,2] num_circuits = 1 num_qubits = 7 p = ql.Program('cuccaroMultiplier_1b', num_qubits, platform) p.set_sweep_points(sweep_points, num_circuits) k = ql.Kernel('cuccaroMultiplier_1b', platform) k.gate('prepx',2) k.gate('prepx',3) k.gate('prepx',4) k.gate('prepx',5) k.gate('toffoli',0a0,out0) k.gate('cnot',1anc0) k.gate('toffoli',5out0,a0) k.gate('toffoli',0a0,out1) k.gate('toffoli',5out0,a0) k.gate('cnot',1anc0) k.gate('toffoli',0anc0,out0) p.add_kernel(k) p.compile(optimize=False)