ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 양자 오류 정정 (QEC) 기초 개념
    지식/양자정보학 2025. 4. 4. 00:02

    양자 시스템의 오류를 감지하고 수정하여 신뢰성 있는 양자 연산을 가능하게 하는 기술입니다. 고전적인 컴퓨터에서도 오류 정정 기술이 사용되지만, 양자 정보는 다음과 같은 고유한 특징을 가지고 있어 더욱 복잡한 접근 방식이 필요 합니다. QEC의 핵심 아이디어는 양자 정보를 여러 개의 물리적 큐비트에 인코딩하여 하나의 논리적 큐비트를 만드는 것입니다. 이렇게 인코딩된 정보는 하나의 물리적 큐비트에 오류가 발생하더라도 원래의 양자 정보를 복구할 수 있도록 redundancy를 가지게 됩니다. 그러면 이제 양자 오류 정정에 대한 기초를 잡아봅시다.

     

    1. Classical error correction fundamentals

    • 부호 거리(code distance)를 이용한 방식
    • 5개의 비트가 있고 다수결에 의해 결정되는 방식
    • 부호 거리가 d인 코드는 (d-1)/2 개까지의 오류를 정정할 수 있고, d-1 개까지의 오류를 감지할 수 있음

    2. Minimum Weight Perfect Matching (MWPM)

    • Pairwise-parity를 이용(Pairwise-parity는 두 큐비트의 상태 간의 상관관계(correlation)를 측정하는 것)

    예시1)

    • 원래 부호: 0 0 0 0 0
    • 오류는 단일 비트 플립
    • 증후군은 인접한 비트의 XOR값의 변화로 나타내기
    • 전송받은 비트열: 0 0 1 0 0

    신드롬 계산시, 0 1 1 0 이 되고, 신드롬을 노드로 변환 총 4개의 노드 중 인덱스 1과 2를 그래프의 정점으로 간주하게 된다. 두 신드롬 위치 사이에 엣지 가중치는 해당 오류가 발생할 가능성을 나타내는데, 여기서는 간단하게 인접한 신드롬 위치일수록 하나의 비트 오류로 인해 발생했을 가능성이 높다고 가정한다. 신드롬 인덱스 1, 2는 인접하기 때문에 엣지의 가중치는 작을 것이지만, 어쨌든 나머지 엣지보다는 가능성이 제일 높기 때문에 신드롬 1, 2 사이의 2번째 인덱스 비트가 오류일 가능성이 높다.

     

    예시2)

    • 원래 부호: 0 0 0 0 0
    • 오류는 단일 비트 플립
    • 증후군은 인접한 비트의 XOR값의 변화로 나타내기
    • 전송받은 비트열: 0 0 1 1 0

    신드롬 계산시, 0 1 0 1 이 되고, 신드롬을 노드로 변환 총 4개의 노드 중 인덱스 1과 3을 그래프의 정점으로 간주하게 된다. 두 신드롬 위치 사이에 엣지 가중치는 해당 오류가 발생할 가능성을 나타내는데, 여기서는 간단하게 신드롬 위치 사이의 거리가 가까울수록 하나의 비트 오류로 인해 발생했을 가능성이 높다고 가정한다. 신드롬 인덱스 1과 3 사이의 거리는 2이다. MWPM은 이 두 노드를 매칭시키려고 할 것이다. 이 매칭은 오류가 발생했을 가능성이 가장 높은 위치를 추정하는 데 사용된다. 신드롬이 인덱스 1 (비트 1과 2 사이)과 인덱스 3 (비트 3과 4 사이)에 나타났으므로, 이 두 위치와 관련이 있는 오류를 찾는 것이 목표이다. 예를 들어, 3번째 비트 (인덱스 2) 또는 4번째 비트 (인덱스 3) 에서 오류가 발생했다면 이러한 신드롬 패턴을 유발할 수 있다. MWPM은 이러한 가능성 중에서 가장 낮은 가중치를 갖는 (가장 가능성 높은) 오류 위치를 선택할 것이다. 이 단순한 예시에서는 단일 오류가 발생했다는 가정 하에, 3번째 또는 4번째 비트 중 하나가 오류였을 가능성이 높다고 추정할 수 있다.

     

    경우의 수 메모 (치팅시트)

    0 0 0 0 0 <-> 0 0 0 0

    1 0 0 0 0 <-> 1 0 0 0

    0 1 0 0 0 <-> 1 1 0 0

    0 0 1 0 0 <-> 0 1 1 0

    0 0 0 1 0 <-> 0 0 1 1

    0 0 0 0 1 <-> 0 0 0 1

    --------------------

    1 1 0 0 0 <-> 0 1 0 0

    1 0 1 0 0 <-> 1 1 1 0

    1 0 0 1 0 <-> 1 0 1 1

    1 0 0 0 1 <-> 1 0 0 1

    0 1 1 0 0 <-> 1 0 1 0

    0 1 0 1 0 <-> 1 1 1 1

    0 1 0 0 1 <-> 1 1 0 1

    0 0 1 1 0 <-> 0 1 0 1

    0 0 1 0 1 <-> 0 1 1 1

    0 0 0 1 1 <-> 0 0 1 0

    --------------------

    1 1 1 0 0 <-> 0 0 1 0

    1 1 0 1 0 <-> 0 1 1 1

    1 1 0 0 1 <-> 0 1 0 1

    1 0 1 1 0 <-> 1 1 0 1

    1 0 1 0 1 <-> 1 1 1 1

    1 0 0 1 1 <-> 1 0 1 0

    0 1 1 1 0 <-> 1 0 0 1

    0 1 1 0 1 <-> 1 0 1 1

    0 1 0 1 1 <-> 1 1 1 0

    0 0 1 1 1 <-> 0 1 0 0

    --------------------

    1 1 1 1 0 <-> 0 0 0 1

    1 1 1 0 1 <-> 0 0 1 1

    1 1 0 1 1 <-> 0 1 1 0

    1 0 1 1 1 <-> 1 1 0 0

    0 1 1 1 1 <-> 1 0 0 0

    --------------------

    1 1 1 1 1 <-> 0 0 0 0

     

    앞에서는 간단한 기본 개념을 익히는 정도이며 실제 양자 오차는 더 복잡하다 (eg: leakage).

    3. 누설 (leakage)에 의한 오류

    • 큐비트가 의도된 계산 공간(computational subspace)을 벗어나 원치 않는 상태로 이동하는 현상
    • 계산 공간을 이탈하는 경우, 제어펄스의 부정확성에 의한 경우 등 다양하게 발생
    • 비트플립이나 위상플립 오류와는 다른 종류의 오류

    4. 이완 오류 맵 (relaxation error maps)

    • 이완 오류는 큐비트가 더 높은 에너지 상태에서 더 낮은 에너지 상태로 이완(relaxation)하려는 경향을 나타내는 오류
    • 큐비트가 불안정한 상태(보통 ∣1⟩)에 있을 때, 더 안정적인 상태(보통 ∣0⟩)로 스스로 돌아가려고 하는 오류입니다. (∣0⟩은 그대로 ∣0⟩으로 유지되고, ∣1⟩은 ∣0⟩으로 바뀌는 것)

     

    $$ |0\rangle = \begin{pmatrix} 1 \\ 0 \end{pmatrix}, |1\rangle = \begin{pmatrix} 0 \\ 1 \end{pmatrix} $$

    $$ M|0\rangle = \begin{pmatrix} a & b \\ c & d \end{pmatrix} \begin{pmatrix} 1 \\ 0 \end{pmatrix} = \begin{pmatrix} a \times 1 + b \times 0 \\ c \times 1 + d \times 0 \end{pmatrix} = \begin{pmatrix} a \\ c \end{pmatrix} = \begin{pmatrix} 1 \\ 0 \end{pmatrix} $$

    $$ M|1\rangle = \begin{pmatrix} a & b \\ c & d \end{pmatrix} \begin{pmatrix} 0 \\ 1 \end{pmatrix} = \begin{pmatrix} a \times 0 + b \times 1 \\ c \times 0 + d \times 1 \end{pmatrix} = \begin{pmatrix} b \\ d \end{pmatrix} = \begin{pmatrix} 1 \\ 0 \end{pmatrix} $$

     

    a = 1, b = 1, c = 0, d = 0

     

     

     

     

Designed by Tistory.