0
from qiskit import QuantumRegister, ClassicalRegister, QuantumCircuit, Aer, execute, IBMQ
from qiskit.visualization import  *

n_data = 4
n_ancilla = 3
n_measure = 7
qc = QuantumCircuit(n_data+n_ancilla,n_measure)
list_n = list(range(n_data))
list_a = list(range(n_data,n_data+n_ancilla))
list_m = list(range(n_measure-1,-1,-1))
print(list_n)
print(list_a)
print(list_m)

# Initialization
qc.h(list_n[1])
qc.h(list_n[3])
qc.barrier()

# Encoding
qc.h(list_a[1])
qc.cx(list_a[1], list_n[0])
qc.cx(list_n[1], list_a[2])
qc.barrier()

qc.cx(list_a[1], list_n[2])
qc.cx(list_n[3], list_a[2])
qc.barrier()

qc.cx(list_a[1], list_n[1])
qc.cx(list_n[0], list_a[0])
qc.barrier()

qc.cx(list_a[1], list_n[3])
qc.cx(list_n[2], list_a[0])
qc.barrier()

qc.h(list_a[1])

qc.h(list_n[1])
qc.h(list_n[3])
qc.barrier()

qc.measure(list_a, list_m[4:7])
qc.draw('mpl')


# this is my surface code and I copied it.

qc2 = qc.copy()

# step 1.
qc.cx(qc.qregs[1][0], qc2.qregs[1][2])

This is a surface code and its distance is 2. I made a circuit and copied it so I can Z merge 2 circuits. Problem is how to z merge 2 circuit.
I want to Z merge the 2 circuits.

  1. merge list_a[0] of qc and list_a[2] of qc2.
  2. make new ancilla qubit and Z measure list_n[2] of qc and list_n[0]
  3. make new ancilla qubit and Z measure list_n[3] of qc and list_n[1]

index error: list index out of range Also, How do I do step 2,3? Please help......

0 Answers0