단일 및 다중 큐비트 Pauli 측정 연산

을 Q#사용할 때 Pauli 측정은 일반적인 유형의 측정값이라는 것을 알 수 있습니다. Pauli 측정은 다른 베이스의 측정값과 서로 다른 큐비트 간의 패리티를 포함하도록 계산 기준 측정을 일반화합니다. 이러한 경우 X, Y, Z 또는 $Z$\otimes Z\otimes\otimes, X X, X Y$ 등과 같은 $연산자인 Pauli 연산자 측정에 대해 논의하는 것이 일반적입니다. 양자 측정의 기본 사항에 대해서는 큐비트다중 큐비트를 참조하세요.

Pauli 연산자의 관점에서 측정을 논의하는 것은 양자 오류 수정의 하위 필드에서 일반적입니다.
Q# 가이드는 비슷한 규칙을 따릅니다. 이 문서에서는 측정의 대체 보기에 대해 설명합니다.

Q#에서 다중 큐비트 Pauli 연산자는 일반적으로 Pauli[] 형식의 배열로 표시됩니다. 예를 들어 $X \otimes Z \otimes Y$를 나타내려면 [PauliX, PauliZ, PauliY] 배열을 사용할 수 있습니다.

Pauli 측정을 고려하는 방식을 자세히 살펴보기 전에 양자 컴퓨터 내에서 단일 큐비트 측정이 양자 상태에 어떤 영향을 주는지 알아보면 도움이 됩니다. $n$ 큐비트 양자 상태를 가정하고 한 개의 큐비트를 측정하면 상태가 포함될 수 있는 $2^n$ 가능성 중 절반이 바로 배제됩니다. 즉, 측정은 양자 상태를 두 개의 반 공간 중 하나로 프로젝션합니다. 측정에 대해 생각하는 방식을 일반화하여 이러한 직관을 반영할 수 있습니다.

이러한 하위 공간을 간결하게 식별하려면 설명하기 위한 언어가 필요합니다. 두 개의 하위 공간을 설명하는 한 가지 방법은 $\pm 1$이 되는 규칙에서 사용하는, 두 개의 고유한 고유 값만 있는 행렬을 통해 지정하는 것입니다. 이렇게 하위 공간을 설명하는 간단한 예제는 $Z$를 살펴보세요.

