首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >QisKit: Statevector上的差异/ Vizualization上的无差异

QisKit: Statevector上的差异/ Vizualization上的无差异
EN

Stack Overflow用户
提问于 2021-02-12 22:49:12
回答 1查看 174关注 0票数 0

为什么状态向量有差异,而可视化却没有区别?

还有其他的视觉效果来显示这些差异吗?

qiskit: 0.23.3

python: 3.8

代码语言:javascript
复制
circuit-1 + statevector:
q_0: 
[1.+0.j 0.+0.j] ==> +1

circuit-2 + statevector
     ┌───┐┌───┐┌───┐┌───┐┌───┐
q_0: ┤ X ├┤ H ├┤ X ├┤ H ├┤ X ├
     └───┘└───┘└───┘└───┘└───┘
[-1.+0.j -0.-0.j] ==> -1

代码示例

代码语言:javascript
复制
import numpy as np
from qiskit import *
import qiskit.tools.visualization as vis
import matplotlib. pyplot as plt
from qiskit import Aer

circ = QuantumCircuit(1)

circ.x(0)
circ.h(0)
circ.x(0)
circ.h(0)
circ.x(0)

backend = Aer.get_backend('statevector_simulator')
result = execute(circ, backend).result()
statevector = result.get_statevector()

vis.plot_bloch_multivector(statevector)
vis.plot_state_city(statevector)
vis.plot_state_qsphere(statevector)
vis.plot_state_paulivec(statevector)
circ.draw(output='mpl')
print(np.around(statevector,5))
plt.show()

两个状态器的可视化是相等的!!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-02-14 08:40:17

在我看来,这似乎是个bug (我报告了这里)

无论如何,我建议您使用万花筒来可视化状态。它有交互式的图表。下面是您的示例(重构短小):

代码语言:javascript
复制
from qiskit import QuantumCircuit
from qiskit.quantum_info import Statevector
from kaleidoscope import qsphere

circ = QuantumCircuit(1)

circ.x(0)
circ.h(0)
circ.x(0)
circ.h(0)
circ.x(0)

state = Statevector.from_instruction(circ)
qsphere(state)

将颜色与另一个示例进行比较:

代码语言:javascript
复制
circ = QuantumCircuit(1)

state = Statevector.from_instruction(circ)
qsphere(state)

不同的颜色是相位。第一种情况是π。

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

https://stackoverflow.com/questions/66180030

复制
相关文章

相似问题

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