Path: blob/main/translations/ja/ch-states/single-qubit-gates.ipynb
4073 views
単一量子ビットゲート
前のセクションでは、量子ビットが存在する可能性のあるすべての状態を調べました。量子ビットは2次元ベクトルで表すことができ、その状態は次の形式に制限されていることがわかりました。
および は実数です。このセクションでは、これらの状態間で量子ビットを変更する操作である ゲート について説明します。ゲートの数とゲート間の類似性のため、この章は単調になる危険性があります。 これを回避するため、章全体の適切な場所に重要な考え方を紹介するいくつかの余談を含めました。
計算の原子では、いくつかのゲートに出会い、それを使用して古典的な計算を実行しました。量子回路の重要な特徴は、量子ビットを初期化してから測定するまでの間で、演算(ゲート)が常に可逆的であることです。これらの可逆ゲートは、行列として、およびブロッホ球の周りの回転として表すことができます。
備忘
量子コンピューティングでは、基底ベクトルで行列を書くことができます。
これは、行列を使用するよりも明確な場合があります。さまざまな乗算の結果を確認できるためです。
実際、次のようにケットとブラが乗算されているのを見てみます。
これは外積と呼ばれ、次のルールに従います。
We can see this does indeed result in the X-matrix as seen above:
Qiskitでは、これを検証するための短い回路を作成できます。
上記の結果を見てみましょう。 注意 ここでは、ブロッホベクトルの代わりに量子ビットの状態ベクトルを取る plot_bloch_multivector() を使用しています。
Qiskitでは、次の方法でYゲートとZゲートを回路に適用できます。
備忘:
量子ビットがまたはにあるとき、Zゲートが量子ビットに影響を与えないように見えることもあります。これは、状態およびがZゲートの2つの 固有状態 であるためです。 実際、 計算基底 (状態およびによって形成される基底)は、Z基底と呼ばれることがよくあります。 Z基底は、私たちが使用できる唯一の基底ではありません。そのほかの基底として一般的なものは、Xゲートの固有状態によって形成されるX基底です。X基底の2つのベクトルをおよびと呼びます。
あまり一般的ではないもう1つの基底は、Yゲートの固有状態によって形成されるものです。 それは次のように記述されます。
これらの計算は演習として残しておきます。実際には、基底は無限に存在し、1つを形成するには、2つの直交ベクトルが必要です。エルミート行列とユニタリー行列の両方の固有ベクトルはベクトル空間の基底を形成します。この特性により、XゲートとYゲートの固有状態が実際に単一量子ビット状態の基底を形成していることを確認できます(これについては、付録の線形代数のページを参照してください)。
練習問題
およびが実際にXゲートの固有状態であることを確認してください。
上の状態は、どのような固有値を持っていますか。
Yゲートの固有状態と、ブロッホ球上の座標を見つけてください。
パウリゲートのみを使用すると、初期化された量子ビットをまたは以外の状態に移動することはできません。つまり、重ね合わせを行うことはできません。これは、従来のビットと異なる動作が見られないことを意味します。より興味深い状態を作成するには、より多くのゲートが必要になります。
3.アダマールゲート
アダマールゲート(Hゲート)は基本的な量子ゲートです。これにより、ブロッホ球の極から離れて、との重ね合わせを作成できます。それは以下のような行列です。
これにより、以下の変換が実行されることがわかります。
この変換は、ブロッホベクトル [1,0,1](x軸とz軸の間の線)を中心とする回転、またはXとZの基底間の量子ビットの状態の変換と考えることができます。
以下のウィジェットを使用して、これらのゲートを体感してみてください。
練習問題
Hゲートをベクトル、、および の外積として記述してください。
Sゲートを連ねたHZHを任意の量子ビット状態に適用することは、Xゲートを適用することと同等であることを示してください。
Yゲート(グローバルフェーズを無視)と同等のX、Z、Hゲートの組み合わせを見つけてください。
4. 余談: 異なる基底での測定
Z軸は本質的に特別なものではなく、他にも無限に多くの基底があることがわかりました。 測定と同様に、常に計算ベース(Z基底)で測定する必要はなく、任意の基底で量子ビットを測定できます。
例として、X基底で測定してみましょう。またはを測定する確率を計算できます。
そして測定をすると重ね合わせは破壊されます。 QiskitではZ基底での測定しか許可されていないため、アダマールゲートを使用して独自のゲートを作成する必要があります。
前の練習問題では2つのHゲートの間にZゲートを挟むことでXゲートを作成できることを確認しました。
Z基底から始めて、Hゲートは量子ビットをX基底に切り替え、ZゲートはX基底でNOTを実行し、最後のHゲートは量子ビットをZ基底に戻します。行列を乗算することで、これが常にXゲートのように動作することを確認できます。
$$ HZH = \tfrac{1}{\sqrt{2}} \tfrac{1}{\sqrt{2}}
同じロジックに従って、測定前にX基底からZ基底に変換することでX測定を作成しました。測定プロセスはシステムによって異なる影響を与える可能性があるため(たとえば、一部のシステムは測定後に常に量子ビットをに戻しますが、他のシステムは測定状態のままにする場合があります)、量子ビットの測定後の状態は未定義であり、再度使用する場合はリセットする必要があります。
アダマールゲートが実際にZ基底からX基底に移動する理由を確認する別の方法があります。 X基底で測定したい量子ビットが(正規化された)状態にあると仮定します。 X基底で測定するために、最初に状態を and の線形結合として表現します。およびという関係を使用することで、状態はになります。 X基底の確率振幅は、Z基底で表される状態ベクトルにアダマール行列を適用することで取得できることに注意してください。
結果を見てみましょう。
量子ビットを状態で初期化しましたが、測定後、量子ビットを状態に戻したことがわかります。セルを再度実行すると、同じ結果が表示されます。これは、X基底の上では、状態が基底状態であり、Xに沿って測定すると常に同じ結果が得られるためです。
練習問題
量子ビットを状態で初期化する場合、状態が測定される確率はどれくらいですか?
Qiskitを使用して、と の状態で量子ビットを測定する確率を表示してください。(ヒント:
.get_counts()およびplot_histogram()を使用することができます。)Y基底で測定する関数を作成してみてください。
さまざまな基底で測定することで、ハイゼンベルクの有名な不確実性原理を確認することができます。 Z基底で状態を測定する確実性があると、X基底で特定の状態を測定する確実性がすべて失われ、その逆も同様です。 よくある誤解は、不確実性は機器の制限によるものであるというものですが、ここでは不確かさが実際に量子ビットの性質の一部であることがわかります。
たとえば、量子ビットを状態にした場合、Z基底での測定はであることが確実ですが、X基底での測定は完全にランダムです! 同様に、量子ビットを状態にした場合、X基底での測定はであることが確実ですが、Z基底での測定は完全にランダムになります。
より一般的には、 量子システムの状態がどのようなものであっても、特定の結果をもたらす測定が常に存在します。
Hゲートの導入により、いくつかの興味深い現象を探ることができましたが、量子操作にはまだ非常に制限があります。 ここで、新しいタイプのゲートを紹介しましょう。
5.Pゲート
Pゲート(位相ゲート)はパラメーター化されています。つまり、ゲートに振る舞いを伝えるには、数値()が必要です。 Pゲートは、Z軸方向を中心にの回転を実行する行列形式です。
ここで、 は実数です。
以下のウィジェットを使用してPゲートを試して、スライダーを使用して を指定できます。
Qiskitでは、 p(phi, qubit)を使用してPゲートを指定します。
ZゲートはPゲートの特殊なケースであり、であることに気付くかもしれません。実際にこの章で言及する、より一般的に参照される3つのゲートがあります。これらはすべて、Pゲートの特殊なケースです。
6. I、S、Tゲート
6.1 Iゲート
まずIゲート(別名「Idゲート」または「Identityゲート」)があります。 これは単に何もしないゲートです。 その行列は単位行列です。
回路内の任意の場所にIゲートを適用しても、量子ビットの状態には影響がないため、これは何もしないゲートと見なすこともできます。 このゲートの存在理由は主に2つの理由があります。1つは、計算でよく使用されるためです。たとえば、Xゲートが自分自身の逆行列であることを証明します。
2つ目は、実際のハードウェアを検討するときに、「何もしない」または「なし」の操作を指定することがしばしば役立つためです。
練習問題
Iゲートの固有状態は何でしょうか。
6.2 Sゲート
次のゲートはSゲート(ゲートとも呼ばれます)です。これはのPゲートです。ブロッホ球の周りを4分の1回転します。これまでこの章で紹介したすべてのゲートとは異なり、Sゲートの大切な点は自身の逆行列と等しくないことです。その結果、S†ゲート(「S-dagger」、「Sdg」、またはゲート)はしばしば見かけるでしょう。 S† ゲートは明らかに のPゲートです。
「ゲート」という名前は、2つの連続して適用されたSゲートが1つのZゲートと同じ効果を持つという事実によるものです。
この表記法は、量子計算全体で共通です。
QiskitでSゲートを追加するには、
以下のウィジェットを使用して、この章でこれまでに紹介したすべてのゲートを試すことができます。
このことから明らかに、取り得るゲートの数は無限であり、ここでは言及されていませんが、これにはRxゲートとRyゲートも含まれています。また、標準の計算基準として採用されていることを除いて、Z基底について特別なことは何もないことにも注意する必要があります。 Qiskitは、SおよびSdgゲートと同等のX、つまりそれぞれSXゲートおよびSXdgゲートも提供しています。これらのゲートは、ブロック球の周りのX軸に対して1/4回転し、Rxゲートの特殊なケースです。
実際のIBM量子ハードウェアで実行する前に、すべての単一量子ビット操作は、、、およびにコンパイルされます。このため、これらのゲートは物理ゲートと呼ばれることもあります。
8.追加のリソース
コミュニティで作成されたチートシートには、いくつかの一般的な量子ゲートとその性質がここ記載されています。