qiskit-community / qiskit-ignis

Ignis (deprecated) provides tools for quantum hardware verification, noise characterization, and error correction.
Apache License 2.0
167 stars 162 forks source link

Multi-subspace process tomography #442

Open PetarJurcevic opened 4 years ago

PetarJurcevic commented 4 years ago

process_tomography_circuits(circuit, measured_qubits) will return a list of QuantumCircuit objects containing the original circuit with state preparation circuits prepended, and measurement circuits appended.

currently the list measured_qubits can be smaller than the quantum register in circuit, i.e. one can do partial process tomography on a subsystem, or if measured_qubits = quantum register, it will be a p-tomo of the entire system.

what is not possible to have multiple partial process tomograpies. Let's say quantum register qr = [0,1,2,3,4]. If I want to do process tomography only on q[0] and q[4], the only way I can do the is to generate two individual p-tomography circuits, one that measures q[0] and one that measured q[4]. It would be good if one could generate p-tomo circuits that run multiple subsystem p-tomos at the same time

ShellyGarion commented 4 years ago

Running multiple subsystems in parallel is also impelmented in Randomized Benchmarking (RB), using the rb_pattern parameter. Should we consider a unified general framework?

Note however that in RB there is extra complexity due to the parameters length_multiplier and align_cliffs, see: https://qiskit.org/documentation/stubs/qiskit.ignis.verification.randomized_benchmarking_seq.html#qiskit.ignis.verification.randomized_benchmarking_seq

PetarJurcevic commented 4 years ago

@ShellyGarion Something along those lines would be great