-- Verify the following truth table for addition -- Input Output Comment -- A B C A B C = A + B -- 0 0 00 0 0 0 = 0 + 0 -- 0 1 01 0 1 1 = 0 + 1 -- 1 0 01 1 0 1 = 1 + 0 -- 1 1 10 1 1 2 = 1 + 1 UADD(psi) = rotate(psi, C,0,X,2, -- cnot C,1,X,2, -- cnot C,0,C,1,X,3) -- toffoli ket0000 = (1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0) ket0001 = (0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0) ket0010 = (0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0) ket0011 = (0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0) ket0100 = (0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0) ket0101 = (0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0) ket0110 = (0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0) ket0111 = (0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0) ket1000 = (0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0) ket1001 = (0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0) ket1010 = (0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0) ket1011 = (0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0) ket1100 = (0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0) ket1101 = (0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0) ket1110 = (0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0) ket1111 = (0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1) "Verify addition (1=ok)" -- Input Output -- AB CAB UADD(ket0000) == ket0000 UADD(ket0001) == ket0101 UADD(ket0010) == ket0110 UADD(ket0011) == ket1011
Run