2727from qiskit .converters import circuit_to_dag
2828from qiskit .quantum_info import Operator , SparsePauliOp , Pauli , Statevector , SparseObservable
2929from qiskit .transpiler .passes import HLSConfig , HighLevelSynthesis
30- from test import QiskitTestCase # pylint: disable=wrong-import-order
30+ from test import QiskitTestCase , combine # pylint: disable=wrong-import-order
3131
3232X = SparsePauliOp ("X" )
3333Y = SparsePauliOp ("Y" )
@@ -316,11 +316,10 @@ def test_dag_conversion(self):
316316
317317 self .assertEqual (ops , expected_ops )
318318
319- @data ( "chain" , "fountain" )
320- def test_cnot_chain_options (self , option ):
319+ @combine ( option = [ "chain" , "fountain" ], use_sparse_observable = [ True , False ] )
320+ def test_cnot_chain_options (self , option , use_sparse_observable ):
321321 """Test selecting different kinds of CNOT chains."""
322-
323- op = Z ^ Z ^ Z
322+ op = SparseObservable ("ZZZ" ) if use_sparse_observable else SparsePauliOp (["ZZZ" ])
324323 synthesis = LieTrotter (reps = 1 , cx_structure = option )
325324 evo = PauliEvolutionGate (op , synthesis = synthesis )
326325
@@ -595,7 +594,7 @@ def test_projector_circuit(self):
595594 -1 +1 +1 -1 -1 +1 // eigenvalue
596595 1 0 0 1 1 0 // ctrl state
597596 -----------------
598- --> P(-1).ctrl_state(00110 ) applied on qubits [0, 1, 2, 3, 4, 5 ]
597+ --> [X P(-1) X] .ctrl_state(11001 ) applied on qubits [5, 4, 3, 2, 1, 0 ]
599598
600599 """
601600 op = SparseObservable ("-+rl10" )
@@ -605,7 +604,9 @@ def test_projector_circuit(self):
605604 reference .sx ([2 , 3 ])
606605 reference .h ([4 , 5 ])
607606
608- reference .append (PhaseGate (- 1.0 ).control (5 , ctrl_state = "00110" ), reference .qubits )
607+ reference .x (0 )
608+ reference .append (PhaseGate (- 1.0 ).control (5 , ctrl_state = "11001" ), reference .qubits [::- 1 ])
609+ reference .x (0 )
609610
610611 reference .sxdg ([2 , 3 ])
611612 reference .h ([4 , 5 ])
0 commit comments