양자컴퓨팅의 상태 변화와 유니터리 연산, 왜 양자 게이트는 특별할까?

양자컴퓨팅에서 양자 게이트는 큐비트의 상태를 마음대로 바꾸는 연산이 아닙니다. 상태벡터의 전체 확률을 유지하면서 중첩과 위상을 바꾸고, 여러 게이트를 연결해 원하는 계산 결과로 유도하는 유니터리 변환인데요. 아래글에서 원리에 대해 알아보시죠.

초기 양자상태 |ψ⟩에 유니터리 행렬 U를 적용해 새로운 상태 U|ψ⟩를 만들고, X·H·Z·CNOT 게이트와 해밀토니안 시간발전으로 확장되는 과정을 설명한 이미지
양자컴퓨팅의 이상적인 게이트는 상태벡터의 전체 확률을 보존하는 유니터리 연산이며, 여러 유니터리를 순서대로 결합해 중첩·위상·얽힘을 조절하고 측정 직전의 최종 상태를 만들어 냅니다.

양자컴퓨팅에서 상태 변화란 무엇일까

양자컴퓨팅을 공부하면 |0⟩과 |1⟩, 중첩과 얽힘을 먼저 배우게 됩니다. 하지만 실제 양자 계산에서 더 중요한 질문은 만들어진 양자상태를 어떻게 원하는 방향으로 변화시키느냐입니다.

고전 컴퓨터에서는 논리게이트가 0과 1이라는 비트 값을 바꿉니다. 양자컴퓨터에서는 양자 게이트가 상태벡터의 확률진폭과 위상을 변화시킵니다.

이상적인 닫힌 양자시스템의 상태 변화를 표현할 때 사용하는 핵심 수학이 유니터리 연산입니다. 현재 상태가 |ψ⟩이고 유니터리 연산이 U라면 새로운 상태는 다음과 같이 쓸 수 있습니다.

|ψ'⟩ = U|ψ⟩

양자회로에서 X, H, Z, S, T, CNOT과 같은 게이트를 적용한다는 것은 결국 상태벡터에 특정한 유니터리 행렬을 적용한다는 의미입니다.

개념양자컴퓨팅에서의 의미
상태벡터 |ψ⟩현재 큐비트의 양자상태
유니터리 행렬 U상태를 변화시키는 이상적인 양자연산
U|ψ⟩연산 이후의 새로운 양자상태
양자회로여러 유니터리 연산을 순서대로 연결한 계산 구조
측정양자정보를 고전적인 결과로 얻는 과정으로 일반적인 게이트와 구분됨

따라서 유니터리 연산을 이해하면 양자 게이트가 왜 특정한 행렬로 표현되는지, 게이트의 순서가 왜 중요한지, 양자회로를 왜 역방향으로 되돌릴 수 있는지를 자연스럽게 이해할 수 있습니다.

한 큐비트의 상태는 벡터로 표현한다

유니터리 연산을 이해하려면 먼저 연산이 작용하는 대상인 상태벡터를 알아야 합니다.

한 큐비트의 일반적인 순수 상태는 다음과 같이 표현할 수 있습니다.

|ψ⟩ = α|0⟩ + β|1⟩

|α|² + |β|² = 1

|0⟩과 |1⟩을 열벡터로 표현하면 다음과 같습니다.

       [1]          [0]
|0⟩ = [ ]    |1⟩ = [ ]
       [0]          [1]

따라서 일반적인 큐비트 상태도 하나의 복소수 열벡터로 나타낼 수 있습니다.

       [α]
|ψ⟩ = [ ]
       [β]

유니터리 연산은 바로 이 상태벡터를 다른 상태벡터로 변환합니다.

유니터리 연산이란 무엇일까

복소수 행렬 U가 다음 조건을 만족하면 유니터리 행렬이라고 합니다.

U†U = UU† = I

여기에서 U†는 U의 켤레전치이고 I는 항등행렬입니다.

