ทำงานกับ DAG ใน transpiler passes
ใน Qiskit ในช่วงขั้นตอนการ transpilation นั้น circuits จะถูกแทนด้วย DAG โดยทั่วไป DAG ประกอบด้วย vertices (หรือที่เรียกว่า "nodes") และ directed edges ที่เชื่อมต่อคู่ของ vertices ในทิศทางที่กำหนด การแทนนี้จัดเก็บโดยใช้ออบเจ็กต์ qiskit.dagcircuit.DAGCircuit ที่ประกอบด้วยออบเจ็กต์ DagNode แต่ละตัว ข้อดีของการแทนนี้เหนือรายการ gates ล้วนๆ (นั่นคือ netlist) คือ flow ของข้อมูลระหว่าง operations นั้นชัดเจน ทำให้ตัดสินใจในการแปลงได้ง่ายขึ้น
คู่มือนี้แสดงวิธีการทำงานกับ DAGs และนำมาใช้เขียน transpiler passes แบบกำหนดเอง โดยจะเริ่มจากการสร้าง circuit ง่ายๆ และตรวจสอบการแทน DAG จากนั้นสำรวจ operations พื้นฐานของ DAG และนำ pass BasicMapper แบบกำหนดเองมาใช้