単一および複数量子ビットの Pauli 測定演算

を使用 Q#すると、 Pauli の測定値 が一般的な測定の種類であることがわかります。 Pauli の測定値は、計算ベースの測定値を一般化して、他の基底の測定値と、異なる量子ビット間のパリティを含めます。 このような場合は、X、Y、Z、Z $$\otimes Z\otimes、X X、X\otimes Y$ などの$演算子である Pauli 演算子の測定について説明するのが一般的です。 量子測定の基本については、「 量子ビット 」と「 複数の量子ビット」を参照してください。

パウリ演算子の観点から測定を議論することは、量子誤差補正のサブフィールドで一般的です。
Q# ガイドでは、同様のやり方に従います。この記事では、この測定の別の見方について説明します。

ヒント

Q# では、複数量子ビット Pauli 演算子は一般に Pauli[] 型の配列によって表されます。 たとえば、$X \otimes Z \otimes Y$ を表すには、配列 [PauliX, PauliZ, PauliY] を使用します。

Pauli 測定の考え方を詳しく検討する前に、量子コンピューター内の単一量子ビットを測定することで量子の状態がどうなるかについて考えることをお勧めします。 $n$-量子ビットの量子状態を想像してみましょう。1 つの量子ビットを測定することで、すぐに、その状態が取り得る $2^n$ 個の可能性の半分が排除されます。 言い換えると、測定することで、量子状態は 2 つの半空間のうちの一方に投影されます。 測定に関する考え方を一般化して、この直感を反映させることができます。

これらのサブ空間を簡潔に特定するためには、それらを説明するための言語が必要です。 2 つのサブ空間を記述する 1 つの方法が、これらを指定する際に一意の固有値を 2 つだけ持つ行列を使用する方法です。固有値は、慣例によって、$\pm 1$ とします。 サブ空間をこのようにして記述する簡単な例として、$Z$ を考えてみましょう。

