Strilanc · GitHub

One of the results in https://arxiv.org/abs/1902.02134 is a very efficient way to uncompute a table lookup (appendix C).

When attempting to implement this construction in Q#, I ran into a catch-22. If I want to be able to simulate big cases, I need to use the Toffoli simulator. But this construction is based on performing measurements in the X basis, and involves phase fixups, so the Toffoli simulator is not able to handle it.

I believe that these kinds of constructions are going to become more and more common, and so it would be beneficial to have a simulator capable of handling them efficiently. I don't know exactly what that would look like, but it seems like an approachable problem that a simulation framework will often need to handle.

Read the original on github.com ↗