def process_tomo(seq, qubits, numPulses=4, measChans=None):
'''
Apply process tomography state prep. and readout pulses and measurement.
Parameters
-----------
seq : a single entry list sequence to perform tomography on
qubits : which qubits to act on
numPulses : number of prep/readout pulses
measChans : tuple of measurement channels to readout (defaults to individual qubit channels)
'''
if measChans is None:
measChans = qubits
measBlock = reduce(operator.mul, [MEAS(q) for q in measChans])
seqs = []
for k in range(numPulses**len(qubits)):
for readoutBlock in create_tomo_blocks(qubits, numPulses):
prepBlock = create_tomo_blocks(qubits, numPulses)[k]
tomoseq = [prepBlock] + seq + [readoutBlock, measBlock]
seqs.append(tomoseq)
return seqs
评论列表
文章目录