mindquantum.algorithm.compiler.DAGCircuit#

class mindquantum.algorithm.compiler.DAGCircuit(circuit)#

量子线路的有向无环图表示(Directed acyclic graph, DAG)。

参数:
  • circuit (Circuit) - 输入的量子线路。

append_node(node)#

添加一个量子门 DAG 节点。

参数:
  • node (DAGNode) - 想要添加的 DAG 节点。

depth()#

返回量子线路的层数。

find_all_gate_node()#

查找 DAGCircuit 图中的所有量子门节点。

返回:

List[GateNode],DAGCircuit 中所有 GateNode 的列表。

layering()#

将量子线路进行分层。

返回:

List[Circuit],分层后的量子线路列表。

abstract replace_node_with_dag_circuit(node, coming)#

用一个 DAG 图来替换给定的节点。

参数:
to_circuit()#

DAGCircuit 转化为量子线路。

返回:

Circuit , DAG 图对应的量子线路。

topological_sort()#

执行有向无环图(DAG)的拓扑排序,并返回拓扑排序后的节点顺序。

返回:

List[DAGNode],拓扑排序后的节点列表。