이 식은 단순한 수학 조건처럼 보이지만 양자컴퓨팅에서는 매우 중요한 의미를 가집니다.

  • 상태벡터의 노름을 보존합니다.
  • 전체 측정확률이 계속 1로 유지됩니다.
  • 두 상태 사이의 내적도 보존됩니다.
  • 항상 역연산을 정의할 수 있습니다.
  • 이상적인 닫힌 양자계의 상태변화를 표현할 수 있습니다.

즉 유니터리 조건은 양자상태를 아무렇게나 변형하는 것이 아니라 정상적인 양자상태를 또 다른 정상적인 양자상태로 변화시키기 위한 조건입니다.

왜 상태벡터의 길이를 보존해야 할까

한 큐비트 상태 |ψ⟩ = α|0⟩ + β|1⟩에서는 |α|²와 |β|²가 각각 0과 1을 측정할 확률과 연결됩니다.

P(0) = |α|²
P(1) = |β|²

P(0) + P(1) = 1

따라서 게이트를 적용한 이후에도 새로운 상태벡터의 전체 확률은 1이어야 합니다.

유니터리 연산 U를 적용한 새로운 상태를 |ψ’⟩ = U|ψ⟩라고 하면 다음 관계가 성립합니다.

⟨ψ'|ψ'⟩

= ⟨ψ|U†U|ψ⟩

= ⟨ψ|I|ψ⟩

= ⟨ψ|ψ⟩

= 1

바로 이 성질 때문에 양자 게이트를 여러 번 적용하더라도 정상적인 상태벡터의 정규화가 유지됩니다.

Pauli-X 게이트로 가장 간단한 상태 변화를 살펴보자

유니터리 연산의 가장 간단한 예 가운데 하나가 Pauli-X 게이트입니다.

    [0  1]
X = [    ]
    [1  0]

|0⟩에 X를 적용하면 다음과 같습니다.

X|0⟩ = |1⟩

반대로 |1⟩에 적용하면 다음과 같습니다.

X|1⟩ = |0⟩

그래서 X 게이트를 고전 컴퓨터의 NOT 연산과 비슷하게 설명하기도 합니다.

하지만 X는 0과 1뿐 아니라 모든 중첩 상태에 선형적으로 작용한다는 점에서 단순한 비트 반전 이상의 양자연산입니다.

Hadamard 게이트는 중첩을 만드는 유니터리 연산이다

양자컴퓨팅에서 가장 많이 등장하는 Hadamard 게이트 역시 유니터리 행렬입니다.

      1   [ 1   1 ]
H = ----- [       ]
     √2   [ 1  -1 ]

|0⟩에 적용하면 다음과 같은 중첩 상태가 만들어집니다.

H|0⟩ =
1/√2(|0⟩ + |1⟩)
=
|+⟩

|1⟩에 적용하면 상대위상이 다른 중첩 상태가 됩니다.

H|1⟩ =
1/√2(|0⟩ − |1⟩)
=
|−⟩

Hadamard는 0을 단순히 50%의 확률로 0 또는 1로 만드는 장치가 아닙니다. 두 계산 기저 상태에 일정한 확률진폭과 위상관계를 가진 순수한 중첩 상태를 만드는 유니터리 연산입니다.

유니터리 연산은 되돌릴 수 있다

U†U = I라는 조건에서 중요한 결론 하나를 얻을 수 있습니다.

U⁻¹ = U†

즉 유니터리 연산에는 항상 역연산이 존재합니다.

현재 상태가 U|ψ⟩라면 U†를 적용해 원래 상태로 돌아갈 수 있습니다.

|ψ⟩
 ↓ U
U|ψ⟩
 ↓ U†
U†U|ψ⟩
 =
|ψ⟩

이 때문에 이상적인 양자 게이트의 계산은 기본적으로 가역적인 변환으로 이해할 수 있습니다.

어떤 게이트는 자기 자신이 역연산이다

일부 양자 게이트는 같은 게이트를 두 번 적용하면 원래 상태로 돌아옵니다.

X² = I

H² = I

Z² = I

예를 들어 Hadamard를 |0⟩에 두 번 적용해 보겠습니다.

|0⟩
 ↓ H
|+⟩
 ↓ H
|0⟩

