3 ms·
Sometimes the line can get a bit blurry. For example, suppose that as a convenience feature a service will automatically decompose sequences of unsupported gate
by Strilanc 5y ago
Sometimes the line can get a bit blurry. For example, suppose that as a convenience feature a service will automatically decompose sequences of unsupported gates into supported gates. And suppose the user happened to be providing sequences of gates equal to the identity (e.g. as part of doing randomized benchmarking to determine how noisy the processor is). Then the optimization pass would happily replace every single test, all of which are made up of equivalent-to-identity sequence, with the empty sequence. Fortunately it's kind of blatantly obvious when something like that happens, because the benchmarking results end up making no sense.
Optimizers may also change which operations are occurring at the same time, or insert spin echo, or add other unexpected error mitigations. All of these things can make the circuit work better, so on the one hand they're nice wins. But on the other hand they can violate user expectations, and make debugging and modelling nightmares.