양자컴퓨팅에서 큐비트를 많이 갖는 것만으로는 충분하지 않습니다. 서로 다른 큐비트의 상태를 연결하고 상관관계를 만들어야 얽힘과 조건부 연산이 가능해지고, 이를 이용해 복잡한 양자회로를 구성할 수 있게 되는데요. 이번 글에서는 얽힘에 대해 알아봅시다.

양자컴퓨팅에서 큐비트 간 상호작용을 알아야 하는 이유
양자컴퓨터에는 여러 개의 큐비트가 필요합니다. 하지만 큐비트의 개수를 늘리는 것만으로 강력한 양자계산이 가능한 것은 아닙니다.
각 큐비트를 서로 독립적으로 조작하는 것만으로는 개별 큐비트의 중첩과 위상은 바꿀 수 있지만, 서로 다른 큐비트 사이에 새로운 양자적 상관관계를 만들 수는 없습니다.
여러 큐비트를 하나의 계산 시스템으로 활용하려면 한 큐비트의 상태에 따라 다른 큐비트의 변화가 달라지는 다중 큐비트 연산이 필요합니다. 대표적인 예가 CNOT입니다.
이런 다중 큐비트 연산을 이용하면 처음에는 서로 독립적이던 큐비트를 얽힌 상태로 만들 수 있습니다. 큐비트 간 상호작용이 중요한 이유도 바로 여기에 있습니다.
| 구분 | 주요 역할 |
|---|---|
| 단일 큐비트 연산 | 개별 큐비트의 진폭과 위상 조절 |
| 다중 큐비트 연산 | 큐비트 사이의 상태관계 조절 |
| 얽힘 | 개별 큐비트 상태로 분리하기 어려운 공동 양자상태 형성 |
| 간섭 | 여러 계산경로의 확률진폭을 보강하거나 상쇄 |
| 측정 | 최종 공동 상태에서 고전적인 결과 획득 |
먼저 서로 독립적인 두 큐비트를 생각해보자
두 큐비트 A와 B가 있다고 생각해 보겠습니다.
첫 번째 큐비트는 다음 상태이고,
|ψA⟩ = α|0⟩ + β|1⟩
두 번째 큐비트는 다음 상태라고 하겠습니다.
|ψB⟩ = γ|0⟩ + δ|1⟩
두 큐비트가 서로 독립적인 상태라면 전체 상태는 텐서곱으로 표현할 수 있습니다.
|ψAB⟩ = |ψA⟩ ⊗ |ψB⟩
이를 전개하면 다음과 같습니다.
|ψAB⟩ = αγ|00⟩ + αδ|01⟩ + βγ|10⟩ + βδ|11⟩
이런 상태는 두 큐비트 각각의 상태를 따로 알고 있으면 전체 상태도 구성할 수 있기 때문에 곱상태라고 부릅니다.
단일 큐비트 게이트만 적용하면 무엇을 할 수 있을까
두 큐비트가 |00⟩에서 시작한다고 생각해 보겠습니다.
|00⟩
첫 번째 큐비트에 Hadamard 게이트를 적용하면 다음과 같습니다.
|00⟩ ↓ H ⊗ I 1/√2( |00⟩ + |10⟩ )
이를 다시 쓰면 다음과 같습니다.
1/√2( |00⟩ + |10⟩ ) = |+⟩ ⊗ |0⟩
첫 번째 큐비트에는 중첩이 생겼지만 두 번째 큐비트와는 여전히 독립적입니다.
두 큐비트 각각에 X·H·Z·회전 게이트를 아무리 많이 적용하더라도 처음에 곱상태였다면 단일 큐비트 연산만으로 두 큐비트 사이에 얽힘을 새롭게 만들 수는 없습니다.
왜 단일 큐비트 연산만으로 얽힘을 만들 수 없을까
첫 번째 큐비트에 U를, 두 번째 큐비트에 V를 적용한다고 생각해 보겠습니다.
전체 연산은 다음처럼 표현할 수 있습니다.
U ⊗ V
처음 상태가 두 큐비트의 곱상태라면
|ψA⟩ ⊗ |ψB⟩
연산 이후에도 다음과 같은 형태를 유지합니다.
(U ⊗ V) ( |ψA⟩ ⊗ |ψB⟩ ) = U|ψA⟩ ⊗ V|ψB⟩
즉 각각의 큐비트 상태는 바뀌지만 두 큐비트를 하나의 공동 상태로 묶는 새로운 구조는 만들어지지 않습니다.
이것이 다중 큐비트 계산에서 별도의 상호작용 연산이 필요한 가장 기본적인 이유입니다.
CNOT은 큐비트 간 상호작용을 보여주는 대표적인 게이트다
가장 대표적인 2큐비트 게이트가 CNOT입니다.
CNOT에서는 하나의 큐비트를 제어 큐비트, 다른 하나를 목표 큐비트로 정합니다.
계산 기저에서는 다음과 같이 동작합니다.
|00⟩ → |00⟩ |01⟩ → |01⟩ |10⟩ → |11⟩ |11⟩ → |10⟩
제어 큐비트가 0이면 목표 큐비트를 그대로 두고, 제어 큐비트가 1이면 목표 큐비트의 값을 반전합니다.
고전적인 조건문과 비슷해 보이지만 제어 큐비트가 중첩 상태일 때는 훨씬 흥미로운 일이 일어납니다.
H와 CNOT을 함께 사용하면 얽힘을 만들 수 있다
두 큐비트를 |00⟩에서 시작하겠습니다.
|00⟩
첫 번째 큐비트에 Hadamard를 적용합니다.
|00⟩ ↓ H on qubit 1 1/√2( |00⟩ + |10⟩ )
이 상태까지는 다음처럼 분리할 수 있습니다.
|+⟩ ⊗ |0⟩
이제 첫 번째 큐비트를 제어로 하는 CNOT을 적용합니다.
1/√2( |00⟩ + |10⟩ ) ↓ CNOT 1/√2( |00⟩ + |11⟩ )
최종 상태는 대표적인 Bell 상태입니다.
|Φ+⟩ = 1/√2( |00⟩ + |11⟩ )
이 상태는 두 개의 독립적인 단일 큐비트 상태의 텐서곱으로 분리할 수 없습니다.
즉 H가 첫 번째 큐비트에 중첩을 만들었다면 CNOT은 그 중첩을 두 큐비트 사이의 공동 상태로 확장해 얽힘을 만들어냅니다.
얽힘은 단순히 두 큐비트가 같은 값을 갖는다는 뜻이 아니다
Bell 상태를 측정하면 00과 11이 각각 50% 확률로 나타나기 때문에 두 큐비트가 단순히 같은 값을 갖도록 설정된 상태라고 생각하기 쉽습니다.
하지만 고전적으로 00과 11을 각각 50% 확률로 선택한 혼합 상태와 Bell 상태는 서로 다릅니다.
Bell 상태에는 두 계산 기저 성분 사이의 양자적인 위상 coherence가 존재하며 측정기저를 바꾸면 고전적 혼합과 다른 상관관계가 나타날 수 있습니다.
| 구분 | Bell 상태 | 고전적 50:50 혼합 |
|---|---|---|
| Z기저 결과 | 00 또는 11 | 00 또는 11 |
| 상태 표현 | 하나의 순수한 공동 상태 | 고전적 확률 혼합 |
| 양자 coherence | 존재 | 동일한 방식으로 존재하지 않음 |
| 측정기저 변경 | 양자적 상관관계 확인 가능 | 다른 통계구조 |
상호작용이 필요한 첫 번째 이유는 얽힘을 만들기 위해서다
단일 큐비트에서는 중첩과 위상을 조절할 수 있지만 얽힘은 두 개 이상의 양자시스템에서만 정의되는 특성입니다.
따라서 여러 큐비트를 실제 하나의 양자시스템처럼 활용하려면 적어도 일부 연산에서 큐비트 사이의 상호작용이 필요합니다.
독립적인 큐비트 |ψA⟩ ⊗ |ψB⟩ ↓ Entangling Gate ↓ 공동 양자상태 |ψAB⟩ ↓ 일반적으로 |ψAB⟩ ≠ |ψA⟩ ⊗ |ψB⟩
양자 텔레포테이션이나 초밀도 부호화처럼 얽힘을 직접 자원으로 사용하는 프로토콜뿐 아니라 다양한 다중 큐비트 회로에서도 이런 구조가 중요합니다.
두 번째 이유는 조건부 양자연산을 만들기 위해서다
복잡한 계산에서는 한 큐비트의 상태에 따라 다른 큐비트에 적용되는 변환을 달리해야 하는 경우가 많습니다.
CNOT이 대표적인 조건부 양자연산입니다.
Control = 0 → Target unchanged Control = 1 → Target flipped
여기에 중요한 양자적 특징이 하나 더 있습니다. 제어 큐비트가 0 또는 1 가운데 하나로 확정되어 있지 않고 중첩 상태에 있을 수도 있다는 점입니다.
이때 조건부 연산은 여러 계산경로에 동시에 선형적으로 작용하면서 큐비트 사이의 상관관계를 만들어낼 수 있습니다.
세 번째 이유는 복잡한 다중 큐비트 연산을 구성하기 위해서다
실제 양자 알고리즘에서는 여러 큐비트가 함께 참여하는 연산이 필요합니다.
예를 들어 Toffoli 게이트는 두 개의 제어 큐비트와 하나의 목표 큐비트를 사용하는 3큐비트 연산입니다.
Control 1 ─●─
│
Control 2 ─●─
│
Target ─X─
다만 실제 하드웨어에서 모든 종류의 다중 큐비트 게이트를 하나의 물리적 동작으로 직접 구현해야 하는 것은 아닙니다.
복잡한 다중 큐비트 연산은 일반적으로 단일 큐비트 게이트와 기본적인 얽힘 게이트의 조합으로 분해해 구현할 수 있습니다.
왜 1큐비트 게이트와 얽힘 게이트의 조합이 중요할까
단일 큐비트 게이트는 각 큐비트의 상태 방향과 위상을 세밀하게 조절하는 역할을 합니다.
반면 CNOT과 같은 얽힘 게이트는 서로 다른 큐비트의 상태를 연결합니다.
Single-Qubit Gates X H Z Rx Ry Rz ↓ 개별 상태 조절 Entangling Gates CNOT CZ iSWAP 계열 등 ↓ 큐비트 간 상관관계 조절
이 두 종류의 연산을 적절히 조합하면 훨씬 복잡한 다중 큐비트 유니터리 연산을 회로 형태로 구성할 수 있습니다.
네 번째 이유는 확률진폭의 간섭을 여러 큐비트로 확장하기 위해서다
양자 알고리즘은 중첩 상태를 만드는 것만으로 끝나지 않습니다.
여러 계산경로에 존재하는 복소수 확률진폭의 위상을 조절하고 이후 다시 합쳐 원하는 경로는 보강하고 필요하지 않은 경로는 상쇄해야 합니다.
State Preparation ↓ Superposition ↓ Multi-Qubit Operations ↓ Phase Correlations ↓ Interference ↓ Useful Output Probability ↑
다중 큐비트 게이트를 사용하면 한 큐비트만의 위상이 아니라 여러 큐비트가 나타내는 계산 기저 상태들 사이의 진폭 관계를 조절할 수 있습니다.
조건부 위상 게이트를 보면 더 쉽게 이해할 수 있다
CZ는 대표적인 2큐비트 위상 게이트입니다.
|00⟩ → |00⟩ |01⟩ → |01⟩ |10⟩ → |10⟩ |11⟩ → −|11⟩
계산 기저에서 바로 측정하면 − 부호가 보이지 않을 수도 있습니다.
하지만 |11⟩ 성분에만 추가된 상대위상은 이후 다른 게이트와 간섭하면서 측정확률을 변화시킬 수 있습니다.
즉 큐비트 간 상호작용은 한 큐비트의 값을 다른 큐비트에 단순 복사하는 역할만 하는 것이 아니라 여러 큐비트가 공유하는 확률진폭의 위상관계까지 조절할 수 있습니다.
다섯 번째 이유는 양자 오류정정에서도 여러 큐비트를 연결해야 하기 때문이다
실제 양자컴퓨터에서는 큐비트가 노이즈에 영향을 받기 때문에 장기적으로 신뢰할 수 있는 계산을 위해 양자 오류정정이 중요합니다.
양자 오류정정에서는 하나의 논리적 큐비트 정보를 여러 물리적 큐비트에 분산해 표현하고, 보조 큐비트를 이용해 오류에 관한 정보를 확인하는 구조를 사용할 수 있습니다.
Data Qubits │ │ multi-qubit operations ↓ Ancilla Qubit │ ↓ Syndrome Measurement
이 과정에서도 데이터 큐비트와 보조 큐비트 사이의 다중 큐비트 연산이 필요합니다.
따라서 큐비트 간 상호작용은 특정 알고리즘에서만 사용하는 특별한 기능이 아니라 확장 가능한 양자컴퓨팅 전반에서 중요한 요소입니다.
상호작용한다고 해서 큐비트가 실제로 충돌해야 하는 것은 아니다
‘큐비트 간 상호작용’이라는 표현 때문에 두 입자가 실제로 부딪혀야 한다고 생각할 수 있지만 반드시 그런 의미는 아닙니다.
양자 하드웨어에서는 큐비트 구현 방식에 따라 서로 다른 물리적 메커니즘을 이용해 2큐비트 게이트를 구현할 수 있습니다.
중요한 것은 회로 수준에서 두 큐비트의 공동 상태에 분리 불가능한 연산이 작용해 큐비트 사이의 상관관계를 변화시킬 수 있다는 점입니다.
논리적인 상호작용과 물리적인 연결은 구분해서 보자
양자회로에서 CNOT을 그린다고 해서 모든 하드웨어에서 임의의 두 큐비트 사이에 CNOT을 바로 실행할 수 있는 것은 아닙니다.
실제 장치에서는 어떤 큐비트끼리 직접 2큐비트 게이트를 수행할 수 있는지를 나타내는 연결 구조가 존재할 수 있습니다.
회로에서 서로 멀리 떨어진 논리 큐비트가 상호작용해야 한다면 컴파일 과정에서 큐비트 배치를 조정하거나 SWAP과 같은 추가 연산을 사용할 수 있습니다.
Logical Circuit
Q1 ─────●────
│
Q5 ─────X────
↓
Hardware Mapping
physical connectivity 고려
↓
필요 시
routing / SWAP
↓
실행 가능한 회로
따라서 실제 양자컴퓨터에서는 큐비트 수만큼이나 연결성과 2큐비트 게이트의 품질도 중요한 요소가 됩니다.
왜 2큐비트 게이트가 특히 어렵게 느껴질까
한 큐비트만 정밀하게 회전시키는 것과 여러 큐비트 사이의 상호작용을 원하는 형태로 제어하는 것은 물리적으로 서로 다른 난이도를 가질 수 있습니다.
실제 하드웨어에서는 큐비트 간 원하지 않는 상호작용, 제어오차, 주변 환경의 노이즈 등을 함께 고려해야 합니다.
그래서 양자회로를 설계할 때는 필요한 2큐비트 게이트의 수와 회로 깊이를 줄이는 것이 실용적으로 중요할 수 있습니다.
그렇다면 얽힘은 많을수록 무조건 좋은 것일까
그렇지는 않습니다. 얽힘이 양자정보처리에서 중요한 자원이지만 아무 큐비트나 최대한 많이 얽히게 만드는 것이 좋은 알고리즘의 목표는 아닙니다.
문제 해결에 필요한 구조에 맞게 필요한 큐비트 사이에 적절한 상관관계를 만드는 것이 중요합니다.
좋은 회로 많은 얽힘 ≠ 무조건 좋은 계산 중요한 것 필요한 상관관계 + 적절한 위상 + 효율적인 게이트 + 올바른 간섭
불필요하게 많은 다중 큐비트 연산은 실제 하드웨어에서 회로를 더 길고 복잡하게 만들 수 있습니다.
모든 양자 알고리즘에 강한 얽힘이 반드시 필요한 것은 아니다
‘큐비트 간 상호작용이 중요하다’는 말을 ‘양자회로의 모든 순간에 모든 큐비트가 강하게 얽혀 있어야 한다’는 의미로 받아들이면 안 됩니다.
회로의 일부 구간에서는 큐비트들이 곱상태에 있을 수도 있고 특정 큐비트 사이에서만 상관관계가 필요할 수도 있습니다.
중요한 것은 범용적인 다중 큐비트 계산을 구성할 수 있도록 독립적인 단일 큐비트 연산뿐 아니라 큐비트들을 연결할 수 있는 얽힘 연산도 사용할 수 있어야 한다는 점입니다.
큐비트 간 상호작용의 역할을 한 번에 정리하면
| 필요한 이유 | 핵심 역할 | 대표적인 예 |
|---|---|---|
| 얽힘 생성 | 독립적인 큐비트를 하나의 공동 상태로 연결 | H + CNOT |
| 조건부 연산 | 한 큐비트 상태에 따라 다른 큐비트 연산 결정 | CNOT |
| 다중 큐비트 위상 조절 | 특정 공동 상태의 상대위상 변화 | CZ |
| 복잡한 회로 구성 | 다중 큐비트 유니터리 연산 구현 | CNOT + 단일 게이트 |
| 양자 알고리즘 | 여러 큐비트의 진폭과 상관관계 조작 | 다양한 알고리즘 회로 |
| 오류정정 | 데이터·보조 큐비트 사이 오류정보 추출 | Syndrome circuit |
단일 큐비트 연산과 다중 큐비트 연산을 비교해보자
| 구분 | 단일 큐비트 연산 | 다중 큐비트 연산 |
|---|---|---|
| 작용 대상 | 하나의 큐비트 | 2개 이상의 큐비트 |
| 대표 게이트 | X, H, Z, Rx, Ry, Rz | CNOT, CZ, SWAP 등 |
| 진폭·위상 조절 | 가능 | 가능 |
| 독립 상태에서 얽힘 생성 | 불가능 | 일부 게이트에서 가능 |
| 큐비트 간 상관관계 조절 | 불가능 | 가능 |
| 하드웨어 연결성 영향 | 상대적으로 작음 | 직접 연결 여부가 중요할 수 있음 |
입문자가 자주 하는 오해
| 오해 | 실제 의미 |
|---|---|
| 큐비트가 많기만 하면 강력한 계산이 가능하다 | 큐비트 사이의 필요한 상관관계를 조작할 수 있어야 한다 |
| 단일 큐비트 게이트를 많이 쓰면 얽힘도 만들 수 있다 | 곱상태에서 시작했다면 로컬 단일 큐비트 연산만으로 얽힘을 만들 수 없다 |
| 다중 큐비트 상태는 모두 얽혀 있다 | 분리 가능한 곱상태도 많다 |
| CNOT은 고전적인 조건문과 완전히 같다 | 제어 큐비트가 중첩일 때 얽힘을 생성할 수 있다 |
| 얽힘은 큐비트끼리 순간적으로 메시지를 주고받는 것이다 | 전체 양자상태에 존재하는 비고전적인 상관구조다 |
| 상호작용하려면 큐비트가 실제로 충돌해야 한다 | 하드웨어마다 다양한 물리적 방식으로 2큐비트 연산을 구현한다 |
| 얽힘은 많을수록 항상 좋다 | 문제에 필요한 구조를 효율적으로 만드는 것이 중요하다 |
큐비트 간 상호작용을 공부하는 추천 순서
| 단계 | 학습 내용 | 확인할 핵심 |
|---|---|---|
| 1단계 | 단일 큐비트 | |ψ⟩=α|0⟩+β|1⟩ |
| 2단계 | 텐서곱 | 두 큐비트 상태공간 결합 |
| 3단계 | 곱상태 | 서로 분리 가능한 상태 |
| 4단계 | CNOT | 조건부 2큐비트 연산 |
| 5단계 | Bell 상태 | 얽힘과 비분리성 |
| 6단계 | CZ | 조건부 상대위상 |
| 7단계 | 간섭 | 상관된 진폭·위상 활용 |
| 8단계 | 게이트 분해 | 복잡한 연산을 기본 게이트로 구현 |
| 9단계 | 하드웨어 연결성 | 논리회로와 실제 장치의 차이 |
| 10단계 | 양자 오류정정 | 다중 큐비트 상호작용의 확장 |
직접 계산해보면 좋은 5가지 예제
- |00⟩에서 첫 번째 큐비트에 H를 적용해 곱상태가 유지되는지 확인하기
- H 이후 CNOT을 적용해 Bell 상태가 만들어지는 과정 계산하기
- |Φ+⟩를 두 개의 단일 큐비트 상태의 텐서곱으로 분해할 수 있는지 시도해보기
- CNOT이 |00⟩·|01⟩·|10⟩·|11⟩에 각각 어떻게 작용하는지 확인하기
- CZ가 |11⟩ 성분의 위상만 바꾼 뒤 Hadamard와 결합할 때 어떤 결과가 나타나는지 살펴보기
큐비트 간 상호작용 이해 점검 체크리스트
- 단일 큐비트 게이트의 역할과 다중 큐비트 게이트의 역할을 구분할 수 있는가
- 두 개의 독립적인 큐비트 상태를 텐서곱으로 표현할 수 있는가
- 로컬 단일 큐비트 연산만으로 처음의 곱상태에서 얽힘을 만들 수 없는 이유를 이해했는가
- CNOT의 제어 큐비트와 목표 큐비트의 역할을 설명할 수 있는가
- H와 CNOT을 이용해 Bell 상태를 만들 수 있는가
- 곱상태와 얽힌 상태의 차이를 설명할 수 있는가
- CZ가 다중 큐비트의 상대위상을 조절할 수 있다는 점을 이해했는가
- 양자회로에서 얽힘 게이트가 필요한 이유를 설명할 수 있는가
- 논리적 CNOT과 실제 하드웨어의 물리적 연결을 구분할 수 있는가
- 얽힘이 많다고 반드시 더 좋은 알고리즘이 되는 것은 아니라는 점을 이해했는가
자주 묻는 질문
큐비트 간 상호작용이 없으면 양자컴퓨터를 사용할 수 없나요?
한 큐비트만 사용하는 간단한 실험과 계산은 가능합니다. 하지만 여러 큐비트의 상관관계를 이용하는 일반적인 다중 큐비트 양자회로를 구성하려면 큐비트 사이에 작용하는 다중 큐비트 연산이 필요합니다.
큐비트가 두 개만 있으면 자동으로 얽히나요?
아닙니다. |+⟩⊗|0⟩처럼 두 큐비트가 존재하면서도 각각의 상태로 분리할 수 있는 곱상태가 있습니다. 얽힘을 만들려면 CNOT 같은 적절한 다중 큐비트 연산이 필요합니다.
CNOT을 사용하면 항상 얽힘이 생기나요?
그렇지 않습니다. 예를 들어 |00⟩에 CNOT만 적용하면 그대로 |00⟩입니다. 입력 상태에 따라 CNOT을 적용해도 얽힘이 생기지 않을 수 있습니다. 얽힘 여부는 게이트 종류뿐 아니라 입력 상태와 전체 회로 구조에 따라 결정됩니다.
CNOT이 아니면 얽힘을 만들 수 없나요?
아닙니다. CNOT은 가장 널리 사용되는 예일 뿐입니다. CZ나 특정 iSWAP 계열 등 여러 2큐비트 연산이 입력 상태와 함께 얽힘을 생성할 수 있습니다.
얽힘이 양자컴퓨터의 속도를 자동으로 높여주나요?
아닙니다. 얽힘은 중요한 양자정보 자원이지만 그것만 존재한다고 자동으로 계산 우위가 생기는 것은 아닙니다. 문제에 맞는 알고리즘과 진폭·위상·간섭 구조가 함께 설계되어야 합니다.
왜 실제 양자컴퓨터에서는 큐비트 연결성이 중요한가요?
하드웨어에서는 모든 물리 큐비트 쌍이 직접 2큐비트 게이트를 수행할 수 있는 것은 아닐 수 있습니다. 필요한 논리적 상호작용을 실제 연결구조에 맞추는 과정에서 추가적인 라우팅이나 SWAP 연산이 필요할 수 있기 때문입니다.
핵심 용어와 마무리 정리
| 용어 | 의미 |
|---|---|
| 곱상태 | 각 큐비트 상태의 텐서곱으로 분리해 표현할 수 있는 상태 |
| 다중 큐비트 게이트 | 둘 이상의 큐비트 공동 상태에 작용하는 연산 |
| Entangling Gate | 적절한 입력 상태에서 큐비트 사이의 얽힘을 만들 수 있는 게이트 |
| CNOT | 제어 큐비트에 따라 목표 큐비트에 X를 적용하는 대표적인 2큐비트 게이트 |
| CZ | 특정 계산 기저 상태에 조건부 상대위상을 적용하는 2큐비트 게이트 |
| 얽힘 | 복합 상태를 각 부분 큐비트 상태의 텐서곱으로 분리할 수 없는 양자적 구조 |
| 상관관계 | 여러 큐비트의 측정결과와 상태정보 사이에 나타나는 관계 |
| Connectivity | 실제 하드웨어에서 직접 다중 큐비트 연산을 수행할 수 있는 큐비트 연결구조 |
| SWAP | 두 큐비트의 상태를 서로 교환하는 연산 |
| Syndrome | 양자 오류정정에서 데이터 자체를 직접 읽지 않고 오류에 관한 정보를 나타내는 값 |
양자컴퓨팅에서 큐비트 간 상호작용이 필요한 가장 기본적인 이유는 독립적인 큐비트들을 하나의 복합 양자시스템으로 연결하기 위해서입니다.
각 큐비트에 X·H·Z 같은 단일 큐비트 게이트를 적용하면 개별 큐비트의 진폭과 상대위상은 자유롭게 조절할 수 있습니다. 하지만 처음부터 서로 분리되어 있던 큐비트에 이런 연산만 적용해서는 새로운 얽힘을 만들 수 없습니다.
CNOT이나 CZ 같은 다중 큐비트 게이트가 필요한 이유가 여기에 있습니다. 이런 연산은 한 큐비트의 상태와 다른 큐비트의 상태를 연결하고, 여러 큐비트가 공유하는 진폭과 위상 관계를 변화시킬 수 있습니다.
H와 CNOT을 이용해 Bell 상태를 만드는 과정은 이를 가장 간단하게 보여주는 예입니다. 한 큐비트의 중첩이 CNOT을 거치면서 두 큐비트의 공동 얽힘 상태로 바뀝니다.
다만 큐비트 간 상호작용의 목적이 무조건 많은 얽힘을 만드는 것은 아닙니다. 실제 양자 알고리즘에서는 문제에 필요한 큐비트 사이에 적절한 상관관계를 만들고 그 위상을 조절한 뒤 간섭을 이용해 원하는 측정결과의 확률을 높이는 것이 중요합니다.
결국 양자컴퓨터의 능력을 이해할 때는 ‘큐비트가 몇 개인가’만 보는 것보다 ‘그 큐비트들을 얼마나 정확하고 효율적으로 연결하고 공동 상태를 조작할 수 있는가’를 함께 살펴봐야 합니다.
참고문헌
다중 큐비트 상태, CNOT과 얽힘, 다중 큐비트 회로 및 실제 하드웨어의 게이트 구조를 더 깊게 공부하려면 아래 공식 교육자료를 참고할 수 있습니다.
- IBM Quantum Learning, Multiple Systems – Introduction
- IBM Quantum Learning, Quantum Information – Multiple Systems
- IBM Quantum Learning, Quantum Circuits
- IBM Quantum Learning, Entanglement in Action
- Microsoft Learn, Multiple-Qubit Operations
- Microsoft Learn, Entanglement and Correlations
- Microsoft Learn, Quantum Circuit Diagram Conventions
- Google Quantum AI, Cirq Gates and Operations
- Google Quantum AI, Google Quantum Devices