【问题标题】:QisKit: Difference on Statevector / No Difference on VizualizationQisKit:状态向量的差异/可视化没有差异
【发布时间】:2021-02-12 22:49:12
【问题描述】:

为什么状态向量有差异,但可视化效果没有差异?
是否有任何其他可视化来显示差异?

qiskit:0.23.3
蟒蛇:3.8

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

代码示例

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()

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

【问题讨论】:

  • 对不起,这里的答案延迟,考虑在quantumcomputing.stackexchange.com发布这种问题
  • 它可能会像 luciano 所说的那样被破坏,但也有可能 qiskit 在绘制状态时故意忽略全局阶段。您拥有的两个状态向量在物理上无法区分,这意味着您永远无法通过任何实验发现它们之间的区别。
  • @luciano:下次我会在quantumcomputing.stackexchange.com发帖,非常感谢您在下面的回答。
  • @Frank:我是新手,并尝试进入一些东西。这是第一个问题,它将把我带到一个新的水平。感谢您的提示。

标签: python visualization qiskit


【解决方案1】:

对我来说这似乎是一个错误(我报告了here

无论如何,我建议您Kaleidoscope 来可视化状态。它有交互式图表。这是您的示例(为了简短而重构):

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)

将颜色与其他示例进行比较:

circ = QuantumCircuit(1)

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

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

【讨论】:

  • 除了jupyter还能用万花筒吗?在 Pycharm 中运行您的示例会打开显示该图的 html 浏览器。
猜你喜欢
  • 1970-01-01
  • 2012-08-04
  • 2011-02-25
  • 1970-01-01
  • 1970-01-01
  • 2011-01-05
  • 2017-04-27
  • 2018-02-22
  • 2011-03-14
相关资源
最近更新 更多