이제 양자 정보로 넘어갈 준비가 되었습니다. 여기서는 고려하는 시스템의 상태—이 경우 양자 상태—를 나타내는 벡터의 유형을 다르게 선택합니다.
앞서 다룬 고전 정보에 관한 논의와 마찬가지로, 유한하고 공집합이 아닌 고전 상태 집합을 가진 시스템을 다루며, 동일한 표기법을 많이 활용합니다.
시스템의 양자 상태는 확률적 상태와 유사하게 열 벡터로 표현됩니다. 이전과 마찬가지로, 벡터의 인덱스는 시스템의 고전 상태를 나타냅니다.
양자 상태를 나타내는 벡터는 다음 두 가지 성질로 특징지어집니다.
양자 상태 벡터의 원소는 복소수입니다.
양자 상태 벡터의 원소들의 절댓값의 제곱의 합은 1입니다.
따라서 확률적 상태와 달리, 양자 상태를 나타내는 벡터의 원소는 음이 아닌 실수일 필요가 없으며, (원소들의 합이 아니라) 원소들의 절댓값의 제곱의 합이 1이어야 합니다. 이 변화는 단순해 보이지만, 양자 정보와 고전 정보의 차이를 만들어냅니다. 양자 컴퓨터의 속도 향상이나 양자 통신 프로토콜의 개선은 궁극적으로 이 단순한 수학적 변화에서 비롯됩니다.
열 벡터의 유클리드 노름
v=α1⋮αn
은 다음과 같이 정의하고 표기합니다.
∥v∥=k=1∑n∣αk∣2.
양자 상태 벡터의 원소들의 절댓값의 제곱의 합이 1이라는 조건은, 그 벡터의 유클리드 노름이 1과 같다는 것과 동치입니다.
즉, 양자 상태 벡터는 유클리드 노름에 대한 단위 벡터입니다.
처음 두 예시인 ∣0⟩과 ∣1⟩은 표준 기저 원소가 유효한 양자 상태 벡터임을 보여줍니다. 이 벡터들의 원소는 복소수이며, 허수부가 모두 0인 경우에 해당합니다. 각 원소의 절댓값의 제곱의 합을 계산하면
∣1∣2+∣0∣2=1and∣0∣2+∣1∣2=1,
이 되어 요건을 만족합니다.
고전적인 경우와 유사하게, 양자 상태 벡터 ∣0⟩과 ∣1⟩은 각각 Qubit이 고전 상태 0과 1에 있는 것과 연관됩니다.
나머지 두 예시도 복소수 원소를 가지며, 원소들의 절댓값의 제곱의 합을 계산하면
212+212=21+21=1
그리고
31+2i2+−322=95+94=1.
따라서 이들은 유효한 양자 상태 벡터입니다. 이 벡터들은 표준 기저 상태 ∣0⟩과 ∣1⟩의 선형 결합임에 주목하세요. 이런 이유로 우리는 이들이 상태 0과 1의 *중첩(superposition)*이라고 말합니다.
양자 상태의 맥락에서 중첩과 선형 결합은 본질적으로 동의어입니다.
위의 qubit 상태 벡터 예시 (1)은 매우 자주 등장하는 상태로, 플러스 상태라고 부르며 다음과 같이 표기합니다.
∣+⟩=21∣0⟩+21∣1⟩.
또한 두 번째 원소가 양수가 아닌 음수인, 관련된 양자 상태 벡터를 나타내기 위해
∣−⟩=21∣0⟩−21∣1⟩
이라는 표기를 사용하며, 이 상태를 마이너스 상태라고 합니다.
고전 상태를 가리키는 기호 외의 다른 기호를 ket 안에 사용하는 이러한 표기법은 일반적으로 쓰입니다. 벡터의 이름을 나타내기 위해 ket 안에 원하는 어떤 이름이든 사용할 수 있습니다.
반드시 표준 기저 벡터가 아닌 임의의 벡터를 가리킬 때 ∣ψ⟩ 또는 ψ 대신 다른 이름을 사용하는 표기가 매우 일반적입니다.
어떤 고전 상태 집합 Σ에 해당하는 인덱스를 가진 벡터 ∣ψ⟩가 있고, a∈Σ가 이 고전 상태 집합의 원소라면, 행렬 곱 ⟨a∣∣ψ⟩는 a에 해당하는 인덱스를 가진 벡터 ∣ψ⟩의 원소와 같습니다.
∣ψ⟩가 표준 기저 벡터일 때와 마찬가지로, 가독성을 위해 ⟨a∣∣ψ⟩ 대신 ⟨a∣ψ⟩로 표기합니다.
예를 들어, Σ={0,1}이고
∣ψ⟩=31+2i∣0⟩−32∣1⟩=(31+2i−32),(2)
이면
⟨0∣ψ⟩=31+2iand⟨1∣ψ⟩=−32.
일반적으로, 임의의 벡터에 Dirac 표기법을 사용할 때, ⟨ψ∣는 열 벡터 ∣ψ⟩의 *켤레 전치(conjugate-transpose)*를 취해 얻은 행 벡터를 가리킵니다. 이때 벡터를 열 벡터에서 행 벡터로 전치하고, 각 원소를 복소켤레로 바꿉니다.
예를 들어, ∣ψ⟩가 (2)에서 정의된 벡터라면
임의의 고전 상태 집합을 가진 시스템의 양자 상태도 고려할 수 있습니다.
예를 들어, 전기 선풍기 스위치의 양자 상태 벡터는 다음과 같습니다.
210−2i21=21∣high⟩−2i∣low⟩+21∣off⟩.
여기서는 고전 상태가 high, medium, low, off 순으로 정렬되어 있다고 가정합니다.
전기 선풍기 스위치의 양자 상태를 고려하는 특별한 이유는 없을 수 있지만, 원칙적으로는 가능합니다.
고전 상태가 0,1,…,9인 양자 십진 숫자의 예를 하나 더 들면 다음과 같습니다.
385112345678910=3851k=0∑9(k+1)∣k⟩.
이 예시는 Dirac 표기법으로 상태 벡터를 표현하는 것이 얼마나 편리한지를 잘 보여줍니다.
이 경우 열 벡터 표현은 단지 불편할 뿐이지만, 고전 상태가 훨씬 많다면 사용 자체가 불가능해질 것입니다.
반면 Dirac 표기법은 크고 복잡한 벡터를 간결한 형태로 정확하게 기술할 수 있습니다.
Dirac 표기법은 벡터의 특정 측면이 *미정(indeterminate)*인, 즉 알려지지 않았거나 아직 확정되지 않은 벡터도 표현할 수 있습니다.
예를 들어, 임의의 고전 상태 집합 Σ에 대해 양자 상태 벡터
∣Σ∣1a∈Σ∑∣a⟩,
를 고려할 수 있습니다. 여기서 ∣Σ∣는 Σ의 유클리드 노름을 나타내며, 이 경우 ∣Σ∣는 단순히 Σ의 원소 수입니다.
이는 Σ의 고전 상태들에 대한 *균일 중첩(uniform superposition)*입니다.
이후 강좌에서는 훨씬 더 복잡한 양자 상태 벡터의 표현을 다루게 되며, 그때는 열 벡터 표현이 비실용적이거나 불가능해집니다.
실제로, 명시적으로 원소를 표시하고 살펴보는 것이 도움이 되는 원소 수가 적은 벡터(종종 예시의 맥락에서)를 제외하고는, 상태 벡터의 열 벡터 표현은 대부분 사용하지 않게 됩니다.
Dirac 표기법으로 상태 벡터를 표현하는 것이 편리한 이유가 하나 더 있습니다. 고전 상태의 순서(즉, 고전 상태와 벡터 인덱스 사이의 대응)를 명시적으로 지정하지 않아도 된다는 점입니다.
예를 들어, 고전 상태 집합이 {♣,♢,♡,♠}인 시스템의 양자 상태 벡터
21∣♣⟩+2i∣♢⟩−21∣♡⟩−2i∣♠⟩,
는 이 표현만으로 모호함 없이 기술되며, 이 표현을 이해하기 위해 고전 상태 집합의 순서를 선택하거나 지정할 필요가 없습니다.
이 경우 표준 카드 문양의 순서를 지정하는 것은 어렵지 않습니다. 예를 들어 ♣,♢,♡,♠ 순으로 정렬할 수 있습니다.
이 순서를 선택한다면, 위의 양자 상태 벡터는 열 벡터로
다음으로, 양자 상태가 측정될 때 어떤 일이 일어나는지 살펴보겠습니다. 여기서는 표준 기저 측정이라고 알려진 간단한 유형의 측정에 초점을 맞춥니다.
(더 일반적인 측정 개념은 나중에 다루겠습니다.)
확률적 설정과 마찬가지로, 양자 상태에 있는 시스템을 측정할 때 측정을 수행하는 가상의 관측자는 양자 상태 벡터를 보는 것이 아니라 어떤 고전적 상태를 보게 됩니다.
이런 의미에서 측정은 양자 정보와 고전 정보 사이의 인터페이스 역할을 하며, 이를 통해 양자 상태로부터 고전 정보가 추출됩니다.
규칙은 간단합니다. 양자 상태를 측정하면, 시스템의 각 고전적 상태가 해당 고전적 상태에 대응하는 양자 상태 벡터 성분의 절댓값의 제곱과 같은 확률로 나타납니다.
이것은 양자역학에서 Born 규칙으로 알려져 있습니다.
이 규칙은 양자 상태 벡터의 성분들의 절댓값의 제곱의 합이 1이 되어야 한다는 요건과 일관성이 있습니다. 이는 서로 다른 고전적 상태 측정 결과들의 확률의 합이 1임을 함의하기 때문입니다.
예를 들어, 플러스 상태
∣+⟩=21∣0⟩+21∣1⟩
를 측정하면 두 가지 가능한 결과인 0과 1이 다음과 같은 확률로 나타납니다.
Pr(outcome is 0)=⟨0∣+⟩2=212=21Pr(outcome is 1)=⟨1∣+⟩2=212=21
흥미롭게도, 마이너스 상태
∣−⟩=21∣0⟩−21∣1⟩
를 측정하면 두 결과에 대해 정확히 동일한 확률이 나옵니다.
Pr(outcome is 0)=⟨0∣−⟩2=212=21Pr(outcome is 1)=⟨1∣−⟩2=−212=21
이는 표준 기저 측정에 한해서는 플러스 상태와 마이너스 상태 사이에 아무런 차이가 없음을 시사합니다.
그렇다면 왜 굳이 이 둘을 구별하려 할까요?
그 이유는 다음 절에서 다루겠지만, 이 두 상태는 연산이 수행될 때 서로 다르게 동작하기 때문입니다.
물론, 양자 상태 ∣0⟩을 측정하면 고전적 상태 0이 확실하게 나타나고, 마찬가지로 양자 상태 ∣1⟩을 측정하면 고전적 상태 1이 확실하게 나타납니다.
이는 앞서 제안한 바와 같이, 이 양자 상태들을 시스템이 해당 고전적 상태에 있는 것으로 동일시하는 것과 일관성이 있습니다.
지금까지는 양자 정보가 고전 정보와 근본적으로 왜 다른지 명확하지 않았을 수 있습니다.
즉, 양자 상태를 측정할 때 각 고전적 상태를 얻을 확률은 해당 벡터 성분의 절댓값의 제곱으로 주어지므로, 이 확률들을 그냥 확률 벡터에 기록하면 안 될까요?
그 대답은, 적어도 일부는, 양자 상태에 적용할 수 있는 연산의 집합이 고전 정보의 경우와 다르다는 데 있습니다.
확률적 설정과 마찬가지로, 양자 상태에 대한 연산은 선형 사상입니다. 그러나 고전적인 경우처럼 확률적 행렬로 표현되는 것이 아니라, 양자 상태 벡터에 대한 연산은 유니터리 행렬로 표현됩니다.
복소수 성분을 가진 정방행렬 U가 유니터리라는 것은 다음 등식을 만족한다는 뜻입니다.
UU†U†U=I=I.(3)
여기서 I는 단위 행렬이고, U†는 U의 켤레전치로, U를 전치한 뒤 각 성분의 복소켤레를 취한 행렬입니다.
U†=UT
위 (3)의 두 등식 중 하나가 참이면 나머지도 반드시 참입니다.
두 등식은 모두 U†가 U의 역행렬임과 동치입니다.
U−1=U†.
(주의: M이 정방행렬이 아닌 경우, 예를 들어 M†M=I이지만 MM†=I일 수 있습니다.
위 첫 번째 식의 두 등식이 동치인 것은 정방행렬에 대해서만 성립합니다.)
U가 유니터리라는 조건은 U를 곱하는 연산이 임의의 벡터의 유클리드 노름을 변화시키지 않는다는 조건과 동치입니다.
즉, n×n 행렬 U가 유니터리인 것은 복소수 성분을 가지는 임의의 n차원 열벡터 ∣ψ⟩에 대해
∥U∣ψ⟩∥=∥∣ψ⟩∥
가 성립하는 것과 동치입니다.
따라서 모든 양자 상태 벡터의 집합은 유클리드 노름이 1인 벡터들의 집합과 같으므로, 유니터리 행렬을 양자 상태 벡터에 곱하면 또 다른 양자 상태 벡터가 됩니다.
실제로, 유니터리 행렬은 양자 상태 벡터를 항상 다른 양자 상태 벡터로 변환하는 선형 사상의 집합과 정확히 일치합니다. 이는 고전 확률적 경우에서 연산이 확률 벡터를 항상 확률 벡터로 변환하는 확률적 행렬과 대응되는 것과 유사합니다.
H∣+⟩=∣0⟩ 이고 H∣−⟩=∣1⟩ 라는 사실은, 이전 절에서 제기된 ∣+⟩ 와 ∣−⟩ 의 구별에 관한 질문과 연관하여 깊이 생각해 볼 만합니다.
Qubit이 두 양자 상태 ∣+⟩ 와 ∣−⟩ 중 하나로 준비되었지만, 어느 쪽인지 알 수 없는 상황을 상상해 보세요.
이미 살펴봤듯이, 두 상태 중 어느 쪽을 측정해도 출력 분포는 동일합니다:
0 과 1 이 각각 동일한 확률 1/2 로 나타나므로, 어떤 상태가 준비되었는지에 대한 정보를 전혀 얻을 수 없습니다.
그러나 아다마르 연산을 먼저 적용한 후 측정하면, 원래 상태가 ∣+⟩ 였을 경우 확실하게 0 을, 원래 상태가 ∣−⟩ 였을 경우 확실하게 1 을 얻습니다.
따라서 양자 상태 ∣+⟩ 와 ∣−⟩ 는 완벽하게 구별할 수 있습니다.
이는 부호 변화, 더 일반적으로는 양자 상태 벡터의 복소수 성분의 위상 (전통적으로 편각이라고도 부릅니다) 변화가 해당 상태를 크게 바꿀 수 있음을 보여 줍니다.
다음은 아다마르 연산이 앞서 언급했던 상태 벡터에 어떻게 작용하는지 보여주는 또 다른 예시입니다.
이후 단원에서는 두 개 이상의 고전 상태를 갖는 시스템에 대한 유니터리 연산의 다양한 예를 살펴볼 것입니다.
세 가지 고전 상태를 갖는 시스템에 대한 유니터리 연산의 예는 다음 행렬로 주어집니다.
A=010001100
시스템의 고전 상태가 0,1,2라고 가정하면, 이 연산은 3을 법으로 하는 덧셈으로 설명할 수 있습니다.
A∣0⟩=∣1⟩,A∣1⟩=∣2⟩,andA∣2⟩=∣0⟩
행렬 A는 치환 행렬의 예로, 모든 행과 열에 정확히 하나의 1이 있는 행렬입니다.
이러한 행렬은 단순히 작용하는 벡터의 항목들을 재배열, 즉 치환합니다.
단위 행렬은 아마도 치환 행렬의 가장 단순한 예이며, 또 다른 예는 비트 또는 Qubit에 대한 NOT 연산입니다.
어떤 양의 정수 차원에서도 모든 치환 행렬은 유니터리 행렬입니다.
이것들이 고전적 연산과 양자 연산 모두를 나타내는 유일한 행렬 예입니다. 즉, 행렬이 확률적이면서 동시에 유니터리 행렬인 것은 그것이 치환 행렬인 경우에만 가능합니다.
또 다른 유니터리 행렬의 예로, 이번에는 4×4 행렬인 다음을 살펴봅시다.
U=2111111i−1−i1−11−11−i−1i.
이 행렬은 양자 푸리에 변환으로 알려진 연산을 나타내며, 구체적으로는 4×4 경우에 해당합니다.
양자 푸리에 변환은 임의의 양의 정수 차원 n에 대해 보다 일반적으로 정의될 수 있으며, 양자 알고리즘에서 핵심적인 역할을 합니다.