Ejemplo n.º 1
0
 def test_construct_circuit(self):
     """Test construct_circuit"""
     oracle = QuantumCircuit(2)
     oracle.cz(0, 1)
     grover = Grover(oracle=oracle, good_state=["11"])
     constructed = grover.construct_circuit(1)
     grover_op = GroverOperator(oracle)
     expected = QuantumCircuit(2)
     expected.compose(grover_op.state_preparation, inplace=True)
     expected.compose(grover_op, inplace=True)
     self.assertTrue(Operator(constructed).equiv(Operator(expected)))
Ejemplo n.º 2
0
    def test_construct_circuit(self):
        """Test construct_circuit"""
        oracle = QuantumCircuit(2)
        oracle.cz(0, 1)
        problem = AmplificationProblem(oracle)
        grover = Grover()
        constructed = grover.construct_circuit(problem, 2, measurement=False)

        grover_op = GroverOperator(oracle)
        expected = QuantumCircuit(2)
        expected.h([0, 1])
        expected.compose(grover_op.power(2), inplace=True)

        self.assertTrue(Operator(constructed).equiv(Operator(expected)))