Esempio n. 1
0
 def test_decompose_toffoli(self):
     """Test decompose CCX.
     """
     qr1 = QuantumRegister(2, 'qr1')
     qr2 = QuantumRegister(1, 'qr2')
     circuit = QuantumCircuit(qr1, qr2)
     circuit.ccx(qr1[0], qr1[1], qr2[0])
     dag = circuit_to_dag(circuit)
     pass_ = Decompose(ToffoliGate(qr1[0], qr1[1], qr2[0]))
     after_dag = pass_.run(dag)
     op_nodes = after_dag.get_op_nodes(data=True)
     self.assertEqual(len(op_nodes), 15)
     for node in op_nodes:
         op = node[1]["op"]
         self.assertIn(op.name, ['h', 't', 'tdg', 'cx'])
Esempio n. 2
0
 def test_controlled_cx(self):
     """Test creation of controlled cx gate"""
     self.assertEqual(CnotGate().control(), ToffoliGate())