$$\begin{\begin{align} Z &および =\begin{bmatrix} 1 & 0 \\ 0 & -1 \end{bmatrix}。 \end{align} $$

Pauli $Z$ 行列の対角線成分を読み取ることによって、$Z$ には、対応する固有値 $\pm 1$ を持つ 2 つの固有ベクトル $\ket{0}$ と $\ket{1}$ があることを確認できます。 したがって、量子ビットZeroの測定値が(状態$\ket{0}$に対応する)になる場合、量子ビットの状態は$Z$演算子の$+1$固有状態であることが知られている。 同様に、結果が の場合、 One量子ビットの状態が $Z の -1$ 固有状態 $であることがわかります$。 このプロセスは、Pauli 測定の言語では "Pauli $Z$ の測定" と呼ばれ、計算基底の測定を行うことと完全に同等です。

$2\times 2$ 行列が $Z$ のユニタリ変換である場合も、この条件を満たします。 つまり、行列 $A=U^\dagger Z U$ ($U$ が他のユニタリ行列) を使用して、測定の 2 つの結果をその $\pm 1$ 固有ベクトルで定義する行列を提供することもできます。 Pauli 測定の表記は、このユニタリ等価性を参照する際に、$X,Y,Z$ 測定を、量子ビットから情報を得るために行うことができる同等の測定であると見なします。 これらの測定値は便宜上ここに示されています。

Pauli 測定 ユニタリ変換
$Z$ $\mathbf{1}$
$X$ $H$
$Y$ $HS^{\dagger}$

つまり、この言語&を使用して quot。measure $Y$" は HS^\dagger$ を$適用し、計算ベースで測定することと同じです。ここでS、 は量子と呼ばれる&組み込み量子演算です。位相ゲート、&量子、および はユニタリ 行列を使用してシミュレートできます

$$\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#、結果---状態との対話から抽出された古典的な情報は---結果が測定された Pauli 演算子の (-1)^j$ 固有空間にある$かどうかを示す値 $j \in \{\texttt{Zero,One}}\texttt{\}$ を使用してResult指定されます。

複数量子ビット測定

複数量子ビット Pauli 演算子の測定も、以下のように同様に定義されています。

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

したがって、2 つの Pauli-$Z$ 演算子のテンソル積が形成する行列は、$+1$ と $-1$ の固有値からなる 2 つの空間で構成されます。 単一量子ビットの場合と同様に、どちらも半空間を占めており、アクセス可能なベクトル空間の半分が $+1$ 固有空間に属し、残りの半分が $-1$ 固有空間に属していることを意味します。 一般に、テンソル積の定義から、Pauli-$Z$ 演算子と恒等式のテンソル積もこれに従うことが容易にわかります。 たとえば、次のように入力します。

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

前述のように、このような行列のユニタリ変換では、\pm 1$ 固有値で$ラベル付けされた 2 つの半空間も記述されています。 たとえば、$X\otimes X = H\otimes H(Z\otimes Z)H\otimes H$ は $Z=HXH$ という恒等式から得られます。 1 量子ビットの場合と同様に、4 4$\times ユニタリ 行列 $U に対して$、2 量子ビット Pauli 測定はすべて U^\dagger (Z\otimes 1) U$$ として$記述できます。 これらの変換が次の表に列挙されています。

Note

この表では、$\operatorname{SWAP}$ を使用してマトリックス\begin{align}$$\operatorname{ SWAP&}amp; =\left(\begin{マトリックス} 1 & 0 & 0 & 0 \\ 0 & 0 & 1 & 0 \\ 0 & 1 & 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 演算が現れるのは、次の理由によります。 行列を含まない各 Pauli 測定は、以前の$\mathbf{1}$推論によって Z\otimes Z$ に対する$ユニタリに相当します。 固有値の $Z\otimes Z$ が唯一依存する量子ビットのパリティは各計算基底 ベクトルで構成され、制御 NOT 演算はこのパリティを計算して最初のビットに格納する役割をします。 次に、最初のビットを測定した後、結果としての半空間の同一性を回復することができ、これは Pauli 演算子の測定と等しくなります。

また、Z Z\otimes の測定は、Z を順次測定してから Z\otimes\mathbb{{1}$ を測定$$する場合と同じであると$\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 つあるため、両方の測定を実行すると状態が 4 分の 1 空間に縮小され、それにより計算基底ベクトルが 1 つに減ります。

量子ビット間の相関関係

$X\otimes X$ や $Z\otimes Z$ のような Pauli 行列のテンソル積を測定することは、これらの測定を使用して 2 つの量子ビットの相関関係に格納された情報を見ることができるという見方もできます。 X\otimes 1$ を測定$すると、最初の量子ビットにローカルに格納されている情報を確認できます。 どちらの種類の測定も量子コンピューティングでは同じように有益ですが、前者は量子コンピューティングの能力に焦点を当てています。 量子コンピューティングでは、あなたが知りたいと望む情報は 1 つの量子ビットに格納されているのではなく、すべての量子ビットに非局所的に同時に格納されていることが多く、合同測定 (たとえば $Z\otimes Z$) によって初めてその情報が明らかになることがわかります。

$X\otimes Y \otimes Z \otimes\mathbf{1}$ のような任意の Pauli 演算子も測定できます。 このような Pauli 演算子のすべてのテンソル積が 2 つの $\pm 1$ 固有値しか持っておらず、両方の固有空間がベクトル空間全体の半空間を構成します。 したがって、これらは前述の要件と一致します。

Q# で、このような測定が $j$ を返すのは、測定によって記号 $(-1)^j$ の固有空間で結果が得られた場合です。 パウリ測定を組み込みの特徴Q#として持つことは、このような演算子を測定するには、制御された NOT ゲートの長いチェーンと、Z$ と $1$ のテンソル積$として操作を表現するために必要な斜めの $U$ ゲートを記述するための基礎変換が必要であるために役立ちます。 これらの定義済みの測定の一方を実行したいと指定できることで、基底を変換して計算基底測定によって必要な情報が得られるようにする方法について気にする必要がなくなります。 Q# が、必要なすべての基底変換を自動的に処理します。

量子複製不可能定理

量子情報は強力です。 これにより、最もよく知られている古典的アルゴリズムよりも指数関数的に素早く因子数などの驚くべきことを行ったり、正確にシミュレートするために指数コストを古典的に必要とする相関電子システムを効率的にシミュレートしたりできます。 しかし、量子コンピューティングの能力には制限があります。 そうした制限の 1 つは "量子複製不可能定理" に由来します。

量子複製不可能定理は、その名のとおりです。 これは、量子コンピューターによる一般的な量子状態の複製を不可能とするものです。 この定理の証明は、非常に明快です。 複製しない定理の完全な証明は、この記事では技術的すぎますが、追加の補助量子ビットがない場合の証拠は範囲内です。

このような量子コンピューターの場合、複製操作はユニタリ 行列で記述する必要があります。 量子の測定を禁じているのは、これにより複製する量子状態が破損してしまうからです。 複製演算をシミュレートするには、使用されるユニタリ行列に、任意の状態 $\ket{\psi}$ に対して $$ U \ket{\psi}\ket{{0}=\ket{\psi}\ket{\psi}$$ とするプロパティを設定する必要があります。 行列乗算の線形性の特性が次に示すのは、2 番目のあらゆる量子状態 $\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( (\ket{\phi}{2}}\left\frac{1}{\sqrt{+\ket{\psi}\right) \right)。 \end{align} $$

これにより、量子複製不可能定理の背後にある基本的な直観が示されます。つまり、不明な量子状態をコピーするあらゆるデバイスが、コピーする状態の少なくともいくつかで必ずエラーを誘発するということです。 複製側が入力状態で線形的に影響するという重要な前提は補助量子ビットの追加と測定によって破られることがありますが、そうした相互作用によって、システムに関する情報が測定統計を通じて漏出することになり、そうした場合にも正確な複製ができなくなります。

量子複製不可能定理は、量子コンピューティングの定性的な理解にとって重要です。その理由は、量子状態の複製が安価にできてしまうと、量子状態から魔法のように知ることができしまうからです。 実際に、ハイゼンベルグの有名な不確定性原理を破る可能性があります。 また、最適な複製作成を使用して、複雑な量子分布からサンプルを 1 つだけ取り出して、そのサンプルからその分布について知りうるすべてのことを知ることもできます。 これは、コインをひっくり返して頭を観察し、友人に彼らに量子を応答&させる結果について話すようなものです。Ahそのコインの分布は、p=0.512643\ldots$で$ベルヌーイでなければなりません!&Quot;このようなステートメントは無意味です。これは、1 ビットの情報 (ヘッドの結果) が、分布をエンコードするために必要な多くのビットの情報を、実質的な事前情報なしで提供できないためです。 同様に、事前情報がなければ、量子状態を完全に複製することができないのは、$p$ を知ることなくそうしたコインのアンサンブルを準備できないのと同じです。

量子コンピューティングでは、情報は自由ではありません。 量子ビットが測定されるごとに 1 ビットの情報が得られ、量子複製不可能定理は、システムに関して得られる情報と、その際に起こる混乱との間の根本的なトレードオフを回避するために利用できるバックドアがないことを示しています。

次の手順