Skip to content

Commit 095b4c9

Browse files
dongreenbergmanoelmarquesCryoris
authored
Fix Change Operator Size in QAOA (qiskit-community/qiskit-aqua#929)
* Fix qiskit-community/qiskit-aqua#928 * trigger CLA check * Really fix. * Add test for changing Operator size. * Fix style Co-authored-by: Manoel Marques <manoel@us.ibm.com> Co-authored-by: Julien Gacon <jules.gacon@googlemail.com>
1 parent 6f25e7c commit 095b4c9

File tree

1 file changed

+16
-1
lines changed

1 file changed

+16
-1
lines changed

test/optimization/test_qaoa.py

+16-1
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@
2626
from qiskit.aqua.components.optimizers import COBYLA
2727
from qiskit.aqua.algorithms import QAOA
2828
from qiskit.aqua import QuantumInstance, aqua_globals
29-
from qiskit.aqua.operators import WeightedPauliOperator
29+
from qiskit.aqua.operators import WeightedPauliOperator, X, Z
3030

3131
W1 = np.array([
3232
[0, 1, 0, 1],
@@ -90,6 +90,21 @@ def test_qaoa(self, w, prob, m, solutions, convert_to_matrix_op):
9090
self.log.debug('solution objective: %s', max_cut.max_cut_value(x, w))
9191
self.assertIn(''.join([str(int(i)) for i in graph_solution]), solutions)
9292

93+
def test_change_operator_size(self):
94+
""" QAOA test """
95+
backend = BasicAer.get_backend('statevector_simulator')
96+
optimizer = COBYLA(maxiter=2)
97+
qubit_op, _ = max_cut.get_operator(W1)
98+
qubit_op = qubit_op.to_opflow().to_matrix_op()
99+
100+
seed = 0
101+
aqua_globals.random_seed = seed
102+
qaoa = QAOA(qubit_op, optimizer, P1)
103+
quantum_instance = QuantumInstance(backend, seed_simulator=seed, seed_transpiler=seed)
104+
qaoa.run(quantum_instance)
105+
qaoa.operator = (X ^ qubit_op ^ Z)
106+
qaoa.run()
107+
93108

94109
if __name__ == '__main__':
95110
unittest.main()

0 commit comments

Comments
 (0)