첫 번째 H는 중첩을 만들고 두 번째 H는 두 확률진폭을 다시 간섭시켜 원래의 |0⟩으로 되돌립니다.

유니터리 연산과 간섭이 서로 연결되는 간단한 사례입니다.

여러 양자 게이트를 연결하면 하나의 유니터리 연산이 된다

실제 양자회로에서는 하나의 게이트만 사용하는 경우보다 여러 게이트를 순서대로 적용하는 경우가 훨씬 많습니다.

처음에 U₁을 적용하고 그다음 U₂를 적용한다면 최종 상태는 다음과 같습니다.

|ψ'⟩ = U₂U₁|ψ⟩

여기에서 주의할 점은 행렬이 오른쪽부터 상태에 작용한다는 것입니다.

양자회로가 다음과 같다면

|ψ⟩ → U₁ → U₂ → U₃

전체 연산은 다음과 같이 표현됩니다.

Utotal = U₃U₂U₁

각 유니터리 행렬의 곱 역시 유니터리이므로 측정이 없는 이상적인 양자회로 전체도 하나의 더 큰 유니터리 연산으로 생각할 수 있습니다.

게이트의 순서를 바꾸면 결과도 달라질 수 있다

행렬 곱에서는 일반적으로 순서를 자유롭게 바꿀 수 없습니다.

AB ≠ BA

양자 게이트도 마찬가지입니다. 먼저 H를 적용한 뒤 Z를 적용하는 회로와 먼저 Z를 적용한 뒤 H를 적용하는 회로가 항상 같은 결과를 만드는 것은 아닙니다.

따라서 양자회로에서는 어떤 게이트를 사용하는가뿐 아니라 어떤 순서로 배치하는가도 계산의 일부입니다.

위상 게이트도 상태 변화의 중요한 부분이다

양자상태의 변화가 항상 0과 1의 측정확률을 즉시 바꾸는 것은 아닙니다. 어떤 유니터리 연산은 주로 확률진폭의 위상을 변화시킵니다.

대표적인 Z 게이트는 다음과 같습니다.

Z|0⟩ = |0⟩

Z|1⟩ = −|1⟩

|+⟩에 적용하면 다음과 같은 변화가 생깁니다.

Z|+⟩
=
1/√2(|0⟩ − |1⟩)
=
|−⟩

Z기저에서 바로 측정하면 두 상태 모두 0과 1이 50%씩 나오지만 상대위상은 달라졌습니다. 이후 다른 유니터리 연산을 적용하면 이 위상차가 간섭을 통해 측정확률 차이로 나타날 수 있습니다.

블로흐 구에서는 유니터리 연산을 회전처럼 볼 수 있다

한 큐비트의 순수 상태를 직관적으로 이해할 때는 블로흐 구가 유용합니다.

블로흐 구의 북극에는 |0⟩, 남극에는 |1⟩을 놓을 수 있고 다양한 중첩 상태는 구의 표면에 있는 다른 점으로 표현됩니다.

한 큐비트 유니터리 연산은 전역위상을 제외하면 블로흐 구에서 상태를 회전시키는 변환처럼 이해할 수 있습니다.

게이트블로흐 구에서의 직관
XX축을 중심으로 하는 반바퀴 회전과 연결
YY축을 중심으로 하는 반바퀴 회전과 연결
ZZ축을 중심으로 하는 위상 회전과 연결
Rx(θ)X축 주위의 연속적인 회전
Ry(θ)Y축 주위의 연속적인 회전
Rz(θ)Z축 주위의 연속적인 회전

이 관점을 이용하면 단일 큐비트 상태가 게이트를 통과하면서 어떻게 이동하는지를 훨씬 직관적으로 볼 수 있습니다.

다중 큐비트의 유니터리 연산은 더 큰 행렬이 된다

한 큐비트의 상태공간은 2차원이므로 한 큐비트 게이트는 2×2 행렬로 표현할 수 있습니다.

두 큐비트의 상태공간은 4차원이므로 전체 시스템에 작용하는 일반적인 연산은 4×4 행렬이 됩니다.

