def test_empty_dag(self): """ Empty DAG has 0 depth """ circuit = QuantumCircuit() dag = circuit_to_dag(circuit) pass_ = Depth() _ = pass_.run(dag) self.assertEqual(pass_.property_set['depth'], 0)
def test_depth_one(self): """ A dag with operations in parallel and depth 1""" qr = QuantumRegister(2) circuit = QuantumCircuit(qr) circuit.h(qr[0]) circuit.h(qr[1]) dag = circuit_to_dag(circuit) pass_ = Depth() _ = pass_.run(dag) self.assertEqual(pass_.property_set['depth'], 1)
def test_just_qubits(self): """ A dag with 8 operations and no classic bits""" qr = QuantumRegister(2) circuit = QuantumCircuit(qr) circuit.h(qr[0]) circuit.h(qr[1]) circuit.cx(qr[0], qr[1]) circuit.cx(qr[0], qr[1]) circuit.cx(qr[0], qr[1]) circuit.cx(qr[0], qr[1]) circuit.cx(qr[1], qr[0]) circuit.cx(qr[1], qr[0]) dag = circuit_to_dag(circuit) pass_ = Depth() _ = pass_.run(dag) self.assertEqual(pass_.property_set['depth'], 7)
def test_just_qubits(self): """A dag with 8 operations and no classic bits""" # ┌───┐ ┌───┐┌───┐ # q0_0: ┤ H ├──■────■────■────■──┤ X ├┤ X ├ # ├───┤┌─┴─┐┌─┴─┐┌─┴─┐┌─┴─┐└─┬─┘└─┬─┘ # q0_1: ┤ H ├┤ X ├┤ X ├┤ X ├┤ X ├──■────■── # └───┘└───┘└───┘└───┘└───┘ qr = QuantumRegister(2) circuit = QuantumCircuit(qr) circuit.h(qr[0]) circuit.h(qr[1]) circuit.cx(qr[0], qr[1]) circuit.cx(qr[0], qr[1]) circuit.cx(qr[0], qr[1]) circuit.cx(qr[0], qr[1]) circuit.cx(qr[1], qr[0]) circuit.cx(qr[1], qr[0]) dag = circuit_to_dag(circuit) pass_ = Depth() _ = pass_.run(dag) self.assertEqual(pass_.property_set["depth"], 7)