Skip to Content
文档UnitaryLab 模拟器用户手册线路工具线路分析与绘图

线路分析与绘图

draw() 面向展示,analyze() 面向结构化统计。二者都不会执行线路,也不会改变线路内容。

from unitarylab import Circuit qc = Circuit(2) qc.h(0) qc.cx(0, 1) qc.draw() qc.draw(filename="circuit.png", title="Bell State") qc.draw(output="text") qc.draw(output="latex")

output 支持 Matplotlib、纯文本和 LaTeX(quantikz)。在 Notebook 中图形内联显示,在普通脚本中打开独立窗口。

draw(filename=None, title=None, compact=True, output="mpl", **kwargs)
输出返回或行为适用场景
mplMatplotlib 图形,可通过 filename 保存Notebook、报告和图片文件
text等宽字符线路终端、日志和代码审查
latexquantikz LaTeX论文和排版系统

大型线路可先 decompose() 查看块门内部,或保留块门获得更紧凑的总览。LaTeX 输出需要在支持 quantikz 的环境中编译。

CircuitInfo

info = qc.analyze(show=False) info.show() info.show(sections=["overview", "coupling_map"]) info.show(sections="qubit_history", qubit=0)
方法说明
size() / depth()门数和贪心分层深度
count_ops()按门类型计数
count_single_qubit_gates() 等按作用比特数计数
count_parameterized_gates()参数化门数量
get_qubit_usage()各比特操作次数
get_coupling_map()双比特门耦合关系
get_qubit_history()指定比特操作历史
get_instructions() / get_layers() / get_parameters()指令、分层和参数
get_summary() / to_dict()结构化分析结果

不含测量等非酉操作的线路还可调用 get_matrix();get_matrix(m=1) 返回左上角 子块。

analyze(sections=None, show=True, qubit=None) 返回 CircuitInfo。设置 show=False 可避免打印,适合在程序中读取统计;sections 可传单个名称或列表。

规模与限制

  • 绘图和分析只处理线路结构,不能用于判断执行结果是否正确。
  • depth() 使用线路分析器的分层规则,与硬件映射后的实际调度深度可能不同。
  • get_matrix() 需要构造 矩阵,只适合小型无测量线路。
  • 保存图片时应使用与文件格式匹配的扩展名,并确保目标目录存在。

相关页面

最后更新于