qubit and qubit_topology don't take current device connectivity into account
See original GitHub issuePre-Request Checklist
- I am running the latest versions of pyQuil and the Forest SDK
- I checked to make sure that this feature has not already been requested
Issue Description
QCSQuantumProcessor.qubits()
and QCSQuantumProcessor.qubit_topology()
return information from the ISA without taking “dead” qubits into account—that is, they return information straight from the raw ISA. QCSQuantumProcessor.to_compiler_isa()
, however, filters the nodes and edges and marks dead anything without gates. If one were to try to, say, construct a Program
that addresses all available qubits and/or edges on a lattice via qubits()
or qubit_topology()
, they might run into strange-looking errors or the compiler might bend over backward to accommodate the original program in light of the current limitations of a device.
Proposed Solution
Perhaps an optional argument to qubits()
& qubit_topology
to remove things that aren’t currently active on a QPU lattice?
Issue Analytics
- State:
- Created 2 years ago
- Comments:6 (6 by maintainers)
Top GitHub Comments
Here’s a workaround/suggestion for what the proposed optional argument might instigate:
This should be solved implicitly by https://github.com/rigetti/pyquil/issues/1496