首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何使用Qiskit对量子电路中的U门进行编码?

如何使用Qiskit对量子电路中的U门进行编码?
EN

Stack Overflow用户
提问于 2020-01-01 17:14:15
回答 1查看 497关注 0票数 1

我正在阅读this的论文并尝试实现它在图11中提供的量子电路。我想使用Qiskit对此电路进行编码。我正在尝试实现的电路是附加的。

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

代码语言:javascript
运行
复制
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')

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

EN

回答 1

Stack Overflow用户

发布于 2021-07-14 16:34:22

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

代码语言:javascript
运行
复制
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')

Output Circuit

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59551231

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档