$$\begin{\begin{align} Z & =\begin{bmatrix} 1 & 0 \\ 0 & -1 \end{bmatrix}. \end{align} $$

Pauli-$Z$ 행렬의 대각선 요소를 읽으면 $Z$에는 두 개의 고유 벡터 $\ket{0}$ 및 $\ket{1}$이 있고 해당 고유 값은 $\pm 1$임을 알 수 있습니다. 따라서 큐비트를 측정하면(상태에 $\ket{0}$해당) 큐비 Zero 트의 $상태가 Z$ 연산자의 +1$ 고유 상태$인 것으로 알려져 있습니다. 마찬가지로 결과가 One인 경우 큐비트의 상태는 Z$의 -1$ 고유 상태$인 $것으로 알려져 있습니다. 이 프로세스는 Pauli 측정 언어로 "Pauli $Z$ 측정"이라고 하며 계산 기저 측정을 수행하는 것과 완전히 동일합니다.

$Z$의 유니터리 변환인 $2\times 2$ 행렬도 이 조건을 충족합니다. 즉, $A=U^\dagger Z U$ 행렬도 사용할 수 있습니다. 여기서 $U$는 다른 모든 유니터리 행렬로, $\pm 1$ 고유 벡터에서 측정의 두 가지 결과를 정의하는 행렬을 제공합니다. Pauli 측정의 표기법은 $X,Y,Z$ 측정을 큐비트에서 정보를 얻기 위해 수행하는 것과 동일한 측정으로 식별하여 이 유니터리 등가를 참조합니다. 이러한 측정은 편의를 위해 여기에 제공됩니다.

Pauli 측정 유니터리 변환
$Z$ $\mathbf{1}$
$X$ $H$
$예$ $HS^{\dagger}$

즉, 이 언어를 사용하여 따옴표로 &묶습니다. measure $Y$" 는 HS^\dagger$를 적용한 $다음 계산 기준으로 측정하는 것과 같습니다. 여기서 S 은 따옴표라고도 하는 &내장 양자 연산입니다. phase gate,quot&; 및 는 유니터리 행렬을 사용하여 시뮬레이션할 수 있습니다.

$$\begin{\begin{align}S =1 amp; 0 \\ 0 & i \end{bmatrix}.&\begin{bmatrix} \end{align} $$

또한 $HS^\dagger$를 양자 상태 벡터에 적용한 다음, $Z$를 측정하는 것과 동일하며 다음 연산은 Measure([PauliY], [q])와 같습니다.

operation MeasureY(qubit : Qubit) : Result {
    mutable result = Zero;
    within {
        Adjoint S(q);
        H(q);
    } apply {
        set result = M(q);
    }
    return result;
}

그런 다음, SH를 양자 상태 벡터에 적용하는 계산 기준으로 다시 변환하여 $$ 올바른 상태를 찾습니다. 코드 조각에서는 블록을 사용하여 within … apply 계산 기준으로 변환이 자동으로 처리됩니다.

에서 Q#result---that는 결과가 측정된 Pauli 연산자의 (-1)^j$ 고유 영역에 있는지 여부를 나타내는 j \in \{\texttt{Zero}, \texttt{One}\}$ 값을 $사용하여 Result 지정된 state---is와 상호 작용하여 추출된 클래식 정보입니다$.

다중 큐비트 측정

다중 큐비트 Pauli 연산자의 측정은 다음과 같이 유사하게 정의됩니다.

$$ Z\otimes Z =\begin{bmatrix}1 & 0 & 0& 0\\ 0&-1& 0& 0\\ 0& 0&-1& 0\\ 0& 0& 0& 1\end{bmatrix}. $$

따라서 두 Pauli-$Z$ 연산자의 텐서곱은 o$+1$ 및 $-1$ 고유 값으로 구성된 두 공간으로 이루어진 행렬을 만듭니다. 단일 큐비트와 마찬가지로 둘 다 반 공간을 구성합니다. 즉, 액세스 가능한 벡터 공간의 절반은 $+1$ 고유 공간에 속하고 나머지 절반은 $-1$ 고유 공간에 속합니다. 일반적으로 Pauli-$Z$ 연산자의 텐서곱과 항등식도 이 규칙을 따른다는 텐서곱 정의를 통해 쉽게 확인할 수 있습니다. 예를 들면 다음과 같습니다.

$$\begin{align}Z \otimes=\mathbf{\begin{bmatrix}{1}1 & 0 & 0 & 0 0 \\& 1 & 0 & 0 \\ 0 & 0 & -1 & 0 0 \\& 0 & 0 & -1 .\end{bmatrix} \end{align} $$

이전과 마찬가지로 이러한 행렬의 단일 변환은 \pm 1$ 고유값으로 $레이블이 지정된 두 개의 반공간도 설명합니다. 예를 들어 $Z=HXH$인 항등식의 $X\otimes X = H\otimes H(Z\otimes Z)H\otimes H$입니다. 1큐비트 사례와 마찬가지로, 모든 2큐비트 Pauli-measurements는 4 4\times$개의 유니터리 행렬 U에 대해 $U^\dagger(Z\otimes 1) U$$로 $작성될 수 있습니다$. 다음 표에는 변환이 열거되어 있습니다.

참고

이 표에서 $\operatorname{SWAP은 행렬\operatorname{\begin{align}$$ SWAP}&}$ amp를 나타내는 데 사용됩니다. =\left(\begin{행렬} 1 & 0 & 0 & 0 \\ 0 && 1 & 0 \\ 0 & 0 amp; 0 & 0 & 0 \\ 0 & 0 & 0 & 1 \end{행렬}\right)$$\end{align}내장 연산SWAP을 시뮬레이션하는 데 사용됩니다.

Pauli 측정 유니터리 변환
$Z\otimes\mathbf{1}$ $\mathbf{1}\otimes \mathbf{1}$
$X\otimes\mathbf{1}$ $H\otimes\mathbf{1}$
$Y\otimes\mathbf{1}$ $HS^\dagger\otimes\mathbf{1}$
$\mathbf{1}\otimes Z$ $\operatorname{SWAP}$
$\mathbf{1}\otimes X$ $(H\otimes\mathbf{1})\operatorname{SWAP}$
$\mathbf{1}\otimes Y$ $(HS^\dagger\otimes\mathbf{1})\operatorname{SWAP}$
$Z\otimes Z$ $\operatorname{CNOT}_{10}$
$X\otimes Z$ $\operatorname{CNOT}_{10}(H\otimes\mathbf{1})$
$Y\otimes Z$ $\operatorname{CNOT}_{10}(HS^\dagger\otimes\mathbf{1})$
$Z\otimes X$ $\operatorname{CNOT}_{10}(\mathbf{1}\otimes H)$
$X\otimes X$ $\operatorname{CNOT}_{10}(H\otimes H)$
$Y\otimes X$ $\operatorname{CNOT}_{10}(HS^\dagger\otimes H)$
$Z\otimes Y$ $\operatorname{CNOT}_{10}(\mathbf{1}\otimes HS^\dagger)$
$X\otimes Y$ $\operatorname{CNOT}_{10}(H\otimes HS^\dagger)$
$Y\otimes Y$ $\operatorname{CNOT}_{10}(HS^\dagger\otimes HS^\dagger)$

여기에서 CNOT 연산은 다음과 같은 이유로 표시됩니다. 행렬을 포함하지 $\mathbf{1}$ 않는 각 Pauli 측정값은 이전 추론에 의해 Z Z\otimes$에 $대한 유니터리까지 동일합니다. $Z\otimes Z$의 고유 값만 각 계산 기저 벡터를 구성하는 큐비트의 패리티에 종속되며, 제어된 NOT 연산은 이 패리티를 계산하고 첫 번째 비트에 저장하는 데 사용됩니다. 첫 번째 비트를 측정한 다음에는 Pauli 연산자 측정과 동일한 결과 반 공간의 항등식을 복구할 수 있습니다.

또한 Z Z 측정이 순차적으로 Z 및$\otimes$\mathbb{1}Z$\otimes를 측정하는 $$\otimes\mathbb{{1}$ 것과 동일하다고 가정할 수 있지만 이 가정은 false입니다. 그 이유는 $Z\otimes Z$ 측정이 양자 상태를 이러한 연산자의 $+1$ 또는 $-1$ 고유 상태로 프로젝션하기 때문입니다. $Z\otimes\mathbb{1}$와 $\mathbb{1}\otimes Z$를 차례로 측정하면 양자 상태 벡터를 먼저 $Z\otimes\mathbb{{1}$ 공간의 처음 반에 프로젝션한 다음, $\mathbb{{1}\otimes Z$의 반에 프로젝션합니다. 4개의 계산 기저 벡터가 있으므로 두 측정을 수행하면 상태가 1/4 공간으로 줄어들기 때문에 단일 계산 기저 벡터로 축소됩니다.

큐비트 간의 상관 관계

$X\otimes X$ 또는 $Z\otimes Z$와 같은 Pauli 행렬의 텐서곱 측정을 확인하는 또 다른 방법은 이러한 측정을 통해 두 큐비트 간 상관관계에 저장된 정보를 확인하는 것입니다. X\otimes 1$을 $측정하면 첫 번째 큐비트에 로컬로 저장된 정보를 볼 수 있습니다. 양자 컴퓨팅에서는 두 측정 형식이 동일하게 중요하지만 전자는 양자 컴퓨팅의 강력한 기능을 보여 줍니다. 양자 컴퓨팅에서는 확인하려는 정보가 단일 큐비트에 저장되지 않고 동시에 모든 큐비트에 로컬이 아닌 방식으로 저장되므로 공동 측정(예: $Z\otimes Z$)을 통해 확인하는 경우에만 이 정보가 매니페스트가 됨을 보여 줍니다.

$X\otimes Y \otimes Z \otimes\mathbf{1}$ 같은 임의 Pauli 연산자도 측정할 수 있습니다. Pauli 연산자의 이러한 모든 텐서곱에는 두 개의 고유 값 $\pm 1$만 있으며 두 고유 공간은 전체 벡터 공간의 반 공간을 구성합니다. 따라서 앞에서 설명한 요구 사항과 일치합니다.

Q#에서 측정이 $(-1)^j$ 기호의 고유 공간에 결과를 생성하는 경우 이러한 측정은 $j$를 반환합니다. Pauli 측정을 기본 제공 기능 Q# 으로 사용하는 것은 이러한 연산자를 측정하려면 Z$ 및 1$의 텐서 제품으로 작업을 표현하는 데 필요한 대각선 $U$ 게이트를 설명하기 위해 제어-NOT 게이트 및 $기본 변환의 $긴 체인이 필요하기 때문에 유용합니다. 이렇게 미리 정의된 측정 중 하나를 수행하도록 지정할 수 있으면 계산 기저 측정에서 필요한 정보를 제공하도록 기저를 변환하는 방법을 걱정하지 않아도 됩니다. Q#에서는 필요한 모든 기저 변환을 자동으로 처리합니다.

비 복제 정리

양자 정보는 매우 효과적입니다. 이를 통해 가장 잘 알려진 클래식 알고리즘보다 지수적으로 빠르게 계수와 같은 놀라운 작업을 수행하거나, 정확하게 시뮬레이션하기 위해 기하급수적 비용이 필요한 상호 관련된 전자 시스템을 효율적으로 시뮬레이션할 수 있습니다. 그러나 양자 컴퓨팅의 기능에는 제한이 있습니다. 이러한 제한은 ‘비 복제 정리’를 통해 지정됩니다.

비 복제 정리라는 이름은 적절하게 지정되었으며, 양자 컴퓨터에 의한 일반 양자 상태의 복제를 허용하지 않습니다. 정리의 증명은 매우 간단합니다. 복제되지 않는 정리에 대한 완전한 증거는 이 문서에 대해 너무 기술적이지만 추가 보조 큐비트가 없는 경우 증명은 scope 내에 있습니다.

이러한 양자 컴퓨터의 경우 복제 작업은 유니터리 행렬을 사용하여 설명해야 합니다. 복제할 양자 상태가 손상되기 때문에 양자 측정이 허용되지 않습니다. 복제 연산을 시뮬레이션하기 위해 사용되는 유니터리 행렬은 $\ket{\psi}$ 상태에 대해 $$ U \ket{\psi}\ket{{0}=\ket{\psi}\ket{\psi}$$ 속성이 있어야 합니다. 행렬 곱셈의 선형 속성은 두 번째 양자 상태 $\ket{\phi}$에 대해 다음을 의미합니다.

$$\begin{\begin{align}U \left[ \frac{{1}{\sqrt{{2}}\left(\ket{\phi}+\ket{\psi}\right) \right] \ket{{0}& =\frac{1}{\sqrt{2}} U\ket{\phi}\ket{{0} + \frac{1}{\sqrt{{2}} U\ket{\psi}\ket{0}\\& =\frac{1}{\sqrt{2}}\left( \ket{\phi}\ket{\phi} + \ket{\psi}\ket{\psi}\right) \\& \ne\left( \frac{{2}}\left{1}{\sqrt{(\ket{\phi}+\ket{\psi}\right) \right) \otimes\left( \frac{1}{\sqrt{{2}}\left(\ket{\phi}+\ket{\psi}\right) \right). \end{align} $$

이는 비 복제 정리의 배경이 되는 기본 직관을 제공합니다. 즉, 알 수 없는 양자 상태를 복사하는 디바이스는 복사하는 일부 상태에서 오류를 유도해야 합니다. 보조 큐비트의 추가 및 측정을 통해 복제기가 입력 상태에서 선형으로 작동한다는 주요 가정을 위반할 수 있으며, 이러한 상호 작용은 측정 통계를 통해 시스템에 대한 정보를 누출하고 이러한 경우 정확한 복제를 방지하기도 합니다.

양자 상태를 적은 비용으로 복제할 수 있는 경우 양자 상태에서 배울 수 있는 마법과 같은 기능이 제공되기 때문에 비 복제 정리는 양자 컴퓨팅을 정성적으로 이해하는 데 중요합니다. 실제로 하이젠베르크의 뛰어난 불확실성 원칙을 위반할 수 있습니다. 또는 최적의 복제기를 사용하여 복잡한 양자 분포에서 단일 샘플을 가져오고 단 하나의 샘플에서 해당 분포에 대해 알아볼 수 있는 모든 사항을 배울 수 있습니다. 이것은 당신이 동전을 뒤집고 머리를 관찰한 다음 친구에게 그들이 따옴표로 응답&하는 결과에 대해 말하는 것과 같습니다. 아, 그 동전의 분포는 p=0.512643\ldots$와 $베르누울리해야합니다!&Quot; 이러한 문은 한 비트의 정보 (헤드 결과)가 상당한 사전 정보없이 배포를 인코딩하는 데 필요한 많은 정보를 제공 할 수 없기 때문에 무의미할 것입니다. 마찬가지로 $p$를 모르면 동전의 앙상블을 준비할 수 없기 때문에 사전 정보가 없으면 양자 상태를 완벽하게 복제할 수 없습니다.

양자 컴퓨팅에서는 정보가 무료가 아닙니다. 측정된 각 큐비트는 단일 정보를 제공하고, 비 복제 정리는 시스템에 대해 얻은 정보와 시스템에서 호출된 방해 요인 간의 기본적인 균형을 방지하기 위해 악용할 수 있는 백도어가 없음을 보여 줍니다.

다음 단계