首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在中初始化量子位

如何在中初始化量子位
EN

Stack Overflow用户
提问于 2022-11-05 08:10:57
回答 1查看 72关注 0票数 0

步骤1 Qisqit :这里是Qiskit的代码。我已经初始化了这四个量子位。

代码语言:javascript
复制
qr1 = QuantumRegister(4)
mea = ClassicalRegister(2) 
circuit = QuantumCircuit(qr1,mea) 
initial=[[1,0],[0,1]]

circuit.initialize(initial[1], 0)
circuit.initialize(initial[1], 1)

#  Uc 
circuit.x(qr1[1])
circuit.ccx(qr1[0],qr1[1],qr1[2])
circuit.x(qr1[0])
circuit.x(qr1[1])
circuit.ccx(qr1[0],qr1[1],qr1[3])
circuit.x(qr1[0])

Its Circut:

步骤2 initialize :这里的没有初始化qubis的工具。请指导我如何在这里初始化?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-11-05 08:52:18

OpenQASM语言是几种量子计算工具中交换电路的标准。您可以使用您的Qiskit电路移动到。

代码语言:javascript
复制
print(circuit.qasm())
代码语言:javascript
复制
OPENQASM 2.0;
include "qelib1.inc";
gate multiplex1_reverse_dg q0 { ry(pi) q0; }
...

您可以将输出粘贴到中的OpenQASM 2.0框中。

Note:目前,有指示为“门”。对于您的具体情况,您需要首先执行decompose

代码语言:javascript
复制
print(circuit.decompose().qasm())

initialize: Qiskit 然后是状态准备的详细说明。以下列例子为例:

代码语言:javascript
复制
circuit = QuantumCircuit(1) 
circuit.initialize([0,1], 0)
print(circuit.decompose().qasm())
代码语言:javascript
复制
OPENQASM 2.0;
include "qelib1.inc";
gate multiplex1_reverse_dg q0 { ry(pi) q0; }   #3
gate disentangler_dg q0 { multiplex1_reverse_dg q0; }
gate state_preparation(param0,param1) q0 { disentangler_dg q0; }
qreg q[1];
reset q[0];                  #1
state_preparation(0,1) q[0]; #2

#1中,是reset,其次是state_preparation,后面是#2。在一些嵌套调用之后,标准ry#3中被调用。在这种情况下,circuit.initialize([0,1], 0)等同于reset q0[0]; ry(pi) q0[0]

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

https://stackoverflow.com/questions/74326135

复制
相关文章

相似问题

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