为什么状态向量有差异,而可视化却没有区别?
还有其他的视觉效果来显示这些差异吗?
qiskit: 0.23.3
python: 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()两个状态器的可视化是相等的!!


发布于 2021-02-14 08:40:17
在我看来,这似乎是个bug (我报告了这里)
无论如何,我建议您使用万花筒来可视化状态。它有交互式的图表。下面是您的示例(重构短小):
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)

不同的颜色是相位。第一种情况是π。
https://stackoverflow.com/questions/66180030
复制相似问题