python - QisKit:状态向量的差异/可视化没有差异
问题描述
为什么状态向量有差异,但可视化没有差异?
是否有任何其他可视化来显示差异?
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()
解决方案
对我来说这似乎是一个错误(我在这里报告过)
无论如何,我建议您使用万花筒来可视化状态。它有交互式图表。这是您的示例(为简短而重构):
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)
颜色的不同是相位。在第一种情况下是 π。
推荐阅读
- javascript - 遍历 html 表并获取 javascript 中每一行的行号
- c# - 带有单选的 ASP.NET Core MVC 下拉框
- html - SVG - 带有图像背景的图案 - 图像填充不一样 - 适应它们包含的形状
- sql - 如何进行海量选择 SAP ABAP
- amazon-web-services - AWS API Gateway 中的 Swagger
- python - Numba 中的导入错误
- sql - INSERT INTO 参数太少
- python - 插值 pandas 缺少 datetime64 值
- c++ - {^(0),(1),……,()} 的部分群之和
- java - 用于 xsd:ComplexType 对象的 RestController 中 @RequestBody 中的空值