title: Uncomputation
text: # Uncomputation
  
  Uncomputation is a technique, used in reversible circuits, for cleaning up temporary effects on ancilla bits so that they can be re-used.
  
  Uncomputation is a fundamental step in quantum computing algorithms. Whether or not intermediate effects have been uncomputed affects how states interfere with each other when measuring results.
  
  The process is primarily motivated by the principle of implicit measurement., which states that discarding a register during computation is physically equivalent to measuring it. Failure to uncompute garbage registers can have unintentional consequences. For example, if we take the state $$ ${\frac {1}{\sqrt {2}}}(|0\rangle |g_{0}\rangle +|1\rangle |g_{1}\rangle )$ where $g_{0}$ and $g_{1}$ are garbage registers. Then, if we do not apply any further operations to those registers, according to the principle of implicit measurement, the entangled state has been measured, resulting in a collapse to either $|0\rangle |g_{0}\rangle$ or $|1\rangle |g_{1}\rangle$ with probability ${\frac {1}{2}}$. What makes this undesirable is that wave-function collapse occurs before the program terminates, and thus may not yield the expected result.
  
  