Example #1
0
    def test_iterations(self):
        """Test the iterations argument"""
        grover = Grover(oracle=self._oracle, good_state=['111'], iterations=2)
        ret = grover.run(self._sv)
        self.assertTrue(Operator(ret.circuit).equiv(Operator(self._expected)))

        grover = Grover(oracle=self._oracle, good_state=['111'], iterations=[1, 2, 3])
        ret = grover.run(self._sv)
        self.assertTrue(ret.oracle_evaluation)
        self.assertIn(ret.top_measurement, ['111'])
Example #2
0
 def test_run_circuit_oracle(self):
     """Test execution with a quantum circuit oracle"""
     oracle = QuantumCircuit(2)
     oracle.cz(0, 1)
     list_good_state = ["11"]
     grover = Grover(oracle=oracle, good_state=list_good_state)
     ret = grover.run(self._qasm)
     self.assertIn(ret['top_measurement'], list_good_state)
Example #3
0
 def test_run_grover_operator_oracle(self):
     """Test execution with a grover operator oracle"""
     oracle = QuantumCircuit(2)
     oracle.cz(0, 1)
     grover_op = GroverOperator(oracle)
     grover = Grover(oracle=grover_op.oracle,
                     grover_operator=grover_op, good_state=["11"])
     ret = grover.run(self._qasm)
     self.assertIn(ret.top_measurement, ['11'])
Example #4
0
 def test_run_state_vector_oracle(self):
     """Test execution with a state vector oracle"""
     mark_state = Statevector.from_label('11')
     grover = Grover(oracle=mark_state, good_state=['11'])
     ret = grover.run(self._qasm)
     self.assertIn(ret['top_measurement'], ['11'])