# New mode of Quantum and - or gate

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} 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?

What you've described is essentially the MAJ gate, used for carry propagation in the cuccaro adder. And this is the MAJ gate defined in that paper: 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.

• 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. Aug 15 at 21:59
• @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]. Aug 15 at 22:17
• 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 Aug 16 at 7:30
• @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". Aug 16 at 7:36