Undergrad Is there a procedure for designing some quantum circuits?

Click For Summary
The discussion highlights the lack of explicit procedures for designing quantum circuits in Nielsen's book, particularly regarding the implementation of transformations for specific gates like the Fredkin gate and a partial cyclic permutation operation. The user expresses difficulty in determining how to implement these transformations without hints, emphasizing the complexity of quantum circuit design compared to classical Boolean logic. Key differences between quantum and Boolean logic are noted, including the reversibility of quantum gates and the ability to change qubit bases. The conversation also touches on the broader topic of quantum gate synthesis and references additional resources for further exploration. Ultimately, the challenges of quantum circuit design remain a significant topic of inquiry.
Haorong Wu
Messages
419
Reaction score
90
TL;DR
Given a transformation matrix, is there a procedure for designing a circuit for the matrix?
In Nielsen's book, the chapter of quantum circuits does not describe explicitly any procedures to design a circuit.

For example, given the matrix of Fredkin gate, ##\begin{bmatrix} 1 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 & 0 & 0 & 0 & 0 \\ 0 & 0 & 1 & 0 & 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & 1 & 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 & 1 & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 & 0 & 0 & 1 & 0 \\ 0 & 0 & 0 & 0 & 0 & 1 & 0 & 0 \\ 0 & 0 & 0 & 0 & 0 & 0 & 0 & 1 \end{bmatrix}##, I think, the first step is to identify the transformation for every qubit. In this case, ##\left | x_1 , x_2 , x_3 \right> \rightarrow \left | x_1, \bar x_1 x_2 \oplus x_1 x_3 , \bar x _1 x_3 \oplus x_1 x_2 \right >##. Then how can I implement this transformation? Of course, according to the hint after the exercise, I know it can be designed by 3 controlled-swap gates.

However, in another exercise, the matrix of a partial cyclic permutation operation is ##\begin{bmatrix} 1 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 & 0 & 0 & 0 & 1 \\ 0 & 1 & 0 & 0 & 0 & 0 & 0 & 0 \\ 0 & 0 & 1 & 0 & 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & 1 & 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 & 1 & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 & 0 & 1 & 0 & 0 \\ 0 & 0 & 0 & 0 & 0 & 0 & 1 & 0 \end{bmatrix}##. Again, I calculated the transformation for every qubit which is ##\left | x_1 , x_2 , x_3 \right> \rightarrow \left | x_1 \oplus x_2 x_3 , x_2 \oplus x_3, \bar x _3 \oplus x_1 x_2 x_3 \oplus \bar x _1 \bar x _2 \bar x _3 \right >##. Then, without a hint, I can't figure out how to implement it, especially on the #### qubit.

So, is my procedure suitable? Or is there a better procedure I can follow? This kind of exercises give me a headache. I've tried them all day. Thanks for reading.
 
Physics news on Phys.org
I couldn't find anything on a "boolean algebra" for quantum computing but did find this presentation:

https://people.maths.bris.ac.uk/~csxam/presentations/talk-bfa.pdf
and this short discussion on Quantum logic:

http://math-it.org/Quantum/survey/logic.html
The basis for quantum computation is not Boolean logic, but quantum logic. To date, there is still no appropriate quantum-logical calculus comparable to the classical calculus based on Boolean algebra. There are at least two essential differences between quantum and Boolean logic. One is that any quantum gate has to be reversible, i.e., input and output must always correspond uniquely to one another. In particular, the number of input and output qubits have to be equal. This is different than in the Boolean case, where most gates have two input bits and only one output bit. In fact, all basic binary operations of Boolean algebra (∧, ∨, ¬, XOR, NAND, NOR, ...) are 2-1 valued, which implies that they are not reversible: in fact, since 1 ∧ 0 = 0 ∧ 1 = 0 ∧ 0 = 0, you cannot deduce from the result “0” which values the input bits have had.3

Another difference between quantum and Boolean logic is that quantum gates can transform a qubit basis, say {|0>, |1>}, to another, for instance {|0> + |1>, |0> - |1>}, just as a vector basis can be changed by reflections or rotations. This property is impossible in Boolean logic, where any operation transforms to one of the two values 0 or 1. In other words, the basis is never changed in Boolean logic.

Years ago when I first learned digital electronics, I learned to convert truth tables to boolean expressions, reduce them using boolean algebra rules and then transformed the reduced expression into a simple circuit. I've not seen something similar in Quantum Computing perhaps because of the nature of the game.

One last reference :

http://oxfordquantum.org/
 
Last edited:
This problem in general is known as quantum gate/circuit synthesis, or quantum compiling. This paper from 2004 that I found has been cited almost three hundred times.

As for your questions, 1) Isn't the Fredkin gate already a controlled SWAP? What are the sets of gates allowed for your compiling? 2) Can you find a circuit for just the cyclic permutation? The quantum Fourier transform turns the permutation into a phase gate on each individual qubit.
 
  • Like
Likes jedishrfu
Time reversal invariant Hamiltonians must satisfy ##[H,\Theta]=0## where ##\Theta## is time reversal operator. However, in some texts (for example see Many-body Quantum Theory in Condensed Matter Physics an introduction, HENRIK BRUUS and KARSTEN FLENSBERG, Corrected version: 14 January 2016, section 7.1.4) the time reversal invariant condition is introduced as ##H=H^*##. How these two conditions are identical?

Similar threads

  • · Replies 1 ·
Replies
1
Views
1K
  • · Replies 3 ·
Replies
3
Views
2K
  • · Replies 6 ·
Replies
6
Views
2K
  • · Replies 16 ·
Replies
16
Views
3K
  • · Replies 1 ·
Replies
1
Views
2K
  • · Replies 1 ·
Replies
1
Views
2K
Replies
7
Views
3K
  • · Replies 27 ·
Replies
27
Views
5K
  • · Replies 7 ·
Replies
7
Views
1K
  • · Replies 8 ·
Replies
8
Views
2K