1

我正在阅读这篇论文并尝试实现它在图 11 中提供的量子电路。我想使用 Qiskit 对这个电路进行编码。我试图实现的电路已附上。

电路

到目前为止,我已经对电路的某些部分进行了编码。这是我的代码。

from qiskit import QuantumRegister, ClassicalRegister, QuantumCircuit

n = 3
qr = QuantumRegister(n, 'q')
an = QuantumRegister(1, 'ancilla')

circuit = QuantumCircuit(an, qr)

circuit.h(qr[2])
circuit.cx(qr[2], qr[1])
circuit.cx(qr[1], qr[0])
circuit.x(qr[1])
circuit.swap(qr[0], qr[1])
circuit.cu1("Pi", an[0], qr[1])
circuit.cu1("Pi/3", an[0], qr[0]) 
circuit.swap(qr[0], qr[1])
circuit.x(qr[1])
circuit.cx(qr[1], qr[0])
circuit.cx(qr[2], qr[1])
circuit.h(qr[2])
circuit.draw(output='latex')

此代码生成以下输出。请帮我处理这段代码。

我的电路

4

1 回答 1

0

我试图像这样实现所需的电路,也许这就是你想要的。

import numpy as np # Importing standard Qiskit libraries
from qiskit import QuantumCircuit, transpile, Aer
from qiskit.tools.jupyter import *
from qiskit.visualization import *

from qiskit import QuantumRegister, ClassicalRegister, QuantumCircuit
from numpy import pi


an = QuantumRegister(1, 'ancilla')
qreg_q = QuantumRegister(2, 'register')
qreg_mem=QuantumRegister(1, 'memory')
circuit = QuantumCircuit(an, qreg_q,qreg_mem)

circuit.h(qreg_mem[0])
circuit.cx(qreg_mem[0], qreg_q[1])
circuit.cx(qreg_q[1], qreg_q[0])
circuit.x(qreg_q[1])
circuit.swap(qreg_q[0], qreg_q[1])
circuit.cu(pi, pi, pi, pi/2, qreg_q[1], an[0])
circuit.cu(pi/3, pi/3, pi/3, pi/2, qreg_q[0], an[0])
circuit.swap(qreg_q[0], qreg_q[1])
circuit.x(qreg_q[1])
circuit.cx(qreg_q[1], qreg_q[0])
circuit.cx(qreg_mem[0], qreg_q[1])
circuit.h(qreg_mem[0])
circuit.draw(output='latex')

输出电路

于 2021-07-14T08:34:22.210 回答