Skip to content

可视化 ​

pyqpanda3.visualization 模块提供了使用 matplotlib 可视化量子态、量子线路和概率分布的工具,包括 Bloch 球绘制、态矢量图、概率柱状图,以及带统计信息和 ASCII 艺术的线路图。此外还提供指令时序可视化(draw_time_scheduling()),用于把 QProg.to_instruction() 导出的带调度指令流绘制为时间线图。

导入 ​

python
from pyqpanda3 import visualization
# or
import pyqpanda3.visualization

子主题 ​

主题说明
Bloch 球Bloch 球绘制函数
量子态态矢量和密度矩阵可视化
概率概率分布绘制
量子线路线路绘制、统计和 ASCII 艺术
时间调度draw_time_scheduling()、parse_instruction_schedule() 等时序可视化

.draw() 方法 ​

导入可视化模块后,QProg 和 QCircuit 对象将获得 .draw() 便捷方法,用于快速渲染线路:

python
from pyqpanda3 import visualization
from pyqpanda3.core import QCircuit, H, CNOT

visualization  # triggers the monkey-patch

circuit = QCircuit(2)
circuit << H(0) << CNOT(0, 1)
print(circuit.draw())

运行结果:

          ┌─┐        
q_0:  |0>─┤H├ ───*── 
          └─┘ ┌──┴─┐ 
q_1:  |0>──── ┤CNOT├ 
              └────┘ 
 c :   / ═══════════

示例 ​

python
from pyqpanda3 import visualization
from pyqpanda3.core import CPUQVM, QProg, H, CNOT, measure

# Build and run a Bell-state program
prog = QProg()
prog << H(0) << CNOT(0, 1) << measure(0, 0) << measure(1, 1)
qvm = CPUQVM()
qvm.run(prog, 1000)
state = qvm.result().get_state_vector()

# Plot the resulting quantum state
fig = visualization.plot_state(state)
print(type(fig).__name__)

Released under the MIT License.