diff --git a/QGL/Tomography.py b/QGL/Tomography.py index 8d95183d..49816cf4 100644 --- a/QGL/Tomography.py +++ b/QGL/Tomography.py @@ -70,7 +70,14 @@ def process_tomo(seq, qubits, numPulses=4, measChans=None): ''' if measChans is None: measChans = qubits + + if len(qubits)==1: + return [[prepBlock] + seq + [readoutBlock, MEAS(*measChans)] + for prepBlock, readoutBlock in product(create_tomo_blocks(qubits, numPulses), repeat=2)] + + else: - return [[prepBlock] + seq + [readoutBlock, MEAS(*measChans)] - for prepBlock, readoutBlock in product(create_tomo_blocks(qubits, numPulses), repeat=2)] + return [[prepBlock] + seq + [readoutBlock, MEAS(*measChans)] + for prepBlock, readoutBlock in zip([create_tomo_blocks(qubits,numPulses)[int(k)] for k in (np.floor(np.arange(numPulses**4)/numPulses**2))], + [x for tomo_blocks in [create_tomo_blocks(qubits,numPulses) for _ in range(numPulses**2)] for x in tomo_blocks])]