양자 컴퓨팅의 Dirac 표기법
Dirac 표기법 양자 상태 및 연산을 설명하는 간결하고 강력한 방법입니다. 그것은 1930년대에 표기법을 개발한 물리학자 폴 디락의 이름을 따서 명명되었습니다. Dirac 표기법은 양자 컴퓨팅에서 양자 상태, 양자 연산 및 양자 측정을 설명하는 데 사용됩니다.
이 문서에서는 Dirac 표기법을 소개하고 이를 사용하여 양자 상태 및 연산을 설명하는 방법을 보여 줍니다.
Dirac 표기법의 벡터
Dirac 표기법에는 행 벡터에 해당하는 bra 벡터와 열 벡터에 해당하는 ket 벡터의 두 가지 유형이 있습니다. 그래서 Dirac 표기법은 bra-ket 표기법이라고도 합니다.
$\psi$이 열 벡터인 경우, Dirac 표기법에서는 $\ket{\psi}$로 작성할 수 있습니다. 여기서 $\ket{\cdot}$는 그것이 ket 벡터임을 나타냅니다.
마찬가지로, 행 벡터 $\psi^\dagger$는 bra 벡터인 $\bra{\psi}$로 표현됩니다. 즉 $\psi^\dagger$는 항목 차원의 켤레 복소수를 $\psi$의 전치 요소에 적용하여 획득됩니다. bra-ket 표기법은 정의 1$\braket{\psi|\psi}$에 의한 $\psi$벡터 $ 자체의 내부 곱임을 직접 의미 $ 합니다.
더 일반적으로 $\psi$ 및 $\phi$가 양자 상태 벡터라면 내적은 $\braket{\phi|\psi}$입니다. 이 내적은 $\ket{\psi}$ 상태가 $\ket{\phi}$가 되는 측정 확률이 $|\braket{\phi|\psi}|^2$임을 암시합니다.
계산 기준 상태 $0$과 $1$는 각각 $\begin{bmatrix} 1 \ 0 \end{bmatrix}=\ket{{0}$ 및 $\begin{bmatrix} 0 \ 1 \end{bmatrix}=\ket{1}$로 표시됩니다.
예: Dirac 표기법을 사용한 Hadamard 연산을 나타냄
Dirac 표기법을 사용하여 양자 상태 $\ket{0}$ 및 $\ket{1}$에 Hadamard 게이트 $H$을 적용해 보겠습니다.
$$ \frac{1}{\sqrt{2}}\begin{bmatrix} 1 \\ 1 \end{bmatrix}=H\ket{{0}=\ket{+}$$
$$ \frac{1}{\sqrt{2}}\begin{bmatrix} 1 \\ -1 \end{bmatrix}=H\ket{{1}=\ket{-}$$
결과 상태는 블로흐 구의 $+x$ 및 $-x$ 방향의 단위 벡터에 해당합니다. 또한 이러한 상태는 $\ket{0}$ 및 $\ket{1}$의 합으로 Dirac 표기법을 사용하여 확장할 수 있습니다.
$$ \ket{+}=\frac{{1}{\sqrt{2}}(\ket{0} + \ket{1}) $$
$$ \ket{-} = \frac{1}{\sqrt{ {2}}(\ket{0} - \ket{1}) $$
계산 기준 벡터
모든 양자 상태는 항상 계산 기준 벡터의 합계로 표현될 수 있으며 이러한 합계는 Dirac 표기법을 사용하여 쉽게 표현됩니다. $\ket{+}$ 및 $\ket{-}$ 상태가 양자 상태의 기저를 형성한다는 점에서 정반대의 경우도 마찬가지입니다. 당신은 사실에서 이것을 볼 수 있습니다
$$ \ket{0} = \frac{1}{\sqrt{2}}(\ket{+} + \ket{-}) $$
$$ \ket{1} = \frac{1}{\sqrt{2}}(\ket{+} - \ket{-}) $$
Dirac 표기법의 예로, 0 $\braket{ 에서 1| 사이의 }$내부 제품인 브레이크 $0$$1$을 고려합니다. 이는 다음과 같이 작성될 수 있습니다.
$$ \braket{0 | 1 1 }=\begin{bmatrix}& amp; 0 \end{bmatrix}\begin{bmatrix}0\\ 1\end{bmatrix}=0. $$
이 예제에서는 $\ket{{0}$ 및 $\ket{{1}$이 직교 벡터임을 나타내며, 이는 $\braket{0 | 1}=\braket{1 | 0}=0$임을 의미합니다. 또한 정의상 $\braket{0 | 0}=\braket{1 | 1}=1$인데, 이 두 계산 기저 벡터를 정규 직교라고 할 수도 있습니다.
이러한 정수 속성은 다음 예제에서 사용됩니다. 상태가 $\ket{\psi}={\frac{3}{5}}\ket{{1} + {\frac{{4}{5}}\ket{0}$인 경우 $\braket{1 | 0}=0$이므로 $1$을 측정할 확률은 다음과 같습니다.
$$ \big|\braket{1 |\psi}\big|^2=\left|\frac{{3}{5}\braket{1 | 1} +\frac{{4}{5}\braket{1 | 0}\right|^2=\frac{{9}{{25}. $$
Tensor 제품 표기법
Dirac 표기법은 텐서 제품표현하는 데 매우 유용합니다. 두 개의 관계 없는 양자 레지스터에 의해 설명된 상태 벡터가 두 상태 벡터의 텐서 곱이기 때문에 텐서 제품은 양자 컴퓨팅에서 중요합니다.
두 양자 상태 벡터 $\phi$와 $\psi$의 텐서 곱 $\psi\otimes\phi$는 Dirac 표기법으로 $\ket{\psi}\otimes\ket{\phi}$로 작성됩니다. 관례적으로 텐서 곱을 $\ket{\psi}\ket{\phi}=\ket{\psi\phi}$로 작성할 수도 있습니다.
예를 들어 두 개의 큐비트가 0 상태로 초기화된 상태는 $\ket{{0}\otimes\ket{0}=\ket{0}\ket{0}=\ket{00}$.
예: Dirac 표기법을 사용하여 중첩 설명
Dirac 표기법을 사용하여 양자 상태를 설명하는 방법의 또 다른 예로, 길이 n의 가능한 모든 비트 문자열에 대해 동일한 $인 양자 상태를 작성하는 다음과 같은 방법을 고려합니다.$
$$ H^{\otimes n}\ket{0}=\frac{1}{2^{n/2}}\sum_{j=0}^{2^n-1}\ket{j}=\ket{+}^{\otimes n}. $$
여기서 n비트에서 합계가 0 $$ 에서 $2^{n-1 }$$$ 로 가는 이유가 궁금할 수 있습니다. 먼저는 $n{비트가 취할 수 있는 }$2^$n$개의 구성이 있습니다. 한 비트는 2개의 값을 사용할 $수 있지만 2$비트에서는 4$개의 값을 사용할 $수 있습니다. 일반적으로 이는 $2^n$개의 가능한 여러 비트 문자열이 있지만 이들 중 인코딩된 가장 큰 값은 $1\cdots 1=2^n-1$이며, 따라서 이것이 합계의 상한이 됩니다. 참고로, 이 예제에서는 $\ket{}^{\otimes n}=\ket{}$$\ket{{0}에 비유하여 {\otimes+}^= n\ket{+{0}$를 사용하지 않았습니다. 이 표기법 규칙은 모든 큐비트가 0으로 초기화된 계산 기준 상태에 대해 예약됩니다. 이 경우 이러한 규칙이 합리적이지만 양자 컴퓨팅 문헌에는 사용되지 않습니다.
Dirac 표기법이 있는 Express 선형성
Dirac 표기법의 또 다른 특징은 선형이라는 점입니다. 예를 들어 두 개의 복소수, $\alpha$ 및 $\beta$에 대해 다음과 같이 쓸 수 있습니다.
$$ \ket{\psi} \otimes ( \alpha\ket{\phi} + \beta\ket{\chi})=\alpha\ket{\psi}\ket{\phi} + \beta\ket{\psi}\ket{\chi}.$$
즉, Dirac 표기법으로 텐서 제품 표기법을 배포하여 상태 벡터 간에 텐서 제품을 복용하면 일반 곱셈처럼 보일 수 있습니다.
Bra 벡터는 ket 벡터와 유사한 규칙을 따릅니다. 예를 들어, $\bra{\psi}\bra{\phi}$ 벡터는 $\psi^\dagger\otimes\phi^\dagger=(\psi\otimes\phi)^\dagger$ 상태 벡터와 동등합니다. ket 벡터 $\ket{\psi}$가 $\alpha\ket{0} + \beta\ket{1}$인 경우 이 벡터의 bra 벡터 버전은 $\bra{\psi}=\ket{\psi}^\dagger= (\bra{{0}\alpha^* +\bra{1}\beta^*)$입니다.
예를 들어 상태 측정을 위한 양자 프로그램을 사용하여 $\ket{\psi}=\frac{3}{5}\ket{{1} + \frac{4}{5}\ket{0}$ 상태를 $\ket{+}$ 또는 $\ket{{-}$로 측정할 확률을 계산하려 한다고 가정합니다. 그러면 디바이스에서 상태가 $\ket{-}$라고 출력할 확률은
$$|\braket{- |\psi}|^2=\left|\frac{{1}{\sqrt{{2}}(\bra{0} - \bra{{1})(\frac{3}{5}\ket{{1} + \frac{{4}{5}\ket{0}) \right|^2=\left|-\frac{3}{5\sqrt{{2}} + \frac{{4}{5\sqrt{2}}\right|^2=\frac{{1}{{50}.$$
확률 계산에 음수 기호가 나타나는 사실은 양자 간섭의 징후이며, 이는 양자 컴퓨팅이 기존 컴퓨팅보다 이점을 얻는 메커니즘 중 하나입니다.
케트브라 또는 외부 제품
Dirac 표기법에서 논의할 가치가 있는 마지막 항목은 케트브라 또는 외부 제품입니다. 외부 제품은 Dirac 표기법 내에 $\ket{\psi}\bra{\phi}$표시됩니다. 외적은 행렬 곱셈을 통해 양자 상태 벡터 $\ket{\psi} 및 \bra{\phi}에 대해 =\psi\phi\dagger$$\psi$^$\phi$로 정의됩니다. 이 표기법의 가장 간단하고 가장 일반적인 예는 다음과 같습니다.
$$ \ket{0} \bra{ {0} = \begin{bmatrix}1\\ 0 \end{bmatrix}\begin{bmatrix}1& 0 \end{bmatrix}=\begin{bmatrix}1 & 0\\ 0 & 0\end{bmatrix}\qquad\ket{1}\bra{1}=\begin{bmatrix}0\\ 1 \end{bmatrix}\begin{bmatrix}0& 1 \end{bmatrix}=\begin{bmatrix}0 & 0\\ 0 & 1\end{bmatrix}. $$
Ketbra는 고정 값에 양자 상태를 프로젝션하기 때문에 종종 프로젝터라고 합니다. 이러한 연산은 유니터리가 아니며 벡터의 노름을 보존하지 않으므로 양자 컴퓨터가 프로젝터를 결정적으로 적용할 수 없습니다. 그러나 프로젝터는 측정이 양자 상태에 대해 수행하는 작업을 잘 설명합니다. 예를 들어 $\ket{\psi}$0$으로 $ 상태를 측정하는 경우 상태가 측정 결과로 경험하는 변환은 다음과 같습니다.
$$\ket{\psi} \right화살표 \frac{(\ket{{0}\bra{{0})\ket{\psi}}{|\braket{0 |\psi}|}=\ket{{0},$$
상태를 측정하고 $\ket{0}$있는 경우 예상한 것과 같습니다. 다시 말해, 이러한 프로젝터는 양자 컴퓨터의 상태에 결정적으로 적용할 수 없습니다. 대신 결과 $\ket{0}$이 고정된 특정 확률과 함께 표시되는 상황에서 무작위로 적용될 수는 있습니다. 이러한 측정 성공 확률은 상태에서 양자 프로젝터의 예상 값으로 작성될 수 있습니다.
$$ \bra{\psi} (\ket{0}\bra{0})\ket{\psi}=|\braket{\psi| 0}|^2, $$
이는 프로젝터가 측정 프로세스를 표현하는 새로운 방법을 제공한다는 것을 보여 줍니다.
대신, 다중 큐비트 상태의 첫 번째 비트를 $1$로 측정하는 것을 고려하는 경우에는 이 프로세스를 프로젝터 및 Dirac 표기법을 사용하여 편리하게 설명할 수도 있습니다.
$$P(\text{first qubit = 1})=\bra{\psi}\left(\ket{{1}\bra{{1}\otimes \mathbf{\mathbf{1}^{\otimes n-1}\right) . \ket{\psi} $$
여기서 ID 매트릭스는 Dirac 표기법으로 편리하게 작성할 수 있습니다.
$$ \mathbb{I}=\ket{{0}\bra{0}+\ket{{1}\bra{1}=\begin{bmatrix}1& 0\\ 0& 1 \end{bmatrix}. $$
두 개의 큐비트가 있는 경우에는 프로젝터를 다음과 같이 확장할 수 있습니다.
$$ \ket{1} \bra{1} \otimes \mathbb{I}=\ket{{1}\bra{1}\otimes (\ket{0}\bra{0}+\ket{1}\bra{{1})=\ket{10}\bra{{10} + . \ket{{11}\bra{{11} $$
그러면 이것이 열 벡터 표기법을 사용한 다중 큐비트 상태의 측정 가능성에 대한 논의와 일치한다는 것을 알 수 있습니다.
$$ P(\text{첫 번째 큐비트 = 1})=\psi^\dagger (e_{10}e_{10}^\dagger + e_{{11}e_{{11}^\dagger)\psi=|e_{{10}^\dagger\psi|^2 + |e_{11}^\dagger\psi|^2, $$
다중 큐비트 측정 토론과 일치합니다. 그러나 다중 큐비트 사례에 대한 이 결과의 일반화는 열 벡터 표기법보다 Dirac 표기법을 사용하여 표현하는 것이 약간 더 간단하며 이전 처리와 완전히 동일합니다.
밀도 연산자
Dirac 표기법을 사용해 표현하는 데 또 다른 유용한 연산자는 상태 연산자라고도 하는 밀도 연산자입니다. 양자 상태 벡터로서 밀도 연산자는 시스템의 양자 상태를 설명합니다. 양자 상태 벡터는 순수 상태만 나타낼 수 있지만 밀도 연산자는 혼합 상태를 나타낼 수도 있습니다.
보다 일반적으로 지정된 행렬 $\rho$는 다음 조건이 충족되는 경우 유효한 밀도 연산자입니다.
- $\rho$는 복소수 행렬입니다.
- $\rho = \rho^{\dagger}$(즉, $\rho$는 Hermitian임)
- \rho$의 $모든 eigenvalue $p$는 음수가 아닌 경우
- $\rho$의 모든 고윳값 합계는 1입니다.
함께 이러한 조건은 $\rho$를 앙상블로 생각할 수 있음을 보장합니다. 양자 상태 벡터 $\ket{\psi}$에 대한 밀도 연산자는 $\rho =\sum_i p_i \ket{\psi_i}\bra{\psi_i}$ 형식을 사용하며 $\rho$의 고유 값 분해입니다. 그런 다음 $\rho$는 확률 $ p_i =의 앙상블 {\rho \ket{\psi}\text{_i}}$을 설명합니다.
순수한 양자 상태는 단일 ket 벡터 또는 파동 함수를 특징으로 하는 상태이며 다른 양자 상태의 통계적 혼합(또는 볼록 조합)으로 작성할 수 없습니다. 혼합 양자 상태는 순수 상태의 통계적 앙상블입니다.
블로흐 구에서 순수 상태는 구 표면의 한 점으로 표현되는 반면 혼합 상태는 내부 지점으로 표시됩니다. 단일 큐비트의 혼합 상태는 구의 중심에서 대칭으로 표시됩니다. 상태의 순도는 구의 표면에 가까운 정도로 시각화할 수 있습니다.
상태를 벡터가 아닌 행렬로 나타내는 이 개념은 확률 계산을 나타내는 편리한 방법을 제공하고 동일한 형식주의 내에서 통계 불확실성과 양자 불확실성을 모두 설명할 수 있기 때문에 종종 편리합니다.
밀도 연산자 $\rho$는 다음 경우에만 순수 상태를 나타냅니다.
- $\rho$는 상태 벡터 $\rho=\ket{\psi}\bra{\psi}$의 외적으로 쓸 수 있습니다.
- $\rho =\rho^2$
- $tr(\rho^2)=1$
지정된 밀도 연산자 $\rho$가 순수에 얼마나 가까운지 알기 위해 $\rho^2$의 추적(즉, 대각선 요소의 합)를 볼 수 있습니다. 밀도 연산자는 $tr(\rho ^{2})=1$인 경우에만 순수 상태를 나타냅니다.
Q# 양자 상태에 해당하는 게이트 시퀀스
양자 표기법 및 Q# 프로그래밍 언어에 대한 마지막 요지로서, 이 문서의 시작 부분에서 양자 상태는 양자 컴퓨팅에서 정보의 기본적인 개체라고 설명한 바 있습니다. 그러므로 Q#에는 양자 상태에 대한 개념이 없다는 사실에 놀랄 수 있습니다. 대신 모든 상태는 준비하는 데 사용되는 작업에서만 설명됩니다. 이전 예제는 이에 대한 훌륭한 그림입니다. 레지스터의 모든 양자 비트 문자열에 대해 균일한 중첩을 표현하는 대신, 결과를 $H^{\otimes n}\ket{0}$으로 나타낼 수 있습니다. 이 기하급수적으로 짧은 상태 설명은 클래식 방식으로 추론할 수 있는 장점이 있을 뿐만 아니라 알고리즘을 구현하기 위해 소프트웨어 스택을 통해 전파되는 데 필요한 연산도 간결하게 정의합니다. 이러한 이유로 양자 Q# 상태가 아닌 게이트 시퀀스를 내보내도록 설계되지만 이론적 수준에서는 두 관점이 동일합니다.