quilc
quilc copied to clipboard
Include decay terms in fidelity addresser
The cost function currently used by the fidelity addresser (src/addresser/fidelity-addresser.lisp) weights which qubits and links have good execution properties based on the respective gate fidelities, as opposed to the temporal addresser (src/addresser/temporal-addresser.lisp), which weights link selection purely by which can be used most immediately. This difference often encourages the fidelity addresser to re-use a particular hardware object whose native gates have very high fidelities, at the expense of making a very long program.
In reality, this is not so wise: even qubits with good gate fidelities still suffer passive decay processes, which ultimately also lower the fidelity of quantum information which they carry. A better implementation of the fidelity addresser's cost function would take into account program duration (say: starting from the first time a particular qubit is excited) and introduce penalty terms for long-running programs based on the strength of these passive decay processes.
See #105 for an ancient related issue.