I’m Aurelio, a computer engeneering student and I would propose a new quantum gate that maybe could be interesting to implement and use. I don’t know if such idea is already known but I have not found nothing similar in the internet and I would talk about it. I started trying to obtain a quantum version of classical AND gate. Soon I understood that is impossible to obtain a quantum AND with only 2 bit because of the irreversibility of this kind of functions. Then I introduced another bit and come to this result:

I would name this gate M gate and it respondes to this logic table:

Z A B Z' A' B'
0 0 0 0 0 0
0 0 1 1 0 1
0 1 0 1 0 0
0 1 1 0 1 1
1 0 0 0 0 1
1 0 1 1 1 0
1 1 0 1 1 1
1 1 1 0 1 0

Z,A and B are the inputs qbits while Z',A',B' are the output qbits:

  • when Z qubit in input is in state |0> , the output will be : {Z' = A xor B, A' = A and B, B' = B}

-when Z qubit is equal in |1>, the output of the gate will be : {Z' = A xor B, A' = A or B, B' = not B}

enter image description here

As you can see Z qbit act as a control bit and with only this gate we can express all principal logic operations in one time.(XOR,AND,OR,NOT) Implementing this gate we could resume the behaviour of all this operations.

The corrisponding matrix of the M gate will be: |X |X |X |X |X |X |X |X | |:--|:--|:--|:--|:--|:--|:--|:--| |1|0|0|0|0|0|0|0| |0|0|0|0|0|1|0|0| |0|0|0|0|1|0|0|0| |0|0|0|1|0|0|0|0| |0|1|0|0|0|0|0|0| |0|0|0|0|0|0|1|0| |0|0|0|0|0|0|0|1| |0|0|1|0|0|0|0|0|

Is simple to verify that the matrix is unitary and so it rappresents a valid reversible function.

Can this gate be usefull in order to add a layer of abstraction to quantum computing? Was it already known or I found something new? Can it be used to solve some known problem ? What appens if Z is in a super position?


1 Answer 1


What you've described is essentially the MAJ gate, used for carry propagation in the cuccaro adder.

This is a circuit implementing the operation you described:

enter image description here

And this is the MAJ gate defined in that paper:

enter image description here

The MAJ gate is great for addition, but not really the most convenient building block. The Toffoli is far easier to work with in general.

  • $\begingroup$ Sorry, probabily is my family, but i don’t see similarities. Maj(a,b,c) = ab xor cb xor ca , it calulates a different result. $\endgroup$ Commented Aug 15, 2023 at 21:59
  • $\begingroup$ @AurelioMarotta The expression [(a and b) if z == 0 else (a or b)] in your output is equal to maj(a,b,z). When z is not set, both a and b must be set for the majority to be 1. When z is set, either a or b being set will make the majority 1. [(a and b) if c == 0 else (a or b)] is the same value as [ab xor cb xor ca]. $\endgroup$ Commented Aug 15, 2023 at 22:17
  • $\begingroup$ oh, ok but in the case { Z=1, A=1, B=1 }: MAJ(A,B,Z)=0 while [(a and b) if z == 0 else (a or b)] =1. moreover, the real advantage of M gate is that it can provide XOR, AND, OR, NOT at the same time $\endgroup$ Commented Aug 16, 2023 at 7:30
  • 1
    $\begingroup$ @AurelioMarotta The MAJ gate also does those things. The outputs are identical, up to relabeling the order. Also note that "B if z=0 else not B" is equivalent to "B xor Z". $\endgroup$ Commented Aug 16, 2023 at 7:36

Your Answer

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

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