1
$\begingroup$

I'm reading quantum computation in Arora and Barak, on page 215 they provide the Lemma 10.10 proving that quantum circuits can simulate boolean circuits.

Lemma 10.10 (Boolean circuits as a subcase of quantum circuits) If $f :\{0,1\}^n\rightarrow\{0, 1\}^m$ is computable by a Boolean circuit of size $S$ then there is a sequence of 2ドルS+m+n$ quantum operations computing the mapping $|x0^{2m+S}\rangle\rightarrow |x\rangle,円|f(x)0^{S+m}\rangle$.

Proof: Replace each Boolean gate (AND, OR, NOT) by its quantum analog as already outlined. The resulting computation maps $|x\rangle,円|0^{2m}\rangle,円|0^S\rangle\rightarrow |x\rangle,円|f(x)0^m\rangle,円 |z\rangle$, where $z$ is the string of values taken by the internal wires in the Boolean circuit (these correspond to scratchpad memory used by the quantum operations at the gates) and the string 0ドル^m$ consists of qubits unused so far. Now copy $f(x)$ onto the string 0ドル^m$ using $m$ operations of the form $|bc\rangle\rightarrow |b(b\oplus c)\rangle$. Then run the operations corresponding to the Boolean operations in reverse (applying the inverse of each operation). This erases the original copy of $f(x)$ as well as $|z\rangle$ and leaves behind clean bits in state $|0\rangle$, together with one copy of $f(x)$.

How do we write $f(x)$ immediately after $x$ after applying the gates to get $|x\rangle,円|f(x)0^m\rangle,円 |z\rangle$? As far as I know, the "reversible Boolean gates", for example, the "reversible AND" gate is to map $|b_1b_2b_3\rangle\rightarrow|b_1b_2\rangle,円|b_3\oplus(b_1\land b_2)\rangle$, so the result, say, $f(x)$ should be placed after $z$.

Furthermore, why must we copy $f(x)$ onto the unused 0ドル^m$ before reversing the previous operations to erase the original copy of $f(x)$ and $|z\rangle$? In particular, at the state $|x\rangle,円|f(x)0^m\rangle,円|z\rangle$, why don't we just reverse the operations compute $z$ to get $|x\rangle,円|f(x)0^{S+m}\rangle$, but copying $f(x)$ onto 0ドル^m$ to gain $|x\rangle,円|f(x)f(x)\rangle,円|z\rangle$ before reversing? I do not understand the term "reversible" in quantum computation at all.

asked Mar 27 at 12:55
$\endgroup$
3
  • $\begingroup$ To give some intuition on why reversibility is important for quantum computation: If we have a qubit $|x\rangle\ = \alpha |0\rangle + \beta |1\rangle,ドル then we always have $|\alpha|^2 + |\beta|^2 = 1,ドル since probabilities always need to add up to 1ドル$. Mathematically any operation that preserves this property is called unitary, and one can prove that all unitary operations are reversible. $\endgroup$ Commented Apr 4 at 17:10
  • $\begingroup$ @Tobi But why we should copy the result before reversing? $\endgroup$ Commented Apr 6 at 13:41
  • $\begingroup$ I think the aim is to save the value f(x) on those m unused qbits, so that we don't loose it when reversing. But I'm not really able to answer the full question of your post $\endgroup$ Commented Apr 7 at 13:08

0

Know someone who can answer? Share a link to this question via email, Twitter, or Facebook.

Your Answer

Draft saved
Draft discarded

Sign up or log in

Sign up using Google
Sign up using Email and Password

Post as a guest

Required, but never shown

Post as a guest

Required, but never shown

By clicking "Post Your Answer", you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.