큐비트 수상태벡터 차원일반적인 유니터리 행렬 크기
122×2
244×4
388×8
n2ⁿ2ⁿ×2ⁿ

큐비트가 많아질수록 상태공간과 일반적인 유니터리 행렬의 크기가 매우 빠르게 증가합니다.

CNOT 게이트는 두 큐비트 상태를 어떻게 바꿀까

대표적인 두 큐비트 유니터리 연산이 CNOT 게이트입니다.

첫 번째 큐비트를 제어 큐비트, 두 번째를 목표 큐비트로 두면 계산 기저에서 다음과 같이 작동합니다.

|00⟩ → |00⟩
|01⟩ → |01⟩
|10⟩ → |11⟩
|11⟩ → |10⟩

행렬로 표현하면 다음과 같습니다.

       [1  0  0  0]
       [0  1  0  0]
CNOT = [0  0  0  1]
       [0  0  1  0]

CNOT 역시 상태벡터의 노름을 보존하는 유니터리 연산입니다.

유니터리 연산으로 얽힘도 만들 수 있다

단일 큐비트 게이트와 다중 큐비트 게이트를 결합하면 얽힌 상태를 만들 수 있습니다.

|00⟩에서 시작해 첫 번째 큐비트에 Hadamard를 적용합니다.

|00⟩

      ↓ H ⊗ I

1/√2(|00⟩ + |10⟩)

이후 첫 번째 큐비트를 제어로 하는 CNOT을 적용하면 다음과 같은 Bell 상태가 만들어집니다.

1/√2(|00⟩ + |10⟩)

        ↓ CNOT

1/√2(|00⟩ + |11⟩)

처음에는 분리된 |00⟩ 상태였지만 두 번의 유니터리 연산을 거친 뒤 개별 큐비트의 단순한 텐서곱으로 분리할 수 없는 얽힌 상태가 만들어졌습니다.

물리적인 시간 변화도 유니터리 연산과 연결된다

양자 게이트의 유니터리 행렬은 단순히 계산을 편리하게 표현하기 위해 임의로 정한 규칙이 아닙니다. 닫힌 양자시스템의 실제 시간 변화와도 연결됩니다.

시간에 따라 변하지 않는 해밀토니안 H가 시스템을 지배한다고 할 때 상태의 시간 변화는 다음과 같이 표현할 수 있습니다.

|ψ(t)⟩ =
e^(−iHt/ℏ)|ψ(0)⟩

여기에서

U(t) = e^(−iHt/ℏ)

는 유니터리 시간발전 연산자입니다.

즉 해밀토니안이 시스템의 물리적인 에너지 구조와 상호작용을 결정한다면 유니터리 연산자는 일정 시간이 지난 뒤 양자상태가 어떻게 변했는지를 나타냅니다.

양자 시뮬레이션에서 U=e⁻ⁱᴴᵗ가 중요한 이유

양자 시뮬레이션에서는 어떤 물리계의 해밀토니안을 알고 있을 때 그 시스템이 시간에 따라 어떻게 변화하는지를 계산하고 싶을 수 있습니다.

목표는 결국 다음과 같은 유니터리 연산을 양자회로로 구현하는 것입니다.

U(t) = e^(−iHt)

복잡한 해밀토니안의 지수함수를 그대로 하나의 게이트로 구현하기 어렵기 때문에 여러 개의 작은 연산으로 나누어 근사하는 Trotterization 같은 방법을 사용할 수 있습니다.

복잡한 시간 변화 U(t)

        ↓

작은 유니터리 연산으로 분해

U₁ · U₂ · U₃ · ...

        ↓

양자 게이트 회로

이런 관점에서 보면 양자 시뮬레이션도 결국 원하는 유니터리 시간발전을 실제 양자 게이트들의 조합으로 구현하는 문제와 연결됩니다.

전역위상이 달라져도 같은 물리적 상태일 수 있다

유니터리 연산을 공부하다 보면 상태벡터가 이전과 조금 다른데 실제 측정 결과는 완전히 같은 경우를 만나게 됩니다.

대표적인 예가 전역위상입니다.

