加算器

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)

コメント

タイトルとURLをコピーしました