The new Qiskit Textbook beta is now available. Try it out now
量子回路

目次

  1. 導入
  2. 量子回路とは何か?
  3. 例: 量子テレポーテーション
  4. 例: 変分量子固有値ソルバー
  5. なぜ部分的に古典なのか?

1. 導入

これまでに、様々な単一量子ビットゲート複数量子ビットゲートを見てきました。また、これらのゲートを他の部品と組み合わせて量子回路を構築する方法も見てきました。

量子アルゴリズムを実装するために量子回路を構築するので、実際の量子コンピューターに量子アルゴリズムを実装する前に、具体的に量子回路の定義を強調しておきます。

2. 量子回路とは何か?

量子回路とは、 量子データ(量子ビットなど)に対するコヒーレントな量子演算と、リアルタイム同時古典計算 で構成される計算ルーチンのことです。量子回路は、 量子ゲート測定リセット の順序立てられたシーケンスであり、これらはすべてリアルタイム古典計算のデータを使用した条件付ゲートが作用することがあります。

量子データの任意のユニタリ変換が、集合内のゲートのシーケンスと同様に任意に効率的に近似できる場合、量子ゲートの集合はユニバーサル(普遍的)であると言われています。任意の量子プログラムは、量子回路と非連続古典計算のシーケンスで表現することができます。

3. 量子テレポーテーション

以下の量子回路を見てください 次の章では量子テレポーテーションアルゴリズムの実装を学びます。今のところ,量子回路の構成要素を見れば十分です。

Quantum Teleportation Labeled

量子回路は3つの量子ビットと2つの古典ビットを使っています。この量子回路には主に4つのコンポーネントがあります。

初期化とリセット

まず、量子状態を定義して量子計算を開始する必要があります。これは、初期化とリセット操作を使用して実現されます。リセットは単一量子ゲートと、測定によって目的の状態を正常に作成できたかどうかをモニターするリアルタイムの古典的な同時計算の組み合わせによって実行することができます。$q_0$から所望の状態$\vert\psi\rangle$への初期化には次に単一量子ビットゲートを適応します。

量子ゲート

第二に、テレポーテーションアルゴリズムで必要とされるように、3つの量子ビットを操作する一連の量子ゲートを適用します。この場合、1量子ビットのアダマールゲート($H$)と2ビットの制御Xゲート($\oplus$)を適用するだけでよいです。

測定

第三に、3つの量子ビットのうち2つの量子ビットを測定します。古典コンピューターは、各量子ビットの測定値を古典的な結果(0と1)として解釈し、2つの古典ビットに格納します。

古典条件付ゲート

第四に、3番目の量子ビットに単一量子ビットゲートの$Z$と$X$を適用します。これらのゲートは、2つの古典ビットに格納されている各測定結果が1の場合それぞれ作用します。この場合、古典計算の結果を、同じ量子回路内でリアルタイムに同時使用しています。

4.例: 変分量子固有値ソルバー

ここに量子プログラムの例を示します。次の章では、このプログラムが変分量子固有値ソルバーを実装していることを説明します。このプログラムでは、古典的なコンピューターと量子コンピューターが 非並行 に動作します.

Variational Quantum Eigensolver Labeled

量子ブロック

上記の例1と同様に、単一量子ビットゲートと複数量子ビットゲートを用いたリセット処理の組み合わせにより、量子状態$\vert\Psi(\theta)\rangle$を準備します。ここでは、状態のパラメーターは$\theta$で設定されます。一度準備された量子状態は、量子ゲートを使って操作され、測定されます。量子ブロック内のすべての操作は量子回路で構成されています。

古典ブロック

量子状態が測定されると、古典コンピューターは、測定結果を解釈し、目的のアプリケーションのために選択されたコスト関数を使用して、そのコストを計算します。このコストに基づいて、古典的なコンピューターは、パラメーター$\theta$の別の値を決定します。

処理の組み合わせ

古典的なコンピューターが次のパラメーター$\theta$を決定すると、一連のリセットと単一量子ビットゲート、複数量子ビットゲートを量子回路で使用して$\vert\Psi(\theta)\rangle$を準備し、このプロセスは測定された量子状態のコストが安定するまで、または別の事前に定められた結果と合致するまで続けられます。

5. なぜ部分的に古典なのか?

ユニバーサルな量子コンピューターは古典的なコンピューターができることは何でもできますが、量子状態は壊れやすいので、量子回路に古典的な部分を追加することがよくあります。

量子ビットを測定すると、その状態が崩れ、多くの情報が破壊されてしまいます。測定は情報を破壊するだけなので、理論的には常に最後に測定すれば計算上の優位性を失うことはありません。実際には、早期に測定することで、多くの実用的な利点が得られます。

例えば、テレポーテーション回路では、量子チャネルの代わりに古典チャネルで情報を送ることができるように、量子ビットを測定しています。量子チャネルを作成するのが非常に難しいため、量子情報を他の人に送信する方法がない一方で、古典的なチャネルは非常に安定しています。

変分量子固有値ソルバーの例では、計算をより小さな量子計算に分割することで、計算上の優位性が失われますが、ノイズの多いハードウェアでは、量子ビットの重ね合わせ時間を減らすことで、その分を補うことができます。これは、干渉が結果に不正確さをもたらす可能性が低いことを意味します。

最後に、量子計算の結果を古典的な日常の世界で使うためには、計算の最後にこれらの状態を測定して解釈する必要があります。