Qualtran
Qualtran copied to clipboard
Refactor / replace Reflection bloq
The Reflection (#510) bloq is mostly a convenience bloq for reflection around zero to make nicer diagrams (the open / closed multi-bit circles which often appear). BUT we already have ReflectionUsingPrepare which could implement Reflection using a PrepareOracle which just prepares $|0\rangle_a$ ($P = I_a$ in this case).
The issue is to potentially remove the Reflection bloq and check everything works as expected + make sure the diagrams are still nice, and probably increase docs to make the common Reflect around zero more visible.