ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 6. CNOT 게이트
    Quantum Computing 2021. 1. 15. 23:54

    다입자 양자 상태 (Multiparticle quantum state)

    이때까지 배운 양자 상태를 표현하는 방법을 돌아봅시다.

    첫번째로 디랙 표기법을 통해 브라 또는 켓으로 양자 상태를 수식으로 표현할 수 있었습니다.

    다음으로, 블로흐 구를 통해 양자 상태를 시각적으로 표현할 수 있었습니다.

     

    지금까지는 하나의 큐비트의 상태를 표현하는 방법을 다루었다면,

    이제 여러 큐비트의 상태, 즉 다입자 양자 상태를 표현하는 방법을 소개하고자 합니다.

     

    텐서 곱 (tensor product)

    다입자 양자 상태를 기술하기 위해서, 텐서 곱을 사용합니다.

     

    $ \quad |a\rangle \otimes |b\rangle = \begin{pmatrix} a_1 \\ a_2 \end{pmatrix} \otimes \begin{pmatrix} b_1 \\ b_2 \end{pmatrix} = \begin{pmatrix} a_1 b_1 \\ a_1 b_2 \\ a_2 b_1 \\ a_2 b_2 \end{pmatrix} $

     

    ex) 시스템 A가 $ \left|1\right>_A $ 상태에 있고, 시스템 B가 $ \left|0\right>_B $ 상태에 있다면

    전체 상태가 이분가능(bipartible)할 때에 한해서 전체 상태는 다음과 같이 표현됩니다.

     

    $ \quad \left|10\right>_{AB} := \left|1\right>_A \otimes \left|0\right>_B = \begin{pmatrix} 0 \\ 0 \\ 1 \\ 0 \end{pmatrix}$

    이러한 형태의 상태를 비-상관(uncorrealated)되어있다고 합니다.

     

    하지만 $\left|\psi\right>_A\otimes\left|\phi\right>_B $의 형태로 나타낼 수 없는 이분가능한 상태도 존재합니다.

    이러한 상태들을 상관(correalated)되어있다고 하며,

    더욱 강한 상관관계를 가지면 얽혀(entangled)있다고 합니다.

     

    ex) $ \left|\psi^{(00)}\right>_{AB} = \dfrac{1}{\sqrt2}\big( \left|00\right>_{AB} + \left|11\right>_{AB} \big) = \dfrac{1}{\sqrt2} \begin{pmatrix} 1 \\ 0 \\ 0 \\ 1 \end{pmatrix}$

    이 상태는 벨 상태 (Bell sate) 중 하나이며,

    양자 전송, 양자 암호, 벨 부등식 실험 등에 사용됩니다.

     

     

    CNOT 게이트


    $ \quad \text{CNOT} = \begin{pmatrix} 1 & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 \\ 0 & 0 & 0 & 1 \\ 0 & 0 & 1 & 0 \end{pmatrix} = |00\rangle\langle00| + |01\rangle\langle01| + |10\rangle\langle11| + |11\rangle\langle10| $ 

     

    CNOT 게이트는 두 개의 큐비트에 대한 연산을 수행하는 양자 논리 게이트입니다.

    CNOT 게이트에 대해 알아보기 전에, 전통적인 논리 게이트 중 하나인 XOR 게이트를 봅시다.

    XOR 게이트의 회로 기호와 진리표

    XOR 게이트는 위와 같이 두 비트의 입력을 받아 한 비트의 결과를 반환합니다.

    여기서 주목해야할 이 게이트의 특징은 비가역적이라는 것입니다.

    예를 들어, 두 입력 비트 $x$, $y$의 값을 모르는 상황에서 결과가 0이 나왔을 때, 

    우리는 이 결과가 $x=0, y=0$에서 나왔는지, $x=1, y=1$에서 나왔는지 알 수 없습니다.

    즉, XOR 게이트는 출력값으로부터 입력값을 알 수 없습니다.

     

    하지만, 이전 글에서 말씀드렸듯이 양자 역학의 유니터리성에 의해

    모든 양자 게이트는 유니터리, 즉 가역적이어야합니다.

     

    CNOT 게이트(좌)와 가역적 XOR 게이트(우)

    XOR 게이트를 가역적으로 만드는 것은 생각보다 단순합니다.

    기존의 XOR 게이트가 비가역적이었던 원인은 근본적으로 입력과 출력의 갯수 차이입니다.

    입력은 두 비트로 4가지의 경우의 수가 있지만, 출력은 한 비트로 2가지의 경우만을 나타낼 수 있기 때문입니다.

    즉, 입력의 두 비트를 모두 특정하려면 출력이 한 비트 더 필요하다는 것입니다.

    실제로, XOR 게이트의 결과가 0이 나왔을 때 $x$나 $y$ 중 하나만 알면 나머지 하나도 알 수 있습니다.

    따라서 출력으로 $x$의 값을 전달해 주면 가역적인 성질을 가질 수 있게 됩니다.

     

    CNOT 게이트는 이러한 가역적 XOR 게이트의 양자 논리 게이트 버전입니다.

    이름에서 CNOT은 Controlled NOT을 줄인 것인데, 이유는 다음과 같습니다.

    XOR 게이트는 $x=1$일 때 $y$에 대한 NOT 게이트과 같이 동작한다.

    실제로 논리 회로나 컴퓨터 구조 등의 과목에서 다루는 내용인데,

    XOR 게이트는 사용하기에 따라 NOT 게이트로 활용할 수 있습니다.

    위의 그림와 같이, XOR 게이트에서 $x$의 값이 0일 때는 출력으로 $y$가 그대로 나오고,

    $x$의 값이 1일 때는 출력으로 $y$에 대해 NOT 게이트를 적용한 값이 나옵니다.

    CNOT 게이트도 마찬가지.

    CNOT 게이트 또한 가역적 XOR 게이트와 같이 동작하기 때문에 

    큐비트 $x$의 상태에 따라 $y$의 상태의 비트 반전($\sigma_z$)을 취한 결과가 나옵니다.

    즉, CNOT 게이트는 NOT 게이트처럼 동작할지 여부가 $x$의 상태에 의해 제어(Controlled)되는 게이트입니다.

     

    앞에서의 XOR 게이트의 사례와 같이, 모든 함수 $f$는 가역적인 회로로 나타내어질 수 있습니다.

    따라서 양자 회로는 기존의 컴퓨터가 연산할 수 있는 모든 함수를 실행할 수 있음을 알 수 있습니다.

     

     

     

    다음 글에서는 양자 얽힘과 관련된 벨 상태에 대해서 알아봅니다.

    'Quantum Computing' 카테고리의 다른 글

    7. 벨 상태  (1) 2021.01.23
    5. 단일 큐비트 양자 게이트  (0) 2021.01.13
    4. 블로흐 구  (0) 2021.01.13
    3. 직교 기저와 측정  (2) 2021.01.11
    2. 디랙 표기법 (브라-켓 표기법)  (0) 2021.01.11

    댓글

Designed by Tistory.