01 Bernstein‐Vazirani Algorithm (real hardware) - yikaimao/Q_gen GitHub Wiki
01_bernstein_vazirani_0_ibm_brisbane
Circuit ops (ISA):
OrderedDict([('rz', 13), ('sx', 6), ('barrier', 2), ('measure', 2), ('ecr', 1), ('x', 1)])
Counts for the output register:
{'01': 99, '11': 1}
OPENQASM 2.0; include "qelib1.inc"; gate rzx(param0) q0,q1 { h q1; cx q0,q1; rz(param0) q1; cx q0,q1; h q1; } gate ecr q0,q1 { rzx(pi/4) q0,q1; x q0; rzx(-pi/4) q0,q1; } qreg q[127]; creg c[2]; rz(pi/2) q[78]; sx q[78]; rz(-pi/2) q[78]; rz(pi/2) q[79]; sx q[79]; rz(pi/2) q[79]; rz(pi/2) q[92]; sx q[92]; rz(pi/2) q[92]; barrier q[79],q[92],q[78]; rz(-pi/2) q[79]; rz(-pi) q[78]; sx q[78]; rz(-pi) q[78]; ecr q[79],q[78]; x q[79]; barrier q[79],q[92],q[78]; rz(pi/2) q[79]; sx q[79]; rz(pi/2) q[79]; rz(pi/2) q[92]; sx q[92]; rz(pi/2) q[92]; measure q[79] -> c[0]; measure q[92] -> c[1];
01_bernstein_vazirani_1_ibm_sherbrooke
Circuit ops (ISA):
OrderedDict([('rz', 26), ('sx', 13), ('measure', 3), ('barrier', 2), ('ecr', 2), ('x', 1)])
Counts for the output register:
{'110': 92, '100': 3, '010': 3, '111': 2}
OPENQASM 2.0; include "qelib1.inc"; gate rzx(param0) q0,q1 { h q1; cx q0,q1; rz(param0) q1; cx q0,q1; h q1; } gate ecr q0,q1 { rzx(pi/4) q0,q1; x q0; rzx(-pi/4) q0,q1; } qreg q[127]; creg c[3]; rz(pi/2) q[48]; sx q[48]; rz(pi/2) q[48]; rz(pi/2) q[49]; sx q[49]; rz(-pi/2) q[49]; rz(pi/2) q[50]; sx q[50]; rz(pi/2) q[50]; rz(pi/2) q[104]; sx q[104]; rz(pi/2) q[104]; barrier q[104],q[50],q[48],q[49]; rz(-pi/2) q[48]; sx q[48]; rz(-pi/2) q[48]; rz(pi/2) q[49]; sx q[49]; rz(-2.0130996438987285) q[49]; rz(-pi/2) q[50]; sx q[50]; rz(pi/2) q[50]; ecr q[49],q[50]; rz(-0.44230331710383375) q[49]; x q[49]; ecr q[49],q[48]; rz(-pi/2) q[49]; sx q[49]; rz(-pi/2) q[49]; rz(-pi/2) q[48]; sx q[48]; rz(pi/2) q[50]; sx q[50]; rz(-pi) q[50]; barrier q[104],q[50],q[48],q[49]; rz(pi/2) q[104]; sx q[104]; rz(pi/2) q[104]; rz(pi/2) q[48]; sx q[48]; rz(pi/2) q[48]; rz(pi/2) q[50]; sx q[50]; rz(pi/2) q[50]; measure q[104] -> c[0]; measure q[50] -> c[1]; measure q[48] -> c[2];
01_bernstein_vazirani_2_ibm_sherbrooke
Circuit ops (ISA):
OrderedDict([('rz', 29), ('sx', 15), ('measure', 4), ('barrier', 2), ('ecr', 2), ('x', 1)])
Counts for the output register:
{'0110': 90, '0010': 3, '0000': 1, '0100': 3, '0111': 1, '1110': 2}
OPENQASM 2.0; include "qelib1.inc"; gate rzx(param0) q0,q1 { h q1; cx q0,q1; rz(param0) q1; cx q0,q1; h q1; } gate ecr q0,q1 { rzx(pi/4) q0,q1; x q0; rzx(-pi/4) q0,q1; } qreg q[127]; creg c[4]; rz(pi/2) q[82]; sx q[82]; rz(pi/2) q[82]; rz(pi/2) q[104]; sx q[104]; rz(pi/2) q[104]; rz(pi/2) q[109]; sx q[109]; rz(pi/2) q[109]; rz(pi/2) q[113]; sx q[113]; rz(pi/2) q[113]; rz(pi/2) q[114]; sx q[114]; rz(-pi/2) q[114]; barrier q[82],q[113],q[109],q[104],q[114]; rz(-pi/2) q[109]; sx q[109]; rz(-pi/2) q[109]; x q[113]; rz(-pi/2) q[114]; sx q[114]; rz(-3.1345848626617325) q[114]; sx q[114]; rz(-pi/2) q[114]; ecr q[113],q[114]; rz(pi/2) q[113]; rz(pi/2) q[114]; sx q[114]; rz(1.577804117722958) q[114]; ecr q[114],q[109]; rz(-pi/2) q[114]; sx q[114]; rz(-pi/2) q[114]; rz(-pi/2) q[109]; sx q[109]; barrier q[82],q[113],q[109],q[104],q[114]; rz(pi/2) q[104]; sx q[104]; rz(pi/2) q[104]; rz(pi/2) q[109]; sx q[109]; rz(pi/2) q[109]; rz(pi/2) q[113]; sx q[113]; rz(pi/2) q[113]; rz(pi/2) q[82]; sx q[82]; rz(pi/2) q[82]; measure q[82] -> c[0]; measure q[113] -> c[1]; measure q[109] -> c[2]; measure q[104] -> c[3];
01_bernstein_vazirani_3_ibm_sherbrooke
Circuit ops (ISA):
OrderedDict([('rz', 47), ('sx', 25), ('ecr', 7), ('measure', 5), ('barrier', 2), ('x', 2)])
Counts for the output register:
{'11111': 6, '01111': 75, '01011': 8, '01110': 2, '00110': 1, '00111': 6, '10111': 1, '00011': 1}
OPENQASM 2.0; include "qelib1.inc"; gate rzx(param0) q0,q1 { h q1; cx q0,q1; rz(param0) q1; cx q0,q1; h q1; } gate ecr q0,q1 { rzx(pi/4) q0,q1; x q0; rzx(-pi/4) q0,q1; } qreg q[127]; creg c[5]; rz(pi/2) q[47]; sx q[47]; rz(pi/2) q[47]; rz(pi/2) q[48]; sx q[48]; rz(pi/2) q[48]; rz(pi/2) q[49]; sx q[49]; rz(-pi/2) q[49]; rz(pi/2) q[50]; sx q[50]; rz(pi/2) q[50]; rz(pi/2) q[55]; sx q[55]; rz(pi/2) q[55]; rz(pi/2) q[82]; sx q[82]; rz(pi/2) q[82]; barrier q[50],q[55],q[48],q[47],q[82],q[49]; rz(-pi/2) q[48]; sx q[48]; rz(-pi/2) q[48]; rz(pi/2) q[47]; sx q[47]; rz(pi/2) q[49]; sx q[49]; rz(0.04929373973754991) q[49]; rz(-pi/2) q[50]; sx q[50]; rz(-pi/2) q[50]; ecr q[49],q[50]; rz(-1.5215025870573462) q[49]; sx q[49]; rz(-pi/2) q[49]; ecr q[55],q[49]; x q[55]; rz(-pi/2) q[55]; rz(pi/2) q[49]; sx q[49]; rz(-pi/2) q[49]; ecr q[49],q[48]; rz(-pi/2) q[49]; sx q[48]; ecr q[47],q[48]; rz(-pi/2) q[47]; sx q[47]; rz(-pi) q[47]; rz(pi/2) q[48]; sx q[48]; ecr q[47],q[48]; rz(pi/2) q[47]; sx q[47]; rz(pi/2) q[47]; rz(-pi/2) q[48]; ecr q[47],q[48]; sx q[47]; rz(-pi/2) q[47]; x q[48]; ecr q[49],q[48]; rz(-pi/2) q[49]; sx q[49]; rz(pi/2) q[49]; rz(pi/2) q[48]; sx q[48]; rz(-pi) q[48]; rz(-pi/2) q[50]; sx q[50]; barrier q[50],q[55],q[47],q[48],q[82],q[49]; rz(pi/2) q[47]; sx q[47]; rz(pi/2) q[47]; rz(pi/2) q[48]; sx q[48]; rz(pi/2) q[48]; rz(pi/2) q[50]; sx q[50]; rz(pi/2) q[50]; rz(pi/2) q[55]; sx q[55]; rz(pi/2) q[55]; rz(pi/2) q[82]; sx q[82]; rz(pi/2) q[82]; measure q[50] -> c[0]; measure q[55] -> c[1]; measure q[47] -> c[2]; measure q[48] -> c[3]; measure q[82] -> c[4];
01_bernstein_vazirani_4_ibm_sherbrooke
Circuit ops (ISA):
OrderedDict([('rz', 29), ('sx', 14), ('measure', 6), ('barrier', 2), ('ecr', 1), ('x', 1)])
Counts for the output register:
{'000010': 96, '001010': 2, '100010': 1, '000000': 1}
OPENQASM 2.0; include "qelib1.inc"; gate rzx(param0) q0,q1 { h q1; cx q0,q1; rz(param0) q1; cx q0,q1; h q1; } gate ecr q0,q1 { rzx(pi/4) q0,q1; x q0; rzx(-pi/4) q0,q1; } qreg q[127]; creg c[6]; rz(pi/2) q[74]; sx q[74]; rz(pi/2) q[74]; rz(pi/2) q[82]; sx q[82]; rz(pi/2) q[82]; rz(pi/2) q[104]; sx q[104]; rz(pi/2) q[104]; rz(pi/2) q[113]; sx q[113]; rz(pi/2) q[113]; rz(pi/2) q[121]; sx q[121]; rz(pi/2) q[121]; rz(pi/2) q[122]; sx q[122]; rz(-pi/2) q[122]; rz(pi/2) q[124]; sx q[124]; rz(pi/2) q[124]; barrier q[82],q[121],q[124],q[113],q[104],q[74],q[122]; rz(-pi/2) q[121]; rz(-pi) q[122]; sx q[122]; rz(-pi) q[122]; ecr q[121],q[122]; x q[121]; barrier q[82],q[121],q[124],q[113],q[104],q[74],q[122]; rz(pi/2) q[104]; sx q[104]; rz(pi/2) q[104]; rz(pi/2) q[113]; sx q[113]; rz(pi/2) q[113]; rz(pi/2) q[121]; sx q[121]; rz(pi/2) q[121]; rz(pi/2) q[124]; sx q[124]; rz(pi/2) q[124]; rz(pi/2) q[74]; sx q[74]; rz(pi/2) q[74]; rz(pi/2) q[82]; sx q[82]; rz(pi/2) q[82]; measure q[82] -> c[0]; measure q[121] -> c[1]; measure q[124] -> c[2]; measure q[113] -> c[3]; measure q[104] -> c[4]; measure q[74] -> c[5];
01_bernstein_vazirani_5_ibm_sherbrooke
Circuit ops (ISA):
OrderedDict([('rz', 36), ('sx', 17), ('measure', 7), ('barrier', 2), ('ecr', 2), ('x', 2)])
Counts for the output register:
{'0100100': 90, '0101100': 2, '0100110': 4, '0000110': 1, '0000100': 3}
OPENQASM 2.0; include "qelib1.inc"; gate rzx(param0) q0,q1 { h q1; cx q0,q1; rz(param0) q1; cx q0,q1; h q1; } gate ecr q0,q1 { rzx(pi/4) q0,q1; x q0; rzx(-pi/4) q0,q1; } qreg q[127]; creg c[7]; rz(pi/2) q[74]; sx q[74]; rz(pi/2) q[74]; rz(pi/2) q[82]; sx q[82]; rz(pi/2) q[82]; rz(pi/2) q[104]; sx q[104]; rz(pi/2) q[104]; rz(pi/2) q[113]; sx q[113]; rz(pi/2) q[113]; rz(pi/2) q[121]; sx q[121]; rz(pi/2) q[121]; rz(pi/2) q[122]; sx q[122]; rz(-pi/2) q[122]; rz(pi/2) q[123]; sx q[123]; rz(pi/2) q[123]; rz(pi/2) q[124]; sx q[124]; rz(pi/2) q[124]; barrier q[82],q[124],q[121],q[113],q[104],q[123],q[74],q[122]; rz(-pi/2) q[121]; rz(-pi/2) q[123]; rz(-pi) q[122]; sx q[122]; rz(-pi) q[122]; ecr q[121],q[122]; x q[121]; rz(-pi) q[122]; sx q[122]; rz(-pi) q[122]; ecr q[123],q[122]; x q[123]; barrier q[82],q[124],q[121],q[113],q[104],q[123],q[74],q[122]; rz(pi/2) q[104]; sx q[104]; rz(pi/2) q[104]; rz(pi/2) q[113]; sx q[113]; rz(pi/2) q[113]; rz(pi/2) q[121]; sx q[121]; rz(pi/2) q[121]; rz(pi/2) q[123]; sx q[123]; rz(pi/2) q[123]; rz(pi/2) q[124]; sx q[124]; rz(pi/2) q[124]; rz(pi/2) q[74]; sx q[74]; rz(pi/2) q[74]; rz(pi/2) q[82]; sx q[82]; rz(pi/2) q[82]; measure q[82] -> c[0]; measure q[124] -> c[1]; measure q[121] -> c[2]; measure q[113] -> c[3]; measure q[104] -> c[4]; measure q[123] -> c[5]; measure q[74] -> c[6];
01_bernstein_vazirani_6_ibm_sherbrooke
Circuit ops (ISA):
OrderedDict([('rz', 54), ('sx', 28), ('measure', 8), ('ecr', 7), ('x', 3), ('barrier', 2)])
Counts for the output register:
{'00111010': 60, '00011010': 9, '00111000': 7, '01111010': 5, '10111010': 5, '00011000': 1, '00110010': 2, '00111110': 4, '11111010': 1, '10101010': 1, '01011010': 2, '00101010': 1, '00001000': 1, '00001010': 1}
OPENQASM 2.0; include "qelib1.inc"; gate rzx(param0) q0,q1 { h q1; cx q0,q1; rz(param0) q1; cx q0,q1; h q1; } gate ecr q0,q1 { rzx(pi/4) q0,q1; x q0; rzx(-pi/4) q0,q1; } qreg q[127]; creg c[8]; rz(pi/2) q[47]; sx q[47]; rz(pi/2) q[47]; rz(pi/2) q[48]; sx q[48]; rz(pi/2) q[48]; rz(pi/2) q[49]; sx q[49]; rz(-pi/2) q[49]; rz(pi/2) q[50]; sx q[50]; rz(pi/2) q[50]; rz(pi/2) q[55]; sx q[55]; rz(pi/2) q[55]; rz(pi/2) q[82]; sx q[82]; rz(pi/2) q[82]; rz(pi/2) q[104]; sx q[104]; rz(pi/2) q[104]; rz(pi/2) q[113]; sx q[113]; rz(pi/2) q[113]; rz(pi/2) q[124]; sx q[124]; rz(pi/2) q[124]; barrier q[82],q[50],q[124],q[48],q[55],q[47],q[113],q[104],q[49]; rz(-pi/2) q[48]; sx q[48]; rz(-pi/2) q[48]; rz(-pi/2) q[55]; rz(-pi/2) q[47]; rz(pi/2) q[49]; sx q[49]; rz(-2.0130996438987285) q[49]; rz(-pi/2) q[50]; sx q[50]; rz(pi/2) q[50]; ecr q[49],q[50]; rz(-0.44230331710383375) q[49]; x q[49]; ecr q[49],q[48]; sx q[49]; rz(-pi/2) q[49]; ecr q[55],q[49]; x q[55]; sx q[48]; sx q[49]; ecr q[49],q[48]; rz(-pi/2) q[49]; sx q[49]; rz(-pi) q[49]; rz(pi/2) q[48]; sx q[48]; ecr q[49],q[48]; rz(pi/2) q[49]; sx q[49]; rz(pi/2) q[49]; rz(-pi/2) q[48]; ecr q[49],q[48]; sx q[49]; rz(-pi/2) q[49]; rz(pi/2) q[48]; ecr q[47],q[48]; x q[47]; rz(pi/2) q[50]; sx q[50]; rz(-pi) q[50]; barrier q[82],q[50],q[124],q[49],q[55],q[47],q[113],q[104],q[48]; rz(pi/2) q[104]; sx q[104]; rz(pi/2) q[104]; rz(pi/2) q[113]; sx q[113]; rz(pi/2) q[113]; rz(pi/2) q[124]; sx q[124]; rz(pi/2) q[124]; rz(pi/2) q[47]; sx q[47]; rz(pi/2) q[47]; rz(pi/2) q[49]; sx q[49]; rz(pi/2) q[49]; rz(pi/2) q[50]; sx q[50]; rz(pi/2) q[50]; rz(pi/2) q[55]; sx q[55]; rz(pi/2) q[55]; rz(pi/2) q[82]; sx q[82]; rz(pi/2) q[82]; measure q[82] -> c[0]; measure q[50] -> c[1]; measure q[124] -> c[2]; measure q[49] -> c[3]; measure q[55] -> c[4]; measure q[47] -> c[5]; measure q[113] -> c[6]; measure q[104] -> c[7];
01_bernstein_vazirani_7_ibm_brisbane
Circuit ops (ISA):
OrderedDict([('rz', 66), ('sx', 33), ('measure', 9), ('ecr', 7), ('barrier', 2), ('x', 2)])
Counts for the output register:
{'110000000': 1, '010100001': 7, '110110001': 8, '110110011': 3, '111000000': 1, '111100001': 6, '110100011': 7, '010000010': 1, '110100001': 21, '110000001': 4, '010100011': 1, '110000101': 1, '010000001': 1, '010010011': 1, '010000000': 1, '010110001': 5, '100100000': 1, '110110101': 1, '110100000': 3, '110100101': 2, '110010001': 2, '111110001': 2, '110111000': 1, '110010011': 1, '100000100': 2, '110001001': 2, '011100001': 1, '110101001': 2, '110101000': 1, '110101010': 1, '000101001': 1, '010010000': 1, '010110011': 1, '010001000': 1, '110110000': 1, '010010001': 1, '111100011': 1, '010101001': 1, '100101000': 1}
OPENQASM 2.0; include "qelib1.inc"; gate rzx(param0) q0,q1 { h q1; cx q0,q1; rz(param0) q1; cx q0,q1; h q1; } gate ecr q0,q1 { rzx(pi/4) q0,q1; x q0; rzx(-pi/4) q0,q1; } qreg q[127]; creg c[9]; rz(pi/2) q[5]; sx q[5]; rz(pi/2) q[5]; rz(pi/2) q[31]; sx q[31]; rz(pi/2) q[31]; rz(pi/2) q[49]; sx q[49]; rz(pi/2) q[49]; rz(pi/2) q[56]; sx q[56]; rz(pi/2) q[56]; rz(pi/2) q[57]; sx q[57]; rz(pi/2) q[57]; rz(pi/2) q[58]; sx q[58]; rz(-pi/2) q[58]; rz(pi/2) q[59]; sx q[59]; rz(pi/2) q[59]; rz(pi/2) q[71]; sx q[71]; rz(pi/2) q[71]; rz(pi/2) q[103]; sx q[103]; rz(pi/2) q[103]; rz(pi/2) q[113]; sx q[113]; rz(pi/2) q[113]; barrier q[57],q[103],q[5],q[113],q[49],q[59],q[31],q[71],q[56],q[58]; rz(-pi/2) q[56]; rz(pi/2) q[58]; sx q[58]; rz(-2.9677634967265547) q[58]; sx q[58]; rz(pi/2) q[58]; ecr q[57],q[58]; rz(-pi/2) q[57]; sx q[57]; rz(-pi/2) q[57]; rz(-pi/2) q[58]; sx q[58]; rz(-1.3969671699316581) q[58]; rz(-pi/2) q[59]; sx q[59]; rz(-pi/2) q[59]; ecr q[58],q[59]; x q[58]; rz(pi/2) q[58]; rz(-pi/2) q[59]; sx q[59]; rz(-pi) q[59]; rz(-pi/2) q[71]; sx q[71]; rz(-pi/2) q[71]; ecr q[58],q[71]; rz(-pi/2) q[58]; sx q[58]; rz(-pi/2) q[58]; ecr q[57],q[58]; rz(-pi/2) q[57]; sx q[57]; rz(-pi) q[57]; rz(pi/2) q[58]; sx q[58]; ecr q[57],q[58]; rz(pi/2) q[57]; sx q[57]; rz(pi/2) q[57]; rz(-pi/2) q[58]; ecr q[57],q[58]; rz(pi/2) q[57]; sx q[57]; rz(-pi) q[57]; ecr q[56],q[57]; x q[56]; rz(-pi) q[58]; sx q[58]; rz(-pi/2) q[71]; sx q[71]; rz(-pi) q[71]; barrier q[58],q[103],q[5],q[113],q[49],q[59],q[31],q[71],q[56],q[57]; rz(pi/2) q[103]; sx q[103]; rz(pi/2) q[103]; rz(pi/2) q[113]; sx q[113]; rz(pi/2) q[113]; rz(pi/2) q[31]; sx q[31]; rz(pi/2) q[31]; rz(pi/2) q[49]; sx q[49]; rz(pi/2) q[49]; rz(pi/2) q[5]; sx q[5]; rz(pi/2) q[5]; rz(pi/2) q[56]; sx q[56]; rz(pi/2) q[56]; rz(pi/2) q[58]; sx q[58]; rz(pi/2) q[58]; rz(pi/2) q[59]; sx q[59]; rz(pi/2) q[59]; rz(pi/2) q[71]; sx q[71]; rz(pi/2) q[71]; measure q[58] -> c[0]; measure q[103] -> c[1]; measure q[5] -> c[2]; measure q[113] -> c[3]; measure q[49] -> c[4]; measure q[59] -> c[5]; measure q[31] -> c[6]; measure q[71] -> c[7]; measure q[56] -> c[8];