|ψ⟩

e^(iγ)|ψ⟩

상태 전체에 동일한 위상 e^(iγ)가 곱해진 두 상태는 일반적인 측정에서 같은 물리적 상태를 나타냅니다.

반대로 |0⟩과 |1⟩ 성분 사이의 상대위상이 달라지는 경우에는 간섭 결과가 달라질 수 있습니다.

따라서 양자회로를 비교할 때 행렬이 정확하게 같은지뿐 아니라 전역위상만 차이나는지도 구분할 필요가 있습니다.

측정은 일반적인 유니터리 게이트와 다르다

유니터리 연산을 배운 뒤 가장 주의해야 할 부분은 양자회로의 모든 동작이 단일 유니터리 행렬로 표현되는 것은 아니라는 점입니다.

대표적인 예가 측정입니다.

한 큐비트가 다음 상태에 있다고 생각해 보겠습니다.

|ψ⟩ =
α|0⟩ + β|1⟩

계산 기저에서 측정하면 |α|²의 확률로 0, |β|²의 확률로 1이라는 고전적인 결과를 얻게 됩니다.

표준적인 양자회로 표현에서 이러한 측정에 따른 상태 갱신은 일반적인 유니터리 게이트와 구분됩니다. 측정에는 확률적인 결과가 나타나며 얻은 결과에 따라 이후 상태도 달라질 수 있습니다.

구분유니터리 게이트측정
상태 변화결정적인 선형변환확률적인 고전 결과가 발생
역연산U†로 되돌릴 수 있음일반적으로 측정 결과를 단순 역게이트로 되돌릴 수 없음
정보양자상태를 다른 양자상태로 변환양자정보에서 고전적인 결과를 얻음
회로 표현H·X·CNOT 등의 게이트측정 기호와 고전 레지스터

노이즈가 있는 실제 양자컴퓨터도 유니터리 연산만으로 설명할 수 있을까

이상적인 양자 게이트는 유니터리 연산으로 표현하지만 실제 양자컴퓨터는 주변 환경과 상호작용하고 여러 종류의 노이즈를 경험합니다.

에너지 이완, 위상 감쇠와 확률적인 오류 같은 현상은 일반적으로 하나의 유니터리 행렬만으로 시스템 자체의 상태변화를 완전히 표현하기 어렵습니다.

이러한 경우에는 상태벡터보다 더 일반적인 밀도행렬과 양자채널을 사용합니다.

이상적인 닫힌 시스템

|ψ'⟩ = U|ψ⟩


노이즈·환경을 포함한 시스템

ρ → quantum channel → ρ'

유니터리 연산은 양자채널의 특별한 경우로 포함할 수 있습니다. 따라서 양자정보를 더 깊게 공부하면 ‘모든 상태 변화는 유니터리’라는 단순한 그림에서 양자채널이라는 더 일반적인 표현으로 확장하게 됩니다.

밀도행렬에서는 유니터리 변화가 어떻게 표현될까

순수 상태뿐 아니라 혼합 상태까지 표현하는 밀도행렬 ρ를 사용한다면 유니터리 연산에 따른 상태 변화는 다음과 같이 나타낼 수 있습니다.

ρ' = UρU†

순수 상태의 밀도행렬이

ρ = |ψ⟩⟨ψ|

라면 U를 적용한 뒤에는

ρ'
=
U|ψ⟩⟨ψ|U†

가 됩니다.

따라서 상태벡터 표현과 밀도행렬 표현은 서로 다른 수학처럼 보이지만 동일한 유니터리 상태 변화를 일관되게 표현할 수 있습니다.

양자회로는 거대한 유니터리 행렬을 직접 입력하지 않는다

n큐비트 시스템의 일반적인 유니터리 연산은 2ⁿ×2ⁿ 크기의 행렬이 됩니다. 큐비트 수가 늘어나면 행렬의 크기도 급격하게 커집니다.

그래서 실제 양자 프로그래밍에서는 거대한 행렬 전체를 직접 작성하기보다 작은 기본 게이트들의 조합으로 원하는 연산을 구성합니다.

