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'])
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)
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'])
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'])