양자컴퓨팅에서 큐비트를 각각 따로 조작하는 것만으로는 여러 큐비트 사이의 복잡한 관계를 만들 수 없습니다. 즉, 다중 큐비트 게이트가 있어야 조건부 연산과 얽힘을 이용한 본격적인 양자회로를 구성할 수 있는데요. 아래 글을 함께보시죠.

다중 큐비트 게이트는 왜 필요할까
양자컴퓨터의 큐비트 수가 늘어나면 단순히 여러 개의 단일 큐비트를 따로 계산하는 것에서 끝나지 않습니다. 서로 다른 큐비트의 상태를 하나의 공동 양자상태로 다루고, 한 큐비트의 상태와 다른 큐비트의 변화를 연결할 수 있어야 합니다.
이때 사용하는 것이 다중 큐비트 게이트입니다. 가장 대표적인 예가 두 개의 큐비트에 작용하는 CNOT과 CZ입니다.
단일 큐비트 게이트가 하나의 큐비트에 있는 확률진폭과 상대위상을 조절한다면, 다중 큐비트 게이트는 두 개 이상의 큐비트로 이루어진 공동 상태 전체에 작용합니다.
Single-Qubit Gate
Qubit A
↓
U
↓
Qubit A'
Multi-Qubit Gate
Qubit A ─┐
│
U
│
Qubit B ─┘
↓
Joint State of A and B changes
이 차이를 이해하면 왜 여러 큐비트가 있다고 해서 자동으로 강력한 양자컴퓨터가 되는 것은 아닌지 알 수 있습니다. 큐비트 수뿐 아니라 서로 필요한 방식으로 상호작용시킬 수 있어야 하기 때문입니다.
| 구분 | 주요 역할 |
|---|---|
| 단일 큐비트 게이트 | 한 큐비트의 진폭과 위상 조절 |
| 다중 큐비트 게이트 | 여러 큐비트의 공동 상태 변환 |
| 제어 게이트 | 한 큐비트 상태에 따라 다른 큐비트 연산 결정 |
| 얽힘 게이트 | 적절한 입력에서 분리 불가능한 공동 상태 생성 |
| SWAP | 두 큐비트가 가진 상태의 위치 교환 |
두 큐비트는 어떻게 하나의 상태로 표현할까
한 큐비트는 |0⟩과 |1⟩이라는 두 개의 계산 기저 상태를 갖습니다.
두 큐비트를 하나의 시스템으로 보면 가능한 계산 기저 상태는 네 개로 늘어납니다.
|00⟩ |01⟩ |10⟩ |11⟩
따라서 두 큐비트의 일반적인 순수 상태는 다음과 같이 표현할 수 있습니다.
|ψ⟩ = α|00⟩ + β|01⟩ + γ|10⟩ + δ|11⟩
각 계수는 복소수 확률진폭이며 정규화된 상태라면 다음 조건을 만족합니다.
|α|² + |β|² + |γ|² + |δ|² = 1
다중 큐비트 게이트는 바로 이 네 성분으로 이루어진 공동 상태를 변환합니다.
왜 2큐비트 게이트는 4×4 행렬로 표현할까
한 큐비트의 상태공간은 2차원이므로 단일 큐비트 게이트는 2×2 행렬로 표현할 수 있습니다.
두 큐비트는 2×2, 즉 4차원 상태공간을 가지므로 두 큐비트 전체에 작용하는 유니터리 연산은 4×4 행렬로 표현됩니다.
1 Qubit State dimension = 2 Gate = 2 × 2 2 Qubits State dimension = 4 Gate = 4 × 4 n Qubits State dimension = 2ⁿ Gate = 2ⁿ × 2ⁿ
큐비트 수가 증가할수록 공동 상태공간과 이를 표현하는 일반적인 연산의 크기도 빠르게 증가합니다.
각 큐비트에 단일 게이트를 적용하는 것과 무엇이 다를까
두 큐비트 A와 B가 서로 분리된 상태에 있다고 하겠습니다.
|ψAB⟩ = |ψA⟩ ⊗ |ψB⟩
A에 U를 적용하고 B에 V를 적용하면 전체 연산은 다음처럼 표현할 수 있습니다.
U ⊗ V
결과는 다음과 같습니다.
(U ⊗ V) ( |ψA⟩ ⊗ |ψB⟩ ) = U|ψA⟩ ⊗ V|ψB⟩
두 큐비트는 각각 변했지만 여전히 두 개의 독립적인 상태의 텐서곱으로 분리할 수 있습니다.
따라서 처음부터 서로 분리된 큐비트에 단일 큐비트 연산만 적용해서는 새로운 얽힘을 만들 수 없습니다.
CNOT은 다중 큐비트 게이트의 대표적인 예다
다중 큐비트 게이트를 처음 배울 때 가장 많이 등장하는 연산이 CNOT, 즉 Controlled-NOT입니다.
CNOT은 두 개의 큐비트를 사용합니다.
- 첫 번째 큐비트: Control Qubit
- 두 번째 큐비트: Target Qubit
제어 큐비트가 |0⟩이라면 목표 큐비트는 그대로 유지되고, 제어 큐비트가 |1⟩이라면 목표 큐비트에 X 연산을 적용합니다.
|00⟩ → |00⟩ |01⟩ → |01⟩ |10⟩ → |11⟩ |11⟩ → |10⟩
즉 한 큐비트가 다른 큐비트의 연산에 영향을 주는 조건부 양자연산입니다.
CNOT 행렬은 어떻게 생겼을까
계산 기저의 순서를 |00⟩, |01⟩, |10⟩, |11⟩로 두면 CNOT은 다음과 같은 4×4 행렬로 나타낼 수 있습니다.
CNOT = [1 0 0 0] [0 1 0 0] [0 0 0 1] [0 0 1 0]
앞의 두 상태에서는 변화가 없고, 제어 큐비트가 1인 마지막 두 상태에서는 목표 큐비트가 뒤집히는 구조가 행렬에도 그대로 나타납니다.
제어 큐비트가 중첩 상태라면 어떻게 될까
CNOT이 정말 양자적인 연산으로 보이기 시작하는 순간은 제어 큐비트가 중첩 상태에 있을 때입니다.
두 큐비트를 |00⟩에서 시작하고 첫 번째 큐비트에 H 게이트를 적용해보겠습니다.
|00⟩ ↓ H on first qubit ↓ 1/√2( |00⟩ + |10⟩ )
이 상태는 아직 다음처럼 분리할 수 있습니다.
|+⟩ ⊗ |0⟩
이제 CNOT을 적용합니다.
1/√2( |00⟩ + |10⟩ ) ↓ CNOT ↓ 1/√2( |00⟩ + |11⟩ )
최종 상태는 대표적인 Bell 상태입니다.
|Φ+⟩ = 1/√2( |00⟩ + |11⟩ )
이 상태는 두 개의 독립적인 단일 큐비트 상태의 텐서곱으로 분리할 수 없습니다. 두 큐비트가 얽힌 것입니다.
다중 큐비트 게이트가 필요한 첫 번째 이유는 얽힘이다
얽힘은 단일 큐비트에는 존재하지 않는 다중 큐비트 시스템의 특성입니다.
여러 큐비트를 하나의 공동 양자상태로 활용하려면 서로 독립적으로만 조작해서는 부족합니다.
Independent Qubits |ψA⟩ ⊗ |ψB⟩ ↓ Entangling Operation ↓ Joint Entangled State |ψAB⟩ where generally |ψAB⟩ ≠ |ψA⟩ ⊗ |ψB⟩
CNOT은 적절한 입력 상태에서 이런 변화를 만들어낼 수 있는 대표적인 얽힘 게이트입니다.
다중 큐비트 게이트라고 모두 얽힘을 만드는 것은 아니다
여기에서 중요한 구분이 있습니다.
두 개 이상의 큐비트에 작용한다고 해서 모든 다중 큐비트 게이트가 항상 얽힘을 생성하는 것은 아닙니다.
예를 들어 CNOT 역시 입력이 |00⟩이라면 결과는 그대로 |00⟩입니다.
|00⟩ ↓ CNOT ↓ |00⟩
이 경우 얽힘은 만들어지지 않습니다.
SWAP도 두 큐비트에 작용하는 게이트이지만 두 개의 분리된 입력 상태를 단순히 서로 교환할 뿐 새로운 얽힘을 만들지 않습니다.
| 게이트 | 다중 큐비트 게이트 | 적절한 입력에서 얽힘 생성 |
|---|---|---|
| CNOT | 예 | 가능 |
| CZ | 예 | 가능 |
| SWAP | 예 | 분리 상태에서 새 얽힘 생성하지 않음 |
| Toffoli | 예, 3큐비트 | 입력 상태에 따라 가능 |
두 번째 이유는 조건부 양자연산을 만들기 위해서다
복잡한 계산에서는 한 큐비트의 상태에 따라 다른 큐비트에 수행할 연산을 달리해야 하는 경우가 있습니다.
Control Qubit |0⟩ → Target unchanged Control Qubit |1⟩ → Apply operation to Target
CNOT은 조건부 X이고, 같은 원리를 다른 단일 큐비트 유니터리 U에도 확장할 수 있습니다.
Controlled-U Control = 0 → I on target Control = 1 → U on target
이런 제어 연산은 여러 큐비트가 표현하는 조건을 회로에 반영하는 데 매우 중요합니다.
CZ 게이트는 무엇을 할까
다중 큐비트 게이트는 큐비트 값을 뒤집는 것뿐 아니라 공동 상태의 상대위상을 조절할 수도 있습니다.
대표적인 예가 Controlled-Z, 즉 CZ입니다.
|00⟩ → |00⟩ |01⟩ → |01⟩ |10⟩ → |10⟩ |11⟩ → −|11⟩
계산 기저의 값은 그대로이지만 |11⟩ 성분에만 − 부호가 붙습니다.
바로 측정하면 이 차이가 보이지 않을 수 있지만, 이후 다른 게이트와 결합하면 상대위상이 간섭에 영향을 주어 최종 측정확률을 바꿀 수 있습니다.
세 번째 이유는 여러 큐비트의 위상을 함께 조절하기 위해서다
양자 알고리즘의 핵심은 많은 상태를 단순히 중첩하는 것이 아니라 각 계산경로에 대응하는 확률진폭과 위상을 원하는 방향으로 조절하는 것입니다.
Superposition ↓ Multi-Qubit Phase Operations ↓ Relative Phase Changes ↓ Interference ↓ Useful State Probability ↑
CZ처럼 여러 큐비트의 특정 공동 상태에 위상을 적용할 수 있는 연산은 이런 계산을 구성하는 중요한 도구가 됩니다.
SWAP 게이트는 왜 사용할까
SWAP은 두 큐비트가 가지고 있는 양자상태의 위치를 서로 교환하는 2큐비트 게이트입니다.
|00⟩ → |00⟩ |01⟩ → |10⟩ |10⟩ → |01⟩ |11⟩ → |11⟩
예를 들어 첫 번째 큐비트가 |ψA⟩, 두 번째 큐비트가 |ψB⟩라면 SWAP 후에는 다음처럼 위치가 바뀝니다.
Before Qubit A = |ψA⟩ Qubit B = |ψB⟩ After SWAP Qubit A = |ψB⟩ Qubit B = |ψA⟩
실제 양자 하드웨어에서 멀리 떨어진 큐비트 사이에 직접 2큐비트 게이트를 수행할 수 없을 때 양자정보의 위치를 이동시키는 Routing 과정에서 SWAP이 사용될 수 있습니다.
Toffoli는 세 개의 큐비트를 어떻게 사용할까
다중 큐비트 게이트는 두 큐비트에만 한정되지 않습니다.
Toffoli 또는 CCNOT은 세 개의 큐비트를 사용하는 대표적인 게이트입니다.
Control 1 ─●─
│
Control 2 ─●─
│
Target ─X─
두 개의 제어 큐비트가 모두 1일 때만 목표 큐비트를 뒤집습니다.
Control 1 = 1 and Control 2 = 1 ↓ X on Target
다만 실제 하드웨어에서 Toffoli를 반드시 하나의 물리적 3큐비트 동작으로 실행해야 하는 것은 아닙니다. 단일 큐비트 게이트와 기본 2큐비트 게이트의 조합으로 분해해 구현할 수 있습니다.
복잡한 다중 큐비트 게이트를 모두 하드웨어에 만들어야 할까
그럴 필요는 없습니다.
양자컴퓨팅에서는 비교적 작은 기본 게이트 집합을 조합해 훨씬 복잡한 연산을 만들어낼 수 있습니다.
대표적으로 H, T, CNOT을 이용하면 범용 양자게이트 집합을 구성할 수 있습니다.
Single-Qubit Gates H T ... + Entangling Gate CNOT ↓ Complex Multi-Qubit Circuit ↓ Approximate General Unitary
즉 단일 큐비트를 자유롭게 회전시키는 능력과 큐비트 사이를 연결하는 얽힘 게이트를 함께 사용할 수 있으면 매우 다양한 양자회로를 만들 수 있습니다.
왜 단일 큐비트 게이트만으로는 범용 양자컴퓨터가 되기 어려울까
단일 큐비트 게이트만 사용하면 각 큐비트의 상태는 매우 자유롭게 조절할 수 있습니다.
- 진폭 비율 변경
- 상대위상 변경
- 중첩 생성
- 블로흐 구에서 원하는 방향으로 회전
그러나 서로 독립적으로 시작한 큐비트를 하나의 얽힌 상태로 만드는 것은 불가능합니다.
Single-Qubit Control + Single-Qubit Control + Single-Qubit Control ↓ Qubits remain separable if initially separable Single-Qubit Gates + Entangling Multi-Qubit Gate ↓ General Multi-Qubit Quantum Computation
범용적인 다중 큐비트 양자계산에서 얽힘 가능한 다중 큐비트 게이트가 필요한 이유입니다.
다중 큐비트 게이트는 양자 알고리즘에서 어떻게 쓰일까
실제 양자 알고리즘에서는 한 종류의 게이트만 사용하는 것이 아니라 단일 큐비트 게이트와 다중 큐비트 게이트를 반복적으로 조합합니다.
Initialization ↓ Single-Qubit Gates ↓ Superposition ↓ Multi-Qubit Gates ↓ Entanglement / Correlations ↓ Phase Operations ↓ Interference ↓ Measurement
단일 큐비트 게이트가 개별 큐비트의 방향과 위상을 조절한다면 다중 큐비트 게이트는 여러 큐비트에 걸친 계산구조를 형성하는 역할을 합니다.
양자 텔레포테이션에서도 다중 큐비트 게이트가 필요하다
양자 텔레포테이션에서는 미리 얽힌 큐비트 쌍을 만들고, 전송하려는 양자상태와 얽힌 큐비트 사이에 다중 큐비트 연산과 측정을 수행합니다.
Entanglement Preparation H + CNOT ↓ Bell Pair ↓ Teleportation Circuit ↓ CNOT + H + Measurement + Classical Bits ↓ Remote State Recovery
즉 대표적인 양자정보 프로토콜조차 여러 큐비트의 공동 연산 없이는 구성하기 어렵습니다.
양자 오류정정에서도 다중 큐비트 게이트가 중요한 이유
양자 오류정정에서는 하나의 논리적 양자정보를 여러 물리적 큐비트의 공동 상태에 인코딩합니다.
데이터 큐비트의 오류 정보를 알아내기 위해 보조 큐비트와 여러 차례 다중 큐비트 연산을 수행한 뒤 보조 큐비트를 측정합니다.
Data Qubits D0 D1 D2 ↓ Multi-Qubit Interactions ↓ Ancilla Qubit ↓ Measurement ↓ Classical Syndrome ↓ Error Detection
따라서 내결함성 양자컴퓨팅으로 확장할수록 안정적인 다중 큐비트 연산의 중요성은 더욱 커집니다.
다중 큐비트 게이트와 하드웨어 연결성은 어떤 관계가 있을까
논리적인 양자회로에서는 원하는 두 큐비트 사이에 자유롭게 CNOT을 그릴 수 있습니다.
Logical Circuit
q0 ─────●────
│
q4 ─────X────
하지만 실제 양자프로세서에서는 모든 물리적 큐비트가 서로 직접 연결되어 있는 것은 아닐 수 있습니다.
Physical Qubits Q0 ─ Q1 ─ Q2 ─ Q3 ─ Q4
Q0와 Q4가 직접 연결되어 있지 않다면 필요한 상호작용을 구현하기 위해 SWAP 등을 이용한 Routing이 추가될 수 있습니다.
그래서 실제 양자컴퓨터에서는 단순한 큐비트 수뿐 아니라 어느 큐비트끼리 높은 품질의 2큐비트 연산을 수행할 수 있는지도 매우 중요합니다.
왜 2큐비트 게이트의 품질이 특히 중요할까
실제 양자 하드웨어에서는 이상적인 수학적 게이트와 달리 작은 제어오차와 노이즈가 존재할 수 있습니다.
여러 큐비트를 동시에 정밀하게 제어해야 하는 다중 큐비트 연산은 양자회로 성능을 결정하는 중요한 요소가 됩니다.
Ideal Circuit Perfect CNOT Perfect CZ Real Hardware target operation + control imperfections + noise + possible crosstalk
따라서 실제 양자회로에서는 불필요한 2큐비트 게이트와 SWAP을 줄이는 최적화가 중요합니다.
다중 큐비트 게이트는 많을수록 좋을까
그렇지는 않습니다.
얽힘과 다중 큐비트 상호작용은 중요하지만 필요 이상의 게이트를 사용하는 것이 자동으로 계산성능을 높여주는 것은 아닙니다.
More Multi-Qubit Gates ≠ Automatically Better Algorithm Important: Necessary correlations + correct phase structure + low circuit depth + high gate quality
좋은 양자회로는 문제를 해결하는 데 필요한 상호작용만 효율적으로 구성해야 합니다.
다중 큐비트 게이트의 대표적인 종류를 비교해보자
| 게이트 | 큐비트 수 | 핵심 역할 |
|---|---|---|
| CNOT | 2 | 제어 큐비트에 따라 목표 큐비트 X 적용 |
| CZ | 2 | |11⟩ 성분에 조건부 위상 적용 |
| SWAP | 2 | 두 큐비트의 상태 위치 교환 |
| iSWAP | 2 | |01⟩과 |10⟩ 교환 및 위상 변화 |
| Toffoli | 3 | 두 제어 큐비트가 1일 때 목표 X |
| Fredkin | 3 | 제어 조건에 따라 두 목표 상태 SWAP |
단일 큐비트 게이트와 다중 큐비트 게이트를 비교하면
| 구분 | 단일 큐비트 게이트 | 다중 큐비트 게이트 |
|---|---|---|
| 작용 대상 | 1개 큐비트 | 2개 이상 큐비트 |
| 대표 예 | X, H, Z, Rx, Ry, Rz | CNOT, CZ, SWAP, Toffoli |
| 주요 역할 | 개별 상태 제어 | 공동 상태와 상관관계 제어 |
| 분리 상태에서 얽힘 생성 | 불가능 | 일부 게이트에서 가능 |
| 하드웨어 연결성 영향 | 상대적으로 적음 | 직접적인 영향 가능 |
| 범용 계산에서 역할 | 개별 큐비트 자유로운 회전 | 큐비트를 서로 연결 |
다중 큐비트 게이트가 필요한 이유를 한 번에 정리하면
| 필요한 이유 | 핵심 의미 |
|---|---|
| 얽힘 생성 | 독립적인 큐비트를 하나의 비분리 공동 상태로 연결 |
| 조건부 연산 | 한 큐비트 상태에 따라 다른 큐비트 동작 결정 |
| 다중 큐비트 위상 | 특정 공동 계산 기저 상태의 상대위상 조절 |
| 양자 알고리즘 | 여러 큐비트가 공유하는 진폭·위상 구조 생성 |
| 양자정보 프로토콜 | 텔레포테이션 등 공동 상태를 이용한 처리 |
| 오류정정 | 데이터와 보조 큐비트 사이 syndrome 정보 추출 |
| 범용 양자계산 | 단일 게이트와 얽힘 게이트를 조합해 일반적인 연산 구성 |
입문자가 자주 하는 오해
| 오해 | 실제 의미 |
|---|---|
| 큐비트가 많으면 자동으로 함께 계산한다 | 필요한 큐비트 사이에 적절한 다중 큐비트 연산이 필요하다 |
| 다중 큐비트 게이트는 모두 얽힘을 만든다 | 게이트 종류와 입력 상태에 따라 얽힘이 생기지 않을 수도 있다 |
| CNOT은 고전적인 if문과 완전히 같다 | 제어 큐비트가 중첩 상태이면 얽힘과 같은 양자적 결과가 나타날 수 있다 |
| CZ는 값을 바꾸지 않으니 아무 일도 하지 않는다 | 특정 공동 상태의 상대위상을 바꾸어 이후 간섭에 영향을 준다 |
| SWAP은 비용이 없는 단순 위치 변경이다 | 실제 하드웨어에서는 추가적인 물리 게이트로 구현해야 할 수 있다 |
| 얽힘은 많을수록 항상 좋다 | 알고리즘에 필요한 상관관계를 효율적으로 만드는 것이 중요하다 |
| 복잡한 3큐비트 게이트는 반드시 물리적으로 직접 구현해야 한다 | 기본 단일·2큐비트 게이트의 조합으로 분해할 수 있다 |
다중 큐비트 게이트를 공부하는 추천 순서
| 단계 | 학습 내용 | 확인할 핵심 |
|---|---|---|
| 1단계 | 다중 큐비트 상태 | |00⟩·|01⟩·|10⟩·|11⟩ |
| 2단계 | 텐서곱 | 여러 상태공간의 결합 |
| 3단계 | 곱상태 | 서로 분리 가능한 공동 상태 |
| 4단계 | CNOT | 제어와 목표 큐비트 |
| 5단계 | Bell 상태 | H+CNOT으로 얽힘 생성 |
| 6단계 | CZ | 조건부 상대위상 |
| 7단계 | SWAP | 양자정보 위치 이동 |
| 8단계 | Controlled-U | 일반적인 조건부 양자연산 |
| 9단계 | Universal Gate Set | 단일 게이트+얽힘 게이트 |
| 10단계 | Hardware Connectivity | 실제 2큐비트 게이트 실행 제약 |
직접 계산해보면 좋은 6가지 예제
- CNOT이 |00⟩·|01⟩·|10⟩·|11⟩에 각각 어떻게 작용하는지 직접 계산해보기
- |00⟩에서 H와 CNOT을 순서대로 적용해 Bell 상태를 만들어보기
- |00⟩에 CNOT만 적용했을 때 왜 얽힘이 생기지 않는지 확인하기
- CZ를 |++⟩에 적용한 뒤 상태의 각 성분에 어떤 위상이 붙는지 계산하기
- SWAP이 |01⟩과 |10⟩을 어떻게 교환하는지 확인하기
- CNOT과 단일 큐비트 게이트를 이용해 복잡한 회로를 구성하는 방법 생각해보기
다중 큐비트 게이트 이해 점검 체크리스트
- 두 큐비트의 상태공간이 왜 4차원인지 설명할 수 있는가
- 2큐비트 게이트가 4×4 행렬로 표현되는 이유를 이해했는가
- 단일 큐비트 연산만으로 분리 상태에서 얽힘을 만들 수 없는 이유를 알고 있는가
- CNOT의 Control과 Target 역할을 구분할 수 있는가
- H와 CNOT으로 Bell 상태가 만들어지는 과정을 계산할 수 있는가
- 모든 다중 큐비트 게이트가 항상 얽힘을 생성하는 것은 아니라는 점을 알고 있는가
- CZ가 공동 상태의 상대위상을 조절한다는 점을 이해했는가
- SWAP이 실제 하드웨어 Routing과 연결될 수 있음을 알고 있는가
- 범용 양자회로에 단일 큐비트 게이트와 얽힘 게이트가 함께 필요한 이유를 설명할 수 있는가
- 실제 하드웨어에서는 큐비트 연결성이 2큐비트 연산에 영향을 줄 수 있음을 이해했는가
자주 묻는 질문
다중 큐비트 게이트는 두 개 이상의 큐비트를 동시에 조작한다는 뜻인가요?
회로 수준에서는 두 개 이상의 큐비트로 이루어진 공동 상태에 하나의 연산이 작용한다는 의미입니다. 실제 물리적인 구현방식은 사용하는 큐비트 기술에 따라 달라질 수 있습니다.
CNOT을 적용하면 항상 얽힘이 생기나요?
아닙니다. |00⟩이나 |10⟩처럼 계산 기저 상태에 CNOT을 적용하면 결과도 분리 가능한 계산 기저 상태입니다. 제어 큐비트가 적절한 중첩 상태일 때 CNOT이 얽힘을 생성할 수 있습니다.
다중 큐비트 게이트와 얽힘 게이트는 같은 말인가요?
완전히 같은 의미는 아닙니다. 다중 큐비트 게이트는 둘 이상의 큐비트에 작용하는 모든 게이트를 가리키는 더 넓은 개념입니다. 그 가운데 적절한 분리 상태를 얽힌 상태로 만들 수 있는 연산을 얽힘 게이트라고 할 수 있습니다.
SWAP도 다중 큐비트 게이트인가요?
그렇습니다. 두 큐비트의 상태를 서로 교환하므로 2큐비트 게이트입니다. 다만 두 개의 분리된 입력 상태를 SWAP한다고 해서 새로운 얽힘이 만들어지는 것은 아닙니다.
왜 실제 양자컴퓨터에서는 CNOT을 많이 줄이려고 하나요?
실제 하드웨어의 다중 큐비트 연산에는 제어오차와 노이즈가 존재할 수 있고 연결되지 않은 큐비트 사이의 연산에는 추가 Routing이 필요할 수 있기 때문입니다. 필요한 연산을 유지하면서 불필요한 2큐비트 게이트를 줄이는 것이 회로 최적화에서 중요합니다.
단일 큐비트 게이트와 CNOT만 있으면 충분한가요?
적절한 단일 큐비트 게이트 집합과 CNOT 같은 얽힘 게이트를 조합하면 범용적인 양자계산을 구성할 수 있습니다. 대표적인 범용 게이트 집합의 예로 H, T, CNOT 조합이 있습니다.
핵심 용어와 마무리 정리
| 용어 | 의미 |
|---|---|
| Multi-Qubit Gate | 둘 이상의 큐비트로 이루어진 공동 상태에 작용하는 양자 게이트 |
| CNOT | 제어 큐비트가 1일 때 목표 큐비트에 X를 적용하는 2큐비트 게이트 |
| Control Qubit | 조건부 연산의 실행 여부에 영향을 주는 큐비트 |
| Target Qubit | 조건에 따라 연산이 적용되는 큐비트 |
| CZ | |11⟩ 성분에 조건부 위상을 적용하는 2큐비트 게이트 |
| SWAP | 두 큐비트가 가진 양자상태의 위치를 서로 교환하는 게이트 |
| Entangling Gate | 적절한 분리 상태에서 얽힘을 생성할 수 있는 다중 큐비트 게이트 |
| Bell State | 두 큐비트 얽힘을 보여주는 대표적인 공동 양자상태 |
| Controlled-U | 제어 큐비트 조건에 따라 목표 큐비트에 U를 적용하는 연산 |
| Universal Gate Set | 조합을 통해 일반적인 양자 유니터리 연산을 원하는 정밀도로 근사할 수 있는 게이트 집합 |
다중 큐비트 게이트가 필요한 가장 기본적인 이유는 여러 큐비트를 단순히 나란히 두는 것에서 벗어나 하나의 공동 양자시스템으로 조작하기 위해서입니다.
단일 큐비트 게이트를 사용하면 각각의 큐비트 상태를 자유롭게 변화시킬 수 있지만 처음부터 분리되어 있던 큐비트 사이에 새로운 얽힘을 만들 수는 없습니다.
CNOT과 CZ 같은 다중 큐비트 게이트는 이 한계를 넘어 한 큐비트의 상태와 다른 큐비트의 변화를 연결하고 여러 큐비트가 공유하는 진폭과 위상관계를 조절할 수 있게 합니다.
특히 H와 CNOT을 조합해 Bell 상태를 만드는 과정은 다중 큐비트 게이트의 필요성을 가장 직관적으로 보여줍니다. 첫 번째 큐비트에 만들어진 중첩이 CNOT을 거치면서 두 큐비트의 공동 얽힘 상태로 확장됩니다.
다만 다중 큐비트 게이트가 모두 얽힘을 만드는 것은 아닙니다. CNOT도 입력 상태에 따라 얽힘을 만들지 않을 수 있고 SWAP처럼 두 큐비트에 작용하면서도 분리 상태를 단순히 교환하는 게이트도 있습니다.
결국 양자컴퓨터의 핵심은 큐비트를 많이 보유하는 데서 끝나지 않습니다. 각각의 큐비트를 정밀하게 제어하는 단일 큐비트 게이트와, 필요한 큐비트들을 공동 상태로 연결하는 다중 큐비트 게이트를 함께 사용할 수 있어야 본격적인 양자 알고리즘을 구성할 수 있습니다.
참고문헌
- Microsoft Learn, Multiple-Qubit Operations
- Microsoft Learn, Entanglement and Correlations
- Microsoft Learn, Q# Quantum Entanglement Tutorial
- IBM Quantum Learning, Basics of Quantum Information
- Google Quantum AI, Cirq Gates and Operations
- Google Quantum AI, Cirq Basics