サイクルからの記事:
はじめに
ご存じのように、量子コンピューティングのアイデアは、1981年に最初の会議「Physics of Computing」( Feynman、1982-馴染みのために推奨)でのレポートの中で、リチャードファインマンによって紹介されました。 報告書の中で、ファインマンは古典的なコンピューターを使用した複雑な量子システムのモデリングに伴う多くの困難を考慮し、次の仮定を提示しました。量子システムを確実にモデル化するためには、量子コンピューターの作成に努める必要があります。
それ以来、量子コンピューティングの分野は非常にダイナミックに発展しました。 これで、スケーラブルな量子コンピューターの実際の物理的な実装に近づきました(これについては、以下の出版物で詳しく説明します)。
古典的なコンピューターと量子コンピューターの最も基本的な違いは、ビットの実装です。 ビット(生まれたビット、「2進数」-2進数の略)-デジタルデータの最小単位。 ある時点での古典的なビットは、0または1の2つの値のいずれかのみを取ることができます。量子ビット(qubit)は、量子力学の法則に従うため、状態0と1の重ね合わせになります。
これらの古典的な状態0および1は、ディラック表記| 0〉および| 1〉に対応し、キュービット状態の式は次のようになります。 。
ここに -正規化要件に対応する複素数値係数 (これは、これら2つの状態のいずれかでキュービットを検出する確率が100%であり、他の状態でそれを検出する確率が0%であることを意味します)。
以来 、波動関数|ψ〉は次のように書き換えることができます。
結局のところ、グローバルフェーズ 実験の結果に影響しないため、無視できます。 ただし、ローカルフェーズ 残り、波動関数は次の形式を取ります。
この形式で記述したので、Bloch球を使用して、視覚的な形式で状態| 0〉と| 1〉の重ね合わせを表示できます。
これで、波動関数のユニタリ変換|ψ〉は、球の表面に沿った点の単純な変位(|ψ〉で表される)として表すことができます。 たとえば、状態|ψ〉 = | 0〉は、z軸上の点に対応し、図では| 0〉として示されます。 残念ながら、この視覚的表現は1キュービット状態にのみ適しています。マルチキュービットシステムの一般化はまだ発明されていません。 この一連の記事では、Blochの分野に戻ります。
重ね合わせとエンタングルメントの現象により、古典的なコンピューティングシステムを使用して、量子コンピューターを使用して特定の操作を(現代の概念に従って)可能な限り高速に実行できます。 そのような操作の例は、数値の数値への因数分解( Shor、1997 )および非構造化データの検索( Grover、1997 )です。 さらに、これらのユニークな量子力学的特徴のおかげで、たとえば量子暗号化など、科学と技術のまったく新しい分野が登場します( Bennett&Brassard、1984 )。 次のセクションでは、そのようなシステムに適用される要件を検討します。
*重ね合わせとは、量子システムの状態が1つのキュービットの可能な状態の確率分布によって記述される現象です。たとえば、 。 エンタングルメントの状態では、2つ以上のキュービット(または、より一般的な場合、自由度)が必要です。 アインシュタインはこの現象を「離れた場所での恐ろしい行動」と表現しました。2つの粒子の相互接続で、粒子間の距離や物理的障壁に関係なく、一方の操作が他方の状態に影響を与える可能性があります(ただし、超光速での情報送信の禁止は有効です) ) エンタングルメントの状態の例は、ベルの状態です。
量子コンピューターの5つの要件(および2つの追加)
2008年、David Divincenzoは、システムがスケーラブルな量子コンピューターと見なされるために満たさなければならない5つの条件( 1996年の記事の改訂版です)を策定しました。 これらの条件を、この一連の出版物でのさらなる議論の基礎として使用します。 以下に、一般的な表現を示します(詳細については、元の記事で説明しています)。
1.物理システムはスケーラブルでなければならず、キュービットの状態がわかっている必要があります
量子コンピューターは、複雑な計算に十分な量のキュービットのセットの増加を許可する必要があります。 「説明」は、システムの他の部分との特性および相互作用がよく知られているキュービットです。
2.量子コンピューターは、単純な初期状態(たとえば| 000 ...>)でキュービットセットを確実に準備できるようにする必要があります。
計算の開始までに、システムは単純でよく知られた状態になっているはずです。 システムをこの単純な初期状態に再編成(初期化)できない場合、コンピューターとはまったく見なされません。
3.システムは、量子ビットで操作を実行するのに十分な耐久性を備えている必要があります
さまざまな理由により(たとえば、外部システムとの相互作用のため)、システムとその未知の制御されていない環境との間の不要な相互作用が現れるため、キュービットシステムを「デコード」する前に十分な準備状態を維持することは困難です。 量子システムのデコヒーレンス後、量子ビット(0および1)の測定結果は、量子分布ではなく、統計分布によって記述されます。 量子演算によってデコードされた状態を復元することは不可能です。 したがって、システムがデコヒーレント状態になる期間は、バルブの操作を実行するのに必要な時間よりもはるかに長くする必要があります。
4.システムは、バルブの「ユニバーサルセット」の実装を許可する必要があります。
ゲートの普遍的なセットは、量子計算を実行するのに十分と呼ばれます。 最低限必要な一連の操作は次のとおりです。単一キュービットをブロッホ球上の任意のポイントに移動し(単一キュービットゲートを使用)、システムコンポーネントを交絡させます(これには複数キュービットゲートが必要です)。 たとえば、ユニバーサルセットには、アダマールバルブ、位相シフトバルブ、CNOTバルブ、π⁄8バルブが含まれます。 彼らの助けを借りて、キュービットの任意のセットで任意の量子計算を実行できます。
5.システムは、個々のキュービットの測定をサポートする必要があります。
個々のキュービットの最終状態を読み取ることで、計算の結果を取得できる必要があります。
量子通信に関する追加の要件が2つあります-それらは量子情報の処理に関連しています。
- システムには、静止(計算)量子ビットの形式で保存されたデータをネットワーク(送信)量子ビット(光子など)に、またはその逆に確実に変換する機能が必要です。
- システムは、エンドポイント間でネットワークキュービットを正しく送信できる必要があります。
現在、イオントラップ、フォトニックキュービット、トポロジカルキュービットなど、量子コンピューティングのいくつかの物理モデルについて活発な研究が進行中です。 。
将来の出版物では、これらの潜在的な量子コンピューターのいくつかを調べますが、最初に量子ゲートと回路図に精通する必要があります。 それらは私の次の記事の主題になります。 またね!
追加のリソース
- GitHubの著者ページ 。
- 著者の個人的なブログ 。
- LinkedInに投稿されました 。
- Microsoft Quantum 。
- Microsoft Quantum開発キット 。
- Microsoft Quantumブログ
- 量子コンピューターQubit(Quantum Daily)の世界からのニュースを掲載したStas Pavlovの電報チャンネル。
- 次のDotNextイベント(サンクトペテルブルク、4月22〜23日)、スピーカーRolf Huisman(Microsoft MVP)は、 Microsoft Q#を使用した.NETでの量子コンピューターのプログラミングを報告しています 。