원하는 복잡한 U

       ↓ 분해

1큐비트 게이트
+
2큐비트 게이트
+
반복

       ↓

실행 가능한 양자회로

컴파일러와 트랜스파일러 역시 알고리즘에서 정의한 연산을 실제 하드웨어가 지원하는 게이트 집합으로 변환하는 작업을 수행합니다.

보편 게이트 집합과 유니터리 연산은 어떤 관계일까

양자컴퓨터가 모든 종류의 유니터리 행렬을 하나하나 물리적인 게이트로 제공할 필요는 없습니다.

적절한 기본 게이트 집합을 가지고 있으면 원하는 유니터리 연산을 이 게이트들의 조합으로 정확하게 구현하거나 원하는 정확도까지 근사할 수 있습니다.

이를 보편적인 게이트 집합이라고 합니다.

이 관점에서 양자회로 설계는 거대한 유니터리 변환을 실제 하드웨어가 실행할 수 있는 작은 유니터리 게이트로 분해하는 과정이라고 볼 수 있습니다.

유니터리 연산을 이해하면 양자 알고리즘이 어떻게 보일까

양자 알고리즘을 단순히 게이트 모양을 외워서 보면 각 연산이 왜 필요한지 이해하기 어렵습니다. 반대로 상태 변화의 관점에서 보면 회로의 목적이 더 명확해집니다.

알고리즘 단계유니터리 연산 관점
상태 준비초기 |0…0⟩ 상태를 원하는 입력 상태로 회전
중첩 생성H 등의 유니터리로 여러 기저 상태에 진폭 생성
문제 정보 기록오라클 등의 유니터리로 위상·진폭 구조 변경
간섭추가 유니터리로 진폭들을 다시 결합
측정마지막 상태에서 고전적인 결과 추출

결국 많은 양자 알고리즘은 초기 상태를 준비한 뒤 여러 유니터리 변환을 거쳐 측정 직전에 원하는 확률분포를 가진 상태를 만드는 과정으로 이해할 수 있습니다.

유니터리 연산을 공부할 때 자주 하는 오해

오해실제 의미
양자상태는 게이트를 통과할 때 임의로 바뀐다이상적인 게이트는 정해진 유니터리 선형변환을 수행한다
유니터리라는 말은 확률이 일정하다는 뜻뿐이다노름·내적 보존과 역연산 가능성까지 포함한다
양자회로의 모든 동작이 유니터리다측정·노이즈·리셋 등은 더 일반적인 표현이 필요할 수 있다
게이트의 순서는 상관없다일반적으로 행렬은 교환하지 않아 순서에 따라 결과가 달라진다
유니터리이면 실제 하드웨어에서도 완벽히 되돌릴 수 있다이상적 수학모델과 실제 노이즈가 있는 하드웨어를 구분해야 한다
유니터리 행렬 전체를 직접 코딩해야 한다실제로는 기본 게이트를 조합하고 컴파일해 구현하는 경우가 많다

유니터리 연산을 이해하는 추천 학습 순서

유니터리 연산은 처음부터 추상적인 정의만 외우면 어렵게 느껴집니다. 간단한 한 큐비트 게이트부터 직접 계산하면서 개념을 확장하는 것이 좋습니다.

단계학습 내용
1단계|0⟩·|1⟩과 상태벡터
2단계행렬과 상태벡터의 곱
3단계X·H·Z 게이트 직접 계산
4단계켤레전치와 U†U=I
5단계역연산과 가역성
6단계여러 게이트의 행렬곱과 연산 순서
7단계텐서곱과 CNOT
8단계Bell 상태와 얽힘 생성
9단계해밀토니안과 U(t)=e⁻ⁱᴴᵗ
10단계측정·밀도행렬·양자채널과의 차이

특히 X와 H 게이트의 행렬을 직접 상태벡터에 곱해 보고 H를 두 번 적용했을 때 원래 상태로 돌아오는 것을 확인하면 유니터리 연산의 의미를 빠르게 이해할 수 있습니다.

