Python-likeにかく
半加算器:入力A, B -> 和S, 桁上がりC
def HA(A, B):
S = XOR(A, B)
C = AND(A, B)
return S, C
全加算器:入力A, B, 桁上がりX -> 和S, 桁上がりC
def FA(A, B, X):
S0, C0 = HA(A, B)
S, C1 = HA(S0, X)
C = OR(C1, B)
return S, C
量子ゲートを使った半加算器(Python)
CXゲートとToffoliゲートを使うとできる
上から順にABSCに対応
from blueqat import Circuit
adder = Circuit().cx[0,2].cx[1,2].ccx[0,1,3]
(Circuit().h[0,1] + adder).m[:].run(shots=1000)
コメント