Physics Stack Exchange is a question and answer site for active researchers, academics and students of physics. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

Is it possible to make any gate reversible merely by retaining the input bits in the output and introducing ancilla bits as necessary? That is, given an irreversible gate with $k$ inputs and $l$ outputs, can we always find a reversible gate with $k + l$ inputs and outputs? Why or why not?

share|cite|improve this question
up vote 2 down vote accepted

Yes, this is always possible. To do this you need to implement, given a function $f:\mathbb{Z}^k\rightarrow\mathbb{Z}^l$, a unitary evolution $U_f$ which will take the register bits to themselves and the ancilla bits to the function: $$U_f|x\rangle|0\rangle=|x\rangle|f(x)\rangle.$$ This is part of a more general problem: is it always possible to execute an arbitrary unitary $U$ in $n$ qubits? This is possible if you know what $f$ is and you can perform a universal set of quantum gates (single-qubit gates and CNOTs being the typical example).

In terms of classical gates, though, if you can evaluate the function $f$, then there is nothing stopping you from writing the result on $l$ previously empty ancilla bits, and keeping the argument, thus making your gate reversible. The "irreversibility" of standard classical gates is simply a matter of information loss; this does not typically mean irreversibility of a thermodynamical process.

share|cite|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.