유니터리 연산 이해 점검 체크리스트

  • 양자상태를 상태벡터 |ψ⟩로 표현할 수 있다는 점을 이해했는가
  • |ψ’⟩ = U|ψ⟩가 무엇을 의미하는지 설명할 수 있는가
  • U†U = I가 유니터리 조건이라는 점을 알고 있는가
  • 유니터리 연산이 상태벡터의 노름을 보존한다는 점을 설명할 수 있는가
  • U⁻¹ = U†라는 관계를 이해했는가
  • X와 H 게이트가 실제로 유니터리인지 확인할 수 있는가
  • 여러 게이트를 적용할 때 행렬 곱의 순서를 구분할 수 있는가
  • 두 큐비트 연산이 4×4 행렬로 표현된다는 점을 알고 있는가
  • H와 CNOT으로 Bell 상태를 만드는 과정을 설명할 수 있는가
  • 측정과 노이즈를 일반적인 유니터리 게이트와 구분할 수 있는가

핵심 용어와 마무리 정리

용어의미
상태벡터양자시스템의 상태를 나타내는 복소수 벡터
유니터리 연산양자상태의 노름과 내적을 보존하는 가역적인 선형변환
켤레전치행과 열을 바꾸고 각 성분에 복소켤레를 취한 행렬
역연산적용한 변환을 원래 상태로 되돌리는 연산
양자 게이트이상적인 회로 모델에서 유니터리 연산으로 표현되는 기본 상태변환
해밀토니안양자계의 에너지와 시간발전을 결정하는 연산자
시간발전 연산자해밀토니안으로부터 만들어지는 U(t)=e⁻ⁱᴴᵗ 형태의 유니터리
전역위상상태 전체에 동일하게 곱해져 일반적인 측정결과를 바꾸지 않는 위상
양자채널유니터리·노이즈·측정 등을 포함할 수 있는 더 일반적인 양자상태 변화 표현

양자컴퓨팅에서 유니터리 연산은 큐비트의 상태가 어떻게 변화하는지를 설명하는 가장 기본적인 수학적 규칙입니다. 현재 상태 |ψ⟩에 U를 적용하면 새로운 상태 U|ψ⟩가 만들어집니다.

유니터리 행렬은 U†U=I를 만족하기 때문에 상태의 전체 확률을 보존하고 항상 역연산을 가집니다. 그래서 이상적인 양자 게이트를 연결한 회로는 측정 전까지 가역적인 상태변환으로 이해할 수 있습니다.

X는 계산 기저 상태를 바꾸고, H는 중첩을 만들며, Z와 같은 게이트는 상대위상을 변화시킵니다. CNOT 같은 다중 큐비트 유니터리를 결합하면 얽힌 상태도 만들 수 있습니다.

더 깊게 들어가면 유니터리 연산은 단순한 회로 규칙이 아니라 슈뢰딩거 방정식에 따른 실제 양자계의 시간발전과 연결됩니다. 해밀토니안으로부터 만들어지는 e⁻ⁱᴴᵗ가 유니터리인 이유도 같은 구조에 있습니다.

다만 모든 양자상태 변화가 단일 유니터리 게이트로 표현되는 것은 아닙니다. 측정이나 환경과의 상호작용, 노이즈까지 다루기 시작하면 밀도행렬과 양자채널이라는 더 일반적인 틀이 필요합니다. 이 차이까지 이해하면 이상적인 양자회로와 실제 양자컴퓨터 사이의 관계도 훨씬 명확하게 보이기 시작합니다.

참고문헌

양자상태와 유니터리 연산, 다중 큐비트 게이트와 실제 시간발전을 더 깊게 공부하려면 아래의 공식 교육자료와 기술문서를 참고할 수 있습니다.

Andrew Shin

양자컴퓨팅을 처음 접하는 사람도 이해할 수 있도록 복잡한 개념과 기술을 쉽게 풀어 설명합니다. 기초 원리부터 큐비트, 양자게이트, 하드웨어, 실제 활용 분야와 최신 기술 흐름까지 신뢰할 수 있는 자료를 바탕으로 정리합니다.

문의: jyamee01@gmail.com

댓글 남기기