利用 jupyter notebook+qiskit 实现第一个量子电路

 1.通过以下代码总结构造一个量子电路的几个关键点:

(1)导入包

(2)构建电路(量子寄存器、比特数,添加门,测量等)

(3)模拟

(4)可视化(电路、以及结果)

import qiskit
from qiskit import QuantumCircuit,QuantumRegister,Aer,execute,ClassicalRegister,IBMQ
from qiskit.tools.visualization import plot_histogram
from qiskit.providers.aer import QasmSimulator
IBMQ.save_account('your token',overwrite=True)

# 一个单元格有多个输出
from IPython.core.interactiveshell import InteractiveShell
InteractiveShell.ast_node_interactivity = 'all'



# 创建两个量子电路
circuit = QuantumCircuit(2,2)
circuit1 = QuantumCircuit(2,2)

# 分别为两个电路添加门
circuit.h(0)
circuit.cx(0,1)
circuit.measure([0,1],[0,1])

circuit1.cx(1,0)
circuit1.h(1)
circuit1.measure([0,1],[0,1])

# 模拟
simulator = Aer.get_backend('qasm_simulator')
job = execute(circuit,simulator)
result = job.result()
# 输出
counts = result.get_counts(circuit)
print(counts)
circuit.draw(output = 'mpl')
plot_histogram(counts)

# 生成一个新的量子电路,进行模拟、输出,注意这里的circuit和之前的已经不同了
circuit += circuit1
job = execute(circuit,simulator)
result = job.result()
cou = result.get_counts(circuit)
print(cou)
circuit.draw(output = 'mpl')
plot_histogram(cou)

代码效果: 

 

 记录一个知识点:电路可以进行'+'和‘+=’运算,前提是两个电路qubit和bit数目是相同的,否则会报错,提示两个量子寄存器不兼容

参考:【1】https://sooluthomas.github.io/testTranslation/terra/quantum_circuits.html#concatenating-circuits

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值