Qiskit的draw方法仅显示ZZFeatureMap名称不展示电路结构如何解决
问题原因
ZZFeatureMap是Qiskit封装的标准蓝图电路类,默认会将完整的特征映射电路打包为单个复合门节点,调用draw()方法时默认不展开复合门内部结构,因此仅能显示模块名称。print()方法底层默认触发了电路展开逻辑,因此可以输出完整的电路结构。
解决方案
最直接的方法是调用decompose()方法手动展开复合门的封装结构:
- 仅需展开一层结构即可显示完整ZZFeatureMap电路时,使用如下代码:
from qiskit.circuit.library import ZZFeatureMap zz = ZZFeatureMap(2, entanglement="full", reps=2) zz.decompose().draw("mpl") - 如果存在更深层级的嵌套封装,可以指定
reps参数设置展开次数,例如展开2层结构:zz.decompose(reps=2).draw("mpl")
内容的提问来源于stack exchange,提问作者Harsha Pamidipalli
相关产品推荐
相关产品推荐

