(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-07-19
(54)【発明の名称】トラップイオン量子コンピュータにおける同時もつれゲートによる量子回路構築
(51)【国際特許分類】
G06N 10/40 20220101AFI20240711BHJP
G06F 7/38 20060101ALI20240711BHJP
【FI】
G06N10/40
G06F7/38 510
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2023580995
(86)(22)【出願日】2022-07-11
(85)【翻訳文提出日】2024-02-21
(86)【国際出願番号】 US2022036715
(87)【国際公開番号】W WO2023022812
(87)【国際公開日】2023-02-23
(32)【優先日】2021-07-12
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2022-07-11
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】520132894
【氏名又は名称】イオンキュー インコーポレイテッド
(71)【出願人】
【識別番号】509303349
【氏名又は名称】ユニバーシティー オブ メリーランド
(74)【代理人】
【識別番号】100120891
【氏名又は名称】林 一好
(74)【代理人】
【識別番号】100165157
【氏名又は名称】芝 哲央
(74)【代理人】
【識別番号】100205659
【氏名又は名称】齋藤 拓也
(74)【代理人】
【識別番号】100126000
【氏名又は名称】岩池 満
(74)【代理人】
【識別番号】100185269
【氏名又は名称】小菅 一弘
(72)【発明者】
【氏名】グルゼシアク ニコデム
(72)【発明者】
【氏名】マクシモフ アンドリイ
(72)【発明者】
【氏名】ニロウラ プラディープ
(72)【発明者】
【氏名】ナム ユンソン
(57)【要約】
古典的コンピュータ、システムコントローラ、及び量子プロセッサを備えるイオントラップ量子コンピューティングシステムを使用して計算を実行する方法であって、1つ以上の効率的な任意同時もつれ(EASE)ゲートを使用して、選択されたゲート操作のセットを実装する回路を古典的コンピュータによって計算するステップと、量子プロセッサ上に計算された回路をシステムコントローラによって実装するステップと、量子プロセッサ内のキュービット状態の母集団をシステムコントローラによって測定するステップと、量子プロセッサにおいて測定されたキュービット状態の母集団を古典的コンピュータによって出力するステップと、を含む、方法。
【選択図】
図9
【特許請求の範囲】
【請求項1】
古典的コンピュータ、システムコントローラ、及び量子プロセッサを備えるイオントラップ量子コンピューティングシステムを使用して計算を実行する方法であって、
1つ以上の効率的な任意同時もつれ(EASE)ゲートを使用して、選択されたゲート操作のセットを実装する回路を前記古典的コンピュータによって計算するステップと、
前記量子プロセッサ上に計算された前記回路を前記システムコントローラによって実装するステップと、
前記量子プロセッサ内のキュービット状態の母集団を前記システムコントローラによって測定するステップと、
前記量子プロセッサにおいて測定された前記キュービット状態の母集団を前記古典的コンピュータによって出力するステップと
を含む、方法。
【請求項2】
前記選択されたゲート操作のセットが、1つ以上の制御Zゲートの層を含み、その各々が、前記量子プロセッサ内のn個のキュービットのうちのキュービットのペアに適用され、
計算された前記回路が、単一のEASEゲート及び単一キュービットゲートを含む、
請求項1に記載の方法。
【請求項3】
前記選択されたゲート操作のセットが、1つ以上の制御NOTゲートの層を含み、その各々が、前記量子プロセッサ内のn個のキュービットのうちのキュービットのペアに適用され、
計算された前記回路が、2n個のEASEゲート及び単一キュービットゲートを含む、
請求項1に記載の方法。
【請求項4】
前記選択されたゲート操作のセットが、1つ以上の制御NOTゲートの層を含み、その各々が、前記量子プロセッサ内のn個のキュービットのうちのキュービットのペアに適用され、
計算された前記回路が、n/2個の補助キュービットを使用する、6logn個のEASEゲート及び単一キュービットゲートを含む、
請求項1に記載の方法。
【請求項5】
前記選択されたゲート操作のセットが、前記量子プロセッサ内のn個のキュービットに作用する多重制御NOTゲートを含み、
計算された前記回路が、3n/2個のEASEゲート及び単一キュービットゲートを含む、
請求項1に記載の方法。
【請求項6】
前記選択されたゲート操作のセットが、前記量子プロセッサ内のn個のキュービットに作用するキュービット置換ゲートを含み、
計算された前記回路が、n個の補助キュービットを使用する、12個のEASEゲート及び単一キュービットゲートを含むか、又はn個の補助キュービットを使用しない、18個のEASEゲート及び単一キュービットゲートを含む、
請求項1に記載の方法。
【請求項7】
前記選択されたゲート操作のセットが、前記量子プロセッサ内のn個のキュービットに作用する制御置換ゲートを含み、
計算された前記回路が、O(1)個のEASEゲート及び単一キュービットゲートを含む、
請求項1に記載の方法。
【請求項8】
n個のキュービットを含む量子プロセッサであって、各キュービットが、2つの超微細状態を有するトラップイオンを含む、量子プロセッサと、
前記量子プロセッサ内のトラップイオンに提供される、レーザビームを照射するように構成された1つ以上のレーザと、
古典的コンピュータであって、
1つ以上の効率的な任意同時もつれ(EASE)ゲートを使用して、選択されたゲート操作のセットを実装する回路を計算するステップ
を含む操作を実行するように構成された古典的コンピュータと、
前記1つ以上のレーザを制御するための制御プログラムを実行して前記量子プロセッサ上で、
前記量子プロセッサ上に計算された前記回路を実装するステップと、
前記量子プロセッサ内のキュービット状態の母集団を測定するステップと
を含む操作を実行するように構成されたシステムコントローラと
を備え、
前記古典的コンピュータが、前記量子プロセッサにおいて測定された前記キュービット状態の母集団を出力するようにさらに構成される、
イオントラップ量子コンピューティングシステム。
【請求項9】
前記選択されたゲート操作のセットが、1つ以上の制御Zゲートの層を含み、その各々が、前記量子プロセッサ内のn個のキュービットのうちのキュービットのペアに適用され、
計算された前記回路が、単一のEASEゲート及び単一キュービットゲートを含む、
請求項8に記載のイオントラップ量子コンピューティングシステム。
【請求項10】
前記選択されたゲート操作のセットが、1つ以上の制御NOTゲートの層を含み、その各々が、前記量子プロセッサ内のn個のキュービットのうちのキュービットのペアに適用され、
計算された前記回路が、2n個のEASEゲート及び単一キュービットゲートを含む、
請求項8に記載のイオントラップ量子コンピューティングシステム。
【請求項11】
前記選択されたゲート操作のセットが、1つ以上の制御NOTゲートの層を含み、その各々が、前記量子プロセッサ内のn個のキュービットのうちのキュービットのペアに適用され、
計算された前記回路が、n/2個の補助キュービットを使用する、6logn個のEASEゲート及び単一キュービットゲートを含む、
請求項8に記載のイオントラップ量子コンピューティングシステム。
【請求項12】
前記選択されたゲート操作のセットが、前記量子プロセッサ内のn個のキュービットに作用する多重制御NOTゲートを含み、
計算された前記回路が、3n/2個のEASEゲート及び単一キュービットゲートを含む、
請求項8に記載のイオントラップ量子コンピューティングシステム。
【請求項13】
前記選択されたゲート操作のセットが、前記量子プロセッサ内のn個のキュービットに作用するキュービット置換ゲートを含み、
計算された前記回路が、n個の補助キュービットを使用する、12個のEASEゲート及び単一キュービットゲートを含むか、又はn個の補助キュービットを使用しない、18個のEASEゲート及び単一キュービットゲートを含む、
請求項8に記載のイオントラップ量子コンピューティングシステム。
【請求項14】
前記選択されたゲート操作のセットが、前記量子プロセッサ内のn個のキュービットに作用する制御置換ゲートを含み、
計算された前記回路が、O(1)個のEASEゲート及び単一キュービットゲートを含む、
請求項8に記載のイオントラップ量子コンピューティングシステム。
【請求項15】
古典的コンピュータと、
n個のキュービットを含む量子プロセッサであって、各キュービットが、2つの超微細状態を有するトラップイオンを含む、量子プロセッサと、
1つ以上のレーザを制御するための制御プログラムを実行して前記量子プロセッサ上で操作を実行するように構成されたシステムコントローラと、
内部に記憶された、いくつかの命令を有する不揮発性メモリと
を備える、イオントラップ量子コンピューティングシステムであって、前記命令が、1つ以上のプロセッサによって実行されると、前記イオントラップ量子コンピューティングシステムに、
1つ以上の効率的な任意同時もつれ(EASE)ゲートを使用して、選択されたゲート操作のセットを実装する回路を前記古典的コンピュータによって計算するステップと、
前記量子プロセッサ上に計算された前記回路を前記システムコントローラによって実装するステップと、
前記量子プロセッサ内のキュービット状態の母集団を前記システムコントローラによって測定するステップと、
前記量子プロセッサにおいて測定された前記キュービット状態の母集団を前記古典的コンピュータによって出力するステップと
を含む操作を実行させる、イオントラップ量子コンピューティングシステム。
【請求項16】
前記選択されたゲート操作のセットが、1つ以上の制御Zゲートの層を含み、その各々が、前記量子プロセッサ内のn個のキュービットのうちのキュービットのペアに適用され、
計算された前記回路が、単一のEASEゲート及び単一キュービットゲートを含む、
請求項8に記載のイオントラップ量子コンピューティングシステム。
【請求項17】
前記選択されたゲート操作のセットが、1つ以上の制御NOTゲートの層を含み、その各々が、前記量子プロセッサ内のn個のキュービットのうちのキュービットのペアに適用され、
計算された前記回路が、2n個のEASEゲート及び単一キュービットゲートを含む、
請求項8に記載のイオントラップ量子コンピューティングシステム。
【請求項18】
前記選択されたゲート操作のセットが、1つ以上の制御NOTゲートの層を含み、その各々が、前記量子プロセッサ内のn個のキュービットのうちのキュービットのペアに適用され、
計算された前記回路が、n/2個の補助キュービットを使用する、6logn個のEASEゲート及び単一キュービットゲートを含む、
請求項8に記載のイオントラップ量子コンピューティングシステム。
【請求項19】
前記選択されたゲート操作のセットが、前記量子プロセッサ内のn個のキュービットに作用する多重制御NOTゲートを含み、
計算された前記回路が、3n/2個のEASEゲート及び単一キュービットゲートを含む、
請求項8に記載のイオントラップ量子コンピューティングシステム。
【請求項20】
前記選択されたゲート操作のセットが、前記量子プロセッサ内のn個のキュービットに作用するキュービット置換ゲートを含み、
計算された前記回路が、n個の補助キュービットを使用する、12個のEASEゲート及び単一キュービットゲートを含むか、又はn個の補助キュービットを使用しない、18個のEASEゲート及び単一キュービットゲートを含む、
請求項8に記載のイオントラップ量子コンピューティングシステム。
【発明の詳細な説明】
【技術分野】
【0001】
(政府の権利)
本発明は、アメリカ国立標準技術研究所によって与えられた70NANB16H168の下で政府支援によりなされた。政府は本発明において一定の権利を有する。
【0002】
本開示は、概して、イオントラップ量子コンピュータにおいて計算を実行する方法に関し、より具体的には、効率的な任意同時もつれ(efficient arbitrary simultaneous entangling:EASE)ゲートを使用して量子回路を構築する方法に関する。
【背景技術】
【0003】
量子コンピュータは、古典的コンピュータが実行できることと比較して、特定の計算タスクのパフォーマンスを向上させることが示されている。従来、このような計算タスクを実行するために使用される量子アルゴリズムは、順次実行される単一キュービットゲート(single-qubit gates)及び2キュービットゲートを含む、ユニバーサルゲートのセットによってコンパイルされてきた。しかしながら、現在存在する利用可能な様々な量子コンピューティングアーキテクチャであっても、従来のコンピューティングで使用される単一命令複数データ(SIMD)処理に類似した同時(並列)計算は活用されておらず、そのため、要求される計算時間よりも長い時間がかかる。
【0004】
したがって、効率的な量子計算を実行するための並列処理の方法が必要とされている。
【発明の概要】
【0005】
本開示の実施形態は、古典的コンピュータ、システムコントローラ、及び量子プロセッサを備えるイオントラップ量子コンピューティングシステムを使用して計算を実行する方法を提供する。この方法は、1つ以上の効率的な任意同時もつれ(EASE)ゲートを使用して、選択されたゲート操作のセットを実装する回路を古典的コンピュータによって計算するステップと、量子プロセッサ上に計算された回路をシステムコントローラによって実装するステップと、量子プロセッサ内のキュービット状態の母集団をシステムコントローラによって測定するステップと、量子プロセッサにおいて測定されたキュービット状態の母集団を古典的コンピュータによって出力するステップとを含む。
【0006】
本開示の実施形態はまた、イオントラップ量子コンピューティングシステムを提供する。イオントラップ量子コンピューティングシステムは、キュービットを含む量子プロセッサであって、各キュービットが、2つの超微細状態を有するトラップイオンを含む、量子プロセッサと、量子プロセッサ内のトラップイオンに提供される、レーザビームを照射するように構成された1つ以上のレーザと、古典的コンピュータと、システムコントローラとを備える。古典的コンピュータは、1つ以上の効率的な任意同時もつれ(EASE)ゲートを使用して、選択されたゲート操作のセットを実装する回路を計算するステップを含む操作を実行するように構成される。システムコントローラは、1つ以上のレーザを制御するための制御プログラムを実行して量子プロセッサ上で操作を実行するように構成され、その操作は、量子プロセッサ上に計算された回路を実装するステップと、量子プロセッサ内のキュービット状態の母集団を測定するステップとを含む。古典的コンピュータは、量子プロセッサにおいて測定されたキュービット状態の母集団を出力するようにさらに構成される。
【0007】
本開示の実施形態は、イオントラップ量子コンピューティングシステムをさらに提供する。イオントラップ量子コンピューティングシステムは、古典的コンピュータと、キュービットを含む量子プロセッサであって、各キュービットが、2つの超微細状態を有するトラップイオンを含む、量子プロセッサと、内部に記憶された、いくつかの命令を有する不揮発性メモリと、1つ以上のレーザを制御するための制御プログラムを実行して量子プロセッサ上で操作を実行するように構成されたシステムコントローラと、内部に記憶された、いくつかの命令を有する不揮発性メモリとを備える。このいくつかの命令は、1つ以上のプロセッサによって実行されると、イオントラップ量子コンピューティングシステムに、1つ以上の効率的な任意同時もつれ(EASE)ゲートを使用して、選択されたゲート操作のセットを実装する回路を古典的コンピュータによって計算するステップと、量子プロセッサ上に計算された回路をシステムコントローラによって実装するステップと、量子プロセッサ内のキュービット状態の母集団をシステムコントローラによって測定するステップと、量子プロセッサにおいて測定されたキュービット状態の母集団を古典的コンピュータによって出力するステップと、を含む操作を実行させる。
【図面の簡単な説明】
【0008】
本開示の上記特徴を詳細に理解することができるように、上で簡単に要約された本開示のより具体的な記載は、実施形態を参照することによって説明することができ、そのいくつかを添付の図面に示す。しかしながら、添付の図面は、本開示の典型的な実施形態のみを例示しており、その範囲を限定すると見なされるべきではないことに留意されたい。なぜなら、本開示は、他の同等に有効な実施形態を認めることができるからである。
【0009】
【
図1】一実施形態に従うイオントラップ量子コンピュータの部分図である。
【
図2】一実施形態に従って、イオンを鎖に閉じ込めるためのイオントラップの概略図を示す。
【
図3】一実施形態に従って、トラップイオンの鎖内の各イオンの概略エネルギー図を示す。
【
図4】
図4A、
図4B、及び
図4Cは、5つのトラップイオンの鎖のいくつかの概略的な集合横運動モード構造を示す。
【
図5】
図5A及び
図5Bは、一実施形態に従って、各イオンの運動側波帯スペクトル及び運動モードの概略図を示す。
【
図6】一実施形態に従って、n個のキュービットに作用するCZゲート層を実装する回路を構築するために使用される方法を示すフローチャートを示す。
【
図7】一実施形態に従って、補助キュービットなしで、n個のキュービットに作用するCNOTゲート層を実装する回路を構築するために使用される方法を示すフローチャートを示す。
【
図8】一実施形態に従って、n/2個の補助キュービットありで、n個のキュービットに作用するCNOTゲート層を実装する回路を構築するために使用される方法を示すフローチャートを示す。
【
図9】一実施形態に従って、n個のキュービット(n=5,6)に作用するC
n-1Zゲートを実装する回路を構築するために使用される方法を示すフローチャートを示す。
【
図10】一実施形態に従って、2
n個の補助キュービットを使用してn個のキュービットに作用するC
n-1Zゲートを実装する回路を構築するために使用される方法を示すフローチャートを示す。
【
図11】一実施形態に従って、n個のキュービットに作用するキュービット置換ゲートを実装する回路を構築するために使用される方法を示すフローチャートを示す。
【
図12】一実施形態に従って、n個のキュービットに作用する制御SWAPゲートを実装する回路を構築するために使用される方法を示すフローチャートを示す。
【0010】
理解を容易にするために、可能な場合には、図に共通する同一の要素を示すために同一の参照番号を使用する。図及び以下の説明では、X軸、Y軸、及びZ軸を含む直交座標系を使用する。図面の矢印で表される方向は、便宜上、正の方向であると想定される。いくつかの実施形態で開示された要素は、具体的な明記なく、他の実装で有益に利用されてもよいと考えられる。
【発明を実施するための形態】
【0011】
本明細書に記載される実施形態は、概して、イオントラップ量子コンピュータなどの量子コンピュータにおいて効率的な任意同時もつれ(EASE)ゲートを使用して量子回路を構築するための方法及びシステムに関する。従来のコンピューティングで使用される単一命令複数データ(SIMD)処理と同様に、EASEゲートを使用した並列処理は、より効率的な量子計算プロセスを提供する。
【0012】
トラップイオンを使用して量子計算を実行できるシステム全体は、古典的コンピュータ、システムコントローラ、及び量子プロセッサを含む。古典的コンピュータは、グラフィックス処理ユニット(GPU)などのユーザインターフェースを使用して実行する量子アルゴリズムの選択、選択された量子アルゴリズムの一連の量子回路へのコンパイル、量子プロセッサに印加されるレーザパルスへの一連の量子回路の変換、及び中央処理ユニット(CPU)を使用してレーザパルスを最適化するパラメータの事前計算を含む、サポート及びシステム制御タスクを実行する。量子アルゴリズムを分解して実行するタスクを実行するためのソフトウェアプログラムは、古典的コンピュータ内の不揮発性メモリに記憶される。量子プロセッサは、様々なハードウェアと結合されたトラップイオンを含み、様々なハードウェアには、トラップイオンの内部超微細状態(キュービット状態)を操作するためのレーザ、及びトラップイオンの内部超微細状態(キュービット状態)を読み出すための音響光学変調器が含まれる。システムコントローラは、量子プロセッサ上で選択されたアルゴリズムの実行開始時にレーザパルスについての事前計算されたパラメータを古典的コンピュータから受信し、量子プロセッサ上で選択されたアルゴリズムを実行するために使用される任意及び全ての態様の制御に関連する様々なハードウェアを制御し、量子プロセッサの読み出しを戻し、したがってアルゴリズムの実行終了時に量子計算の結果の出力を古典的コンピュータに戻す。
【0013】
(一般的なハードウェア構成)
図1は、一実施形態に係るイオントラップ量子コンピューティングシステム100、又は単にシステム100の概略部分図である。システム100は、古典的(デジタル)コンピュータ102と、システムコントローラ104とを備える。
図1に示されるシステム100の他のコンポーネントは、Z軸に沿って延びる、トラップイオン(すなわち、互いにほぼ等間隔の円として示される5個)のグループ106を含む、量子プロセッサと関連付けられる。トラップイオンのグループ106内の各イオンは、核スピンIと電子スピンSとの差がゼロであるように核スピンI及び電子スピンSを有するイオン、例えば、正のイッテルビウムイオン
171Yb
+、正のバリウムイオン
133Ba
+、正のカドミウムイオン
111Cd
+又は
113Cd
+であり、これらの全ては、核スピンI=1/2及び
2S
1/2超微細状態を有する。いくつかの実施形態では、トラップイオンのグループ106内の全てのイオンは、同じ種及び同位体(例えば、
171Yb
+)である。いくつかの他の実施形態では、トラップイオンのグループ106は、1つ以上の種又は同位体を含む(例えば、いくつかのイオンは
171Yb
+であり、いくつかの他のイオンは
133Ba
+である)。さらなる実施形態では、トラップイオンのグループ106は、同じ種の様々な同位体(例えば、Ybの異なる同位体、Baの異なる同位体)を含み得ることに留意されたい。トラップイオンのグループ106内のイオンは、別々のレーザビームで個別に処理される。古典的コンピュータ102は、中央処理ユニット(CPU)、メモリ、及びサポート回路(又はI/O)(図示せず)を含む。メモリは、CPUに接続されており、読み取り専用メモリ(ROM)、ランダムアクセスメモリ(RAM)、フロッピーディスク、ハードディスク、又は任意の他の形式のデジタルストレージなどで、ローカル又はリモートで、すぐに利用できるメモリの1つ以上であり得る。ソフトウェア命令、アルゴリズム、及びデータは、CPUに命令するためにコード化され、メモリ内に記憶され得る。サポート回路(図示せず)も、従来の方法でプロセッサをサポートするためにCPUに接続されている。サポート回路は、従来のキャッシュ、電源、クロック回路、入力/出力回路、サブシステムなどを含み得る。
【0014】
例えば、開口数(NA)が0.37の対物レンズなどのイメージング対物レンズ108は、イオンからY軸に沿って蛍光を収集し、個々のイオンを測定するために、各イオンをマルチチャネル光電子増倍管(PMT)110(又はいくつかの他のイメージングデバイス)にマッピングする。X軸に沿って提供される、レーザ112からのラマンレーザビームは、イオンに対して操作を実行する。回折ビームスプリッタ114は、マルチチャネル音響光学変調器(AOM)118を使用して個別に切り替えられるラマンレーザビーム116のアレイを作成する。AOM118は、ラマンレーザビーム116の照射を個別に制御することによって個々のイオンに選択的に作用するように構成される。ラマンレーザビーム116と非共伝搬であるグローバルラマンレーザビーム120は、異なる方向から全てのイオンを一度に照射する。いくつかの実施形態では、単一のグローバルラマンレーザビーム120ではなく、個々のラマンレーザビーム(図示せず)は、各々が個々のイオンを照射するために使用され得る。システムコントローラ(「RFコントローラ」とも呼ばれる)104は、AOM118を制御し、したがって強度、タイミング、及びレーザパルスの位相を制御して、トラップイオンのグループ106内のトラップイオンに適用される。CPU122は、システムコントローラ104のプロセッサである。ROM124は、様々なプログラムを記憶し、RAM126は、様々なプログラム及びデータの作業メモリである。記憶ユニット128は、ハードディスクドライブ(HDD)又はフラッシュメモリなどの不揮発性メモリを含み、電源が切られても様々なプログラムを記憶する。CPU122、ROM124、RAM126、及び記憶ユニット128は、バス130を介して相互接続されている。システムコントローラ104は、ROM124又は記憶ユニット128に記憶され、RAM126を作業領域として使用する制御プログラムを実行する。制御プログラムは、データの受信及び分析、並びに本明細書で説明されたイオントラップ量子コンピューティングシステム100を実装及び操作するのに使用される方法及びハードウェアの任意及び全ての態様の制御に関連する様々な機能を実行するためにCPU122によって実行することができるプログラムコードを含むソフトウェアアプリケーションを含む。
【0015】
図2は、一実施形態に係る、グループ106内にイオンを閉じ込めるイオントラップ200(「ポールトラップ」とも呼ばれる)の概略図を示す。閉じ込め電位は、静的(DC)電圧と無線周波数(RF)電圧の両方によって印加される。静的(DC)電圧V
Sがエンドキャップ電極210及び212に印加されて、Z軸(「軸方向」又は「長手方向」とも呼ばれる)に沿ってイオンを閉じ込める。グループ106内のイオンは、イオン間のクーロン相互作用のために、軸方向にほぼ均等に分布している。いくつかの実施形態では、イオントラップ200は、Z軸に沿って延びる4つの双曲線形状の電極202、204、206、及び208を含む。
【0016】
操作中、(振幅VRF/2を有する)正弦波電圧V1は、対向する一対の電極202、204に印加され、正弦波電圧V1から180°の位相シフト(及び振幅VRF/2)を有する正弦波電圧V2は、駆動周波数ωRFで対向する他対の電極206、208に印加されて、四重極電位を生成する。いくつかの実施形態では、正弦波電圧は、対向する一対の電極202、204のみに印加され、対向する他対の電極206、208は、接地される。四重極電位は、トラップされた各イオンに対してZ軸に垂直なX-Y平面(「半径方向」又は「横方向」とも呼ばれる)に有効な閉じ込め力を生成し、その閉じ込め力は、RF電界が消失する鞍点(すなわち、軸方向(Z方向)の位置)からの距離に比例する。各イオンの半径方向(すなわち、X-Y平面の方向)の運動は、半径方向の鞍点に向かう復元力を伴う調和振動(「経年運動」と呼ばれる)として近似され、それぞればね定数kxとkyによってモデル化できる。いくつかの実施形態では、半径方向のばね定数は、四重極電位が半径方向に対称である場合に等しいものとしてモデル化される。しかしながら、望ましくない場合には、半径方向のイオンの運動は、物理的なトラップ構成のある程度の非対称性、電極の表面の不均一性による小さなDCパッチ電位などのために歪む場合があり、これら及び他の外部の歪みの原因により、イオンは、鞍点から中心を外れる場合がある。
【0017】
図示されていないが、異なるタイプのトラップは微細加工されたトラップチップであり、上記のものと同様のアプローチが、微細加工されたトラップチップの表面上の場所にイオン又は原子を保持又は閉じ込めるために使用される。上記のラマンレーザビームなどのレーザビームが、表面のすぐ上にあるようなイオン又は原子に印加され得る。
【0018】
図3は、一実施形態に係る、トラップイオンのグループ106内の各イオンの概略エネルギー
図300を示す。トラップイオンのグループ106内の各イオンは、核スピンIと電子スピンSとの差がゼロになるように核スピンI及び電子スピンSを有するイオンである。一例では、各イオンは、正のイッテルビウムイオン
171Yb
+であってもよく、ω
01/2π=12.642812GHzの周波数差(「キャリア周波数」と呼ばれる)に対応するエネルギー分割を有する核スピンI=1/2及び
2S
1/2超微細状態(すなわち、2つの電子状態)を有する。他の例では、各イオンは、正のバリウムイオン
133Ba
+、正のカドミウムイオン
111Cd
+又は
113Cd
+であってもよく、その全てが、核スピンI=1/2及び
2S
1/2超微細状態を有する。キュービットは、│0>と│1>で表される2つの超微細状態で形成され、超微細基底状態(すなわち、
2S
1/2超微細状態のうちの低エネルギー状態)が│0>を表すために選択される。以下、「超微細状態」、「内部超微細状態」及び「キュービット」という用語は、│0>と│1>を表すために交換可能に使用されることがある。各イオンは、ドップラー冷却又は分解サイドバンド冷却などの既知のレーザ冷却方法で、フォノン励起なし(すなわち、n
ph=0)で任意の運動モードmの運動基底状態│0>
mの近くまで冷却し(すなわち、イオンの運動エネルギーが低下することができる)、次にキュービット状態が光ポンピングによって超微細基底状態│0>で準備することができる。ここで、│0>は、トラップイオンの個々のキュービット状態を表し、下付き文字mが付いた│0>
mは、トラップイオンのグループ106の運動モードmの運動基底状態を表す。
【0019】
各トラップイオンの個々のキュービット状態は、例えば、励起された
2P
1/2レベル(|e>で表される)を介して355ナノメートル(nm)のモードロックレーザ(mode-locked laser)によって操作することができる。
図3に示すように、レーザからのレーザビームは、ラマン構成で一対の非共伝搬レーザビーム(周波数ω
1を有する第一のレーザビーム及び周波数ω
2を有する第二のレーザビーム)に分割され、
図3で説明するように、|0>と|e>の間の遷移周波数ω
0eに関して、一光子遷移離調周波数Δ=ω
1-ω
0eによって離調され得る。二光子遷移離調周波数δは、トラップイオンに第一及び第二のレーザビームによって提供されるエネルギー量の調整を含み、それらを組み合わせて使用すると、トラップイオンが超微細状態|0>と|1>との間で移動する。一光子遷移離調周波数Δが二光子遷移離調周波数(単に「離調周波数」とも呼ばれる)δ=ω
1-ω
2-ω
01(以下、±μで表され、μは正の値である)よりもはるかに大きい場合、それぞれ状態|0>と|e>の間、及び状態|1>と|e>の間でラビフロップが発生する単一光子ラビ周波数Ω
0e(t)とΩ
1e(t)(時間に依存し、第一と第二のレーザビームの振幅と位相によって決定される)、並びに励起状態|e>からの自然放出率、2つの超微細状態│0>と│1>の間のラビフロップ(「キャリア遷移」と呼ばれる)は、二光子ラビ周波数Ω(t)で誘導される。二光子ラビ周波数Ω(t)は、Ω
0eΩ
1e/2Δに比例する強度(すなわち、振幅の絶対値)を有し、ここで、Ω
0eとΩ
1eは、それぞれ第一と第二のレーザビームによる単一光子ラビ周波数である。以下、キュービットの内部超微細状態(キュービット状態)を操作するためのラマン構成におけるこの非共伝搬レーザビームのセットは、「複合パルス」又は単に「パルス」と呼ばれることがあり、結果として生じる二光子ラビ周波数Ω(t)の時間依存パターンは、パルスの「振幅」又は単に「パルス」と呼ばれることがあり、それらは、以下で図示され、さらに説明される。離調周波数δ=ω
1-ω
2-ω
01は、複合パルスの離調周波数又はパルスの離調周波数と呼ばれることがある。第一及び第二のレーザビームの振幅によって決定される二光子ラビ周波数Ω(t)の振幅は、複合パルスの「振幅」と呼ばれることがある。
【0020】
本明細書に提供される説明で使用される特定の原子種は、イオン化されたときに安定し、かつ明確に定義された2レベルエネルギー構造と、光学的にアクセス可能な励起状態とを有する原子種の一例にすぎないため、本開示によるイオントラップ量子プロセッサの可能な構成、仕様などを限定することを意図するものではないことに留意されたい。例えば、他のイオン種には、アルカリ土類金属イオン(Be+、Ca+、Sr+、Mg+、及びBa+)又は遷移金属イオン(Zn+、Hg+、Cd+)が含まれる。
【0021】
(もつれ形成)
図4A、
図4B、及び
図4Cは、例えば、5つのトラップイオンのグループ106のいくつかの概略的な集合横運動モード構造(単に「運動モード構造」とも呼ばれる)を示す。ここで、エンドキャップ電極210及び212に印加された静的電圧V
Sによる閉じ込め電位は、半径方向の閉じ込め電位と比較して弱い。トラップイオンのグループ106の横方向の集合運動モードは、イオントラップ200によって生成された閉じ込め電位とトラップイオン間のクーロン相互作用との組み合わせによって決定される。トラップイオンは、集合横方向運動(「集合横運動モード」、「集合運動モード」、又は単に「運動モード」と呼ばれる)を起こし、各モードには、それに関連する異なるエネルギー(又は同等に、周波数)がある。以下では、エネルギーがm番目に低い運動モードを│n
ph>
mと呼び、ここで、n
phは、運動モードの運動量子の数(エネルギー励起の単位で、「フォノン」と呼ばれる)を表し、所定の横方向の運動モードの数Mは、グループ106内のトラップイオンの数に等しい。
図4A~
図4Cは、グループ106内に配置された5つのトラップイオンによって経験され得る異なるタイプの集合横運動モードの例を概略的に示す。
図4Aは、最も高いエネルギーを有する一般的な運動モード│n
ph>
Mの概略図であり、ここで、Mは、運動モードの数である。一般的な運動モード│n>
Mでは、全てのイオンは、横方向に同位相で振動する。
図4Bは、2番目に高いエネルギーを有する傾斜運動モード│n
ph>
M-1の概略図である。傾斜運動モードでは、両端のイオンは、横方向に位相がずれて(すなわち、反対方向に)移動する。
図4Cは、傾斜運動モード│n
ph>
M-1よりもエネルギーが低く、イオンがより複雑なモードパターンで移動する高次運動モード│n
ph>
M-3の概略図である。
【0022】
上記特定の構成は、本開示によるイオンを閉じ込めるトラップのいくつかの可能な例のうちの1つに過ぎず、本開示による可能な構成、仕様などを限定するものではないことに留意されたい。例えば、電極の形状は、上記双曲線電極に限定されない。他の例では、調和振動として半径方向にイオンの運動を引き起こす実効電界を生成するトラップは、複数の電極層が積層され、対角線上にある2つの電極にRF電圧が印加される多層トラップであってもよく、又は全ての電極がチップ上の単一平面に配置されている表面トラップであってもよい。さらに、トラップは、複数のセグメントに分割することができ、その隣接するペアが1つ以上のイオンを往復させてリンクすることもでき、又は光子相互接続によって結合することもできる。トラップは、また、上記のものなどの、微細加工されたイオントラップチップ上に互いに近接して配置された個々のトラップ領域のアレイであってもよい。いくつかの実施形態では、四重極電位は、上記RF成分に加えて、空間的に変化するDC成分を有する。
【0023】
イオントラップ量子コンピュータでは、運動モードは、2つのキュービット間のもつれを仲介するデータバスとして機能することができ、このもつれは、2つのキュービット間のもつれゲート(「XXゲートと呼ばれる」)を実行するために使用される。つまり、2つのキュービットのそれぞれが運動モードともつれて、そして、以下に説明するように、もつれは、運動側波帯励起を使用することによって、2つのキュービット間のもつれに転送される。
図5A及び
図5Bは、一実施形態に係る、周波数ω
mを有する運動モード│n
ph>
Mでのグループ106内のイオンの運動側波帯スペクトルの図を概略的に示す。
図5Bに示すように、複合パルスの離調周波数がゼロの場合(すなわち、第一と第二のレーザビーム間の周波数差がキャリア周波数δ=ω
1-ω
2-ω
01=0に調整される場合)、キュービット状態│0>と│1>の間で単純なラビフロップ(キャリア遷移)が発生する。複合パルスの離調周波数が正の場合(すなわち、第一と第二のレーザビーム間の周波数差が、キャリア周波数よりも高く調整されている場合、δ=ω
1-ω
2-ω
01=μ>0、「青側波帯」と呼ばれる)、組み合わされたキュービット運動状態│0>│n
ph>
mと│1>│n
ph+1>
mの間でラビフロップが発生する(すなわち、キュービット状態│0>が│1>に反転する場合、│n
ph>
mで表されるn
phフォノン励起を伴うm番目の運動モードから│n
ph+1>
mで表される(n
ph+1)フォノン励起を伴うm番目の運動モードへの遷移が発生する)。複合パルスの離調周波数が負の場合(すなわち、第一と第二のレーザビーム間の周波数差が、運動モード│n
ph>
mの周波数ω
mによってキャリア周波数よりも低く調整されている場合、δ=ω
1-ω
2-ω
01=-μ<0、「赤側波帯」と呼ばれる)、組み合わされたキュービット運動状態│0>│n
ph>
mと│1>│n
ph-1>
mの間のラビフロップが発生する(すなわち、キュービット状態│0>から│1>に反転する場合、運動モード│n
ph>
mから、フォノン励起が1つ少ない運動モード│n
ph-1>
mへの遷移が発生する)。
【0024】
振幅Ω
(i)及びΩ
(j)と離調周波数μを有して、側波帯のパルスを持続時間τ(「ゲート持続時間」と呼ばれる)にわたって適用することによって、i番目とj番目のキュービットのペアの間のもつれゲート操作(XXゲート)、XX
ij(θ
ij)
【数1】
が実行され得、ここで、θ
ijは、
【数2】
と定義されるi番目とj番目のキュービットの間のもつれ相互作用であり、
【数3】
は、i番目のキュービットと周波数ω
mを有するm番目の運動モードの間の結合強度を定量化するラムディッケパラメータであり、Mは運動モードの数(グループ106内のイオンの数Nに等しい)である。上記に示した例では、振幅Ω
(i)及びΩ
(j)が変調される。他の実施形態では、離調周波数μを変調して、i番目とj番目のキュービットのペアの間で所望のもつれゲート操作(XXゲート)、XX
ij(θ
ij)を達成することもできる。
【0025】
このもつれゲート操作は、振幅Ω
(i)を適切に調整することにより、任意のキュービットのペアに対して同時に実行することができ、このようなゲートは、本明細書以下で効率的な任意同時もつれ(EASE)ゲートと呼ばれ、
【数4】
と定義される。本明細書に記載される方法によって実装され得るEASEゲートはこの特定の形式に限定されないことに留意されたい。例えば、EASEゲートは以下の形式であり得る:
【数5】
ここで、
【数6】
は、キュービットiに作用する、方位角φ
iを有するブロッホ球上の赤道を指し示すベクトル上で定義されるパウリ演算子であり、自由パラメータθ
ijはキュービットiとjの間のもつれ結合である。
【0026】
適切な単一キュービットゲートと組み合わされたEASEゲートを使用して、任意のキュービットのペアに対して、個別に又は同時に、ZZゲート、制御Z(CZ)ゲート、制御not(CNOT)ゲート、及びSWAPゲートなどの様々な2キュービットゲート操作を実装することができる。i番目とj番目のキュービットにわたるZZゲートZZ
ij(θ
ij)は、グローバル位相まで、i番目とj番目のキュービットの排他的論理和(XOR)、
【数7】
に応じて2キュービット状態|x>
i|y>
j(x,y={0,1})に位相
【数8】
を追加する。i番目(制御ビット)に条件付けされ、j番目のキュービット(標的ビット)を標的とするCZゲート操作は、i番目とj番目のキュービットの両方が、状態
【数9】
にある場合のみ、2キュービット状態|x>
i|y>
j(x,y={0,1})に位相e
iπ(=-1)を追加し、ここで、x・yは、i番目とj番目のキュービットの論理積である。i番目のキュービット(制御ビット)に条件付けされ、j番目のキュービット(標的ビット)を標的とするCNOTゲート操作は、i番目のキュービット(制御ビット)が状態|1>にある場合、j番目のキュービット(標的ビット)を反転し、そうでなければ、i番目とj番目のキュービットの両方は変化しないままであり、したがって2キュービット状態|x>
i|y>
j(x,y)={0,1})を2キュービット状態
【数10】
に変換し、ここで、
【数11】
は、i番目とj番目のキュービットの排他的論理和(XOR)である。i番目とj番目のキュービットの間のSWAPゲート操作は、i番目とj番目のキュービットを交換し、したがって2キュービット状態|x>
i|y>
j(x,y={0,1})を2キュービット状態
【数12】
に変換する。EASEゲートと併せて使用される単一キュービット操作は、回転ゲート
X(θ)、Y(θ)、及びZ(θ)を含み、これらの各々は、
【数13】
に従ってキュービットの状態|0>及び|1>を、それぞれ、アダマールゲート
【数14】
、位相ゲート
【数15】
及び逆位相ゲート
【数16】
に変換する。
【0027】
(EASEゲートによる量子回路の構築)
量子計算では、量子アルゴリズムが選択され、量子プロセッサ上に実装される、単一キュービットゲート操作、2キュービットゲート操作、及び複数のキュービットゲート操作を含む一連の量子回路に分解される。いくつかの実施形態では、量子アルゴリズムは、一般的に使用される量子回路(すなわち、量子ゲート操作の特定のシーケンス)を使用して分解される。このような量子回路は、クリフォード回路(「安定化回路」とも呼ばれる)、多重制御NOTゲート、キュービット置換ゲート、制御SWAPゲート、及び制御置換ゲートを含む。例えば、古典的コンピュータによって効率的にシミュレートされ得る回路として、クリフォード回路が周知である。量子アルゴリズムは、多くの場合、クリフォード回路及び非クリフォード回路の観点から分解される。多重制御NOTゲートは、グローバーのアルゴリズム及び量子近似最適化アルゴリズムを含む量子アルゴリズムの実行、リード・マラー型などの可逆論理の実装、並びに強く相互作用する材料のシミュレーションに使用される。量子置換ゲートは、文字列照合アルゴリズムを含む量子アルゴリズムの実行、及び量子強化エバルト(Ewald)法を使用した相互作用する材料のシミュレーションに使用される。制御SWAPゲートは、離散対数アルゴリズム及びショア(Shor)のアルゴリズムを含む量子アルゴリズムの実行に使用される。制御置換ゲートは、量子文字列照合アルゴリズムを含む量子アルゴリズムの実行に使用される。
【0028】
n個のキュービットに作用するクリフォード回路は、CZゲート層(すなわち、n個のキュービットのうち1つ以上のキュービットのペアにわたるCZゲートの組み合わせ)、CNOTゲート層(すなわち、n個のキュービットのうちの1つ以上のキュービットのペアにわたるCNOTゲートの組み合わせ)、アダマールゲート層(すなわち、n個のキュービットのうちの1つ以上のキュービット上のアダマールHゲートの組み合わせ)、及び位相ゲート層(すなわち、n個のキュービットのうちの1つ以上のキュービット上の位相Sゲートの組み合わせ)からのみ構成され得る量子回路である。任意のクリフォード回路は、H-S-CZ-CNOT-H-CZ-S-Hの標準形式に分解されることが示されており、ここで、H、S、CZ、及びCNOTは、それぞれ、アダマールゲート層、位相ゲート層、CZゲート層、及びCNOTゲート層を表す。アダマールゲートH及び位相ゲートSは、単一キュービットのゲート操作であり、同時かつ効率的に実装できるため、多重制御NOTゲート及びキュービット置換ゲートとともに、クリフォード回路の分解に使用されるCZゲート層及びCNOTゲート層は、本明細書に記載される実施形態ではEASEゲートによって効率的に構築される。
【0029】
以下の説明では、ゲート操作又はゲート操作の層を実装する回路の「構築」は、古典的コンピュータ(例えば、デジタルコンピュータ)によって、所与のゲート操作又はゲート操作の層を1つ以上のEASEゲート及び単一キュービットゲートに分解すること、並びに選択された量子アルゴリズムの実行の一部として量子プロセッサ上に実装される1つ以上のEASEゲート及び単一キュービットゲートのシーケンスを古典的コンピュータによって計算して計算操作を完了することを指す。本明細書に記載される方法によって効率的に構築されるゲート操作及びゲート操作の層を使用することにより、全体的な量子計算を効率的に実行することができる。
【0030】
(CZゲート層)
上述したように、n個のキュービットに作用するCZゲート層は、各々がn個のキュービットのうちのキュービットのペアにわたる1つ以上のCZゲートの組み合わせである。以下の説明では、CZゲートがCZゲート層内に含まれる各々のキュービットのペアを「関与ペア」と呼び、関与ペアのキュービットを「関与キュービット」と呼ぶ。例えば、キュービットのペア(1,2)、(1,4)、(3,6)、及び(3,8)にわたるCZゲートを含むCZゲート層の場合、キュービットには、0,1,…,n-1の番号が付けられ、関与ペアは、(1,2)、(1,4)、(3,6)、及び(3,8)であり、関与キュービットは、1、2、3、4、6、及び8である。
【0031】
図6は、一実施形態による、n個のキュービットに作用するCZゲート層を実装する回路を構築する方法600を示すフローチャートを示す。方法600は、ブロック602で開始し、CZゲート層内に含まれる1つ以上のCZゲートの各々は、古典的コンピュータによって、グローバル位相までZZゲートと逆位相S
-1ゲートの組み合わせに分解される。ブロック602では、i番目とj番目のキュービットのペアにわたるCZゲート
【数17】
は、i番目とj番目のキュービットにわたるZZゲートZZ
ij(θ
ij)(ここで、
【数18】
である)、及びi番目とj番目のキュービットの両方における逆位相S
-1ゲートに分解される。この分解は、CZゲート層内に含まれる関与ペアの全てにわたる1つ以上のCZゲートに対して反復される。
【0032】
ブロック604では、関与ペアの全てにわたるZZゲート(すなわち、ZZゲートの全てが連結されるように、ZZゲート及び逆位相S
-1ゲートの順序が変更される)が、古典的コンピュータによって単一ブロックに集約される。ブロック604のこの操作は、ZZゲート及び逆位相S
-1ゲートが交換できる(すなわち、ZZゲート及び逆位相S
-1ゲートの順序をゲート操作の結果に影響を与えることなく置き換えることができる)ため可能である。したがって、CZ層はここで、全ての関与ペア(i,j)及び逆位相S
-1ゲートの層についてZZゲートの単一ブロック
【数19】
(ここで、
【数20】
である)に分解される。
【0033】
ブロック606では、ZZゲートの単一ブロック
【数21】
を実装する回路は、古典的コンピュータによって構築される。この回路は、単一のEASEゲート及びアダマールゲートH層を含む。なぜなら、ZZゲートの単一ブロック
【数22】
は、関与ペア(i,j)についてEASEゲート
【数23】
(ここで、
【数24】
である)をアダマールゲート層と結合すること(すなわち、EASEゲートの前及び後にアダマールゲート層を適用すること)によって実装され得るからである。アダマールゲート層は、全ての関与キュービット上のアダマールゲートを含む。
【0034】
したがって、キュービットの関与ペア(i,j)にわたるCZゲートを含むCZゲート層を実装する回路全体は、全ての関与キュービット上のアダマールゲート、関与ペア(i,j)についての単一のEASEゲート、
【数25】
(ここで、
【数26】
である)を含むアダマールゲート層、全ての関与キュービット上のアダマールゲートを含む別のアダマールゲート層、関与キュービット上で集約された逆位相S
-1ゲートを含む逆位相層を含む。したがって、方法600は、O(n
2)個の2キュービットゲートを必要とする単一キュービットゲート及び2キュービットゲートを含むユニバーサルゲートセットを使用する従来の方法よりも改善された効率を提供する。
【0035】
(CNOTゲート層)
n個のキュービットに作用するCNOTゲート層は、n個のキュービットのうちのキュービットのペアに各々わたる1つ以上のCNOTゲートの組み合わせである。CZゲート層に関する上記の説明と同様に、CNOTがCNOTゲート層内に含まれる各々のキュービットのペアは「関与ペア」と呼ばれ、関与ペアのキュービットは「関与キュービット」と呼ばれる。一般に、CNOTゲート層は、n×n変換行列M
CNOTによるブール変数
【数27】
の入力セットの、ブール変数
【数28】
の出力セットへの線形変換として記述できる。各ブール変数b
i(i=0,1,…,n-1)はn個のキュービットで表される。本明細書に記載される実施形態では、CNOTゲート層を実装する回路を構築する2つの方法、すなわち補助キュービットなしの方法、及び補助キュービットありの方法が提供される。
【0036】
図7は、一実施形態による、補助キュービットなしで、n個のキュービットに作用するCNOTゲート層を実装する回路を構築する方法700を示すフローチャートを示す。方法700は、ブロック702で開始し、CNOTゲート層を表す変換行列M
CNOTが、n×nの下三角行列
【数29】
と、n×nの上三角行列
【数30】
の積として古典的コンピュータによって因数分解される。行列M
CNOTのこの因数分解は、当該技術分野で周知の下位-上位(LU)分解法によって実行され、この例では古典的コンピュータによるO(n
3)の時間スケーリングで効率的に実行することができる。
【0037】
ブロック704では、上三角行列Uの各行によって表される線形変換を実行する回路が古典的コンピュータによって構築される。上三角行列
【数31】
のi番目の行は、
【数32】
である場合、i番目のブール変数b
iへのブール変数b
j(j=i+1,…,n-1)のモジュロ2加算に対応し、これは、j番目のブール変数b
j(j=i+1,…,n-1)で制御され、i番目のブール変数b
iを標的とするCNOTゲートに対応し、ここで、
【数33】
である。このCNOTゲートのセットは、適切な単一キュービットゲートとともに、単一のEASEゲート
【数34】
によって実装でき、ここで、
【数35】
である。この回路の構築は、上三角行列Uのn行全てを実装するために反復される。したがって、ブロック704で構築された回路は、n個のEASEゲート及び単一キュービットゲートを含む。
【0038】
ブロック706では、下三角行列Lの各行によって表される線形変換を実装する回路が古典的コンピュータによって構築される。下三角行列
【数36】
iの番目の行は、
【数37】
である場合、i番目のブール変数b
iへのブール変数b
j(j=0,…,i-1)のモジュロ2加算に対応し、これは、j番目のブール変数b
j(j=0,…,i-1)で制御され、i番目のブール変数b
iを標的とするCNOTゲートに対応し、ここで、
【数38】
である。このCNOTゲートのセットは、適切な単一キュービットゲートとともに、単一のEASEゲート
【数39】
によって実装でき、ここで、
【数40】
である。この回路の構築は、下三角行列Lのn行全てを実装するために反復される。したがって、ブロック706で構築される回路は、n個のEASEゲート及び単一キュービットゲートを含む。
【0039】
したがって、補助キュービットなしで、n個のキュービットに作用するCNOTゲート層を実装する回路全体は、2n個のEASEゲート及び単一キュービットゲートを含む。したがって、方法700は、当該技術分野で知られているΩ(n2/log(n))個の2キュービットゲートを必要とする単一キュービットゲート及び2キュービットゲートを含むユニバーサルゲートセットを使用する従来の方法よりも改善された効率を提供する。
【0040】
図8は、一実施形態による、n/2個の補助キュービットありで、n個のキュービットに作用するCNOTゲート層を実装する回路を構築する方法800を示すフローチャートを示す。ここで説明される例では、nは2
mであると仮定され、ここで、mは簡略化のために自然数である。しかしながら、当業者は、方法800が、nが任意の数である場合に適用できることを容易に理解するであろう。方法800は、ブロック802で開始し、CNOTゲート層を表す変換行列M
CNOTが、n×nの下三角行列
【数41】
と、n×nの上三角行列
【数42】
の積として古典的コンピュータによって因数分解される。行列M
CNOTのこの因数分解は、当該技術分野で周知の下位-上位(LU)分解法によって実行され、古典的コンピュータによるO(n
3)の時間スケーリングで効率的に実行することができる。ブロック802におけるこの分解プロセスは、上記の方法700のブロック702におけるものと同じである。
【0041】
ブロック804では、1つの補助キュービットを使用する上三角行列Uの2×2ブロック対角要素
【数43】
の各々の1番目の行によって表される線形変換を実装する回路が古典的コンピュータによって構築される。上三角行列
【数44】
の1番目の行は、
【数45】
である場合、i番目のブール変数b
iへのブール変数b
i+1のモジュロ2加算に対応する。ここで説明される例では、回路は、ブール変数b
i+1に条件付けされ、状態|0>で準備される補助キュービットを標的とする1番目のCNOTゲートを含む。この1番目のCNOTゲートは、ブール変数b
i+1を補助キュービットに一時的にコピーする。続いて回路は、補助キュービットに条件付けされ、ブール変数b
iを標的とする2番目のCNOTゲートを含む。この2番目のCNOTゲートは、ブール変数b
iへのブール変数b
i+1のモジュロ2加算を実行する。次いで回路は、1番目のCNOTゲートと同じである3番目のCNOTゲートを含む。この3番目のCNOTゲートは、補助キュービットが次のステップで再利用できるように補助キュービットを変換して状態|0>に戻す。これらの3つのCNOTゲートの各々は、i=0,2,4,…で表示され、単一キュービットゲートとともに単一のEASEゲートによって同時に実装され得る。したがって、ブロック804で構築された回路は、3つのEASEゲート及び単一キュービットゲートを含む。
【0042】
ブロック806では、2つの補助キュービットを使用する上三角行列Uの各4×4ブロック対角要素
【数46】
の2×2非対角要素によって表される線形変換の実装を含む回路が古典的コンピュータによって構築される。ブロック802で構築された回路は、2つの2×2ブロック対角要素
【数47】
によって表される線形変換を既に実装している。したがって、ブロック806で構築する回路は、2×2非対角要素
【数48】
によって表される線形変換を実装する。これらの線形変換は、
【数49】
である場合、i番目のブール変数
【数50】
へのブール変数b
j(j=i+2,i+3)のモジュロ2加算、及び
【数51】
である場合、(i+1)番目のブール変数b
i+1へのブール変数b
j(j=i+2,i+3)のモジュロ2加算に対応し、これは、j番目のブール変数b
j(j=i+1,…,n-1)で制御され、(i+1)番目のブール変数b
i+1を標的とするCNOTゲートに対応し、ここで、
【数52】
である。したがって、ブロック804と同様に、回路は、ブール変数
【数53】
に条件付けされ、状態|0>で準備される第一の補助キュービットを標的とする第一のセットのCNOTゲートの第一のセット、並びにブール変数
【数54】
に条件付けされ、状態|0>で準備される第二の補助キュービットを標的とする第一のセットのCNOTゲートの第二のセットを含む。この第一のセットのCNOTゲートは、ブール変数
【数55】
をそれぞれ第一の補助キュービット及び第二の補助キュービットに一時的にコピーする。続いて、回路は、第一の補助キュービットで条件付けされ、ブール変数
【数56】
を標的とするCNOTゲート、第二の補助キュービットで条件付けされ、ブール変数b
i+1を標的とするCNOTゲートである第二のセットのCNOTゲートを含む。この第二のセットのCNOTゲートは、ブール変数
【数57】
へのブール変数
【数58】
のモジュロ2加算、及びブール変数
【数59】
へのブール変数b
i+1のモジュロ2加算を実行する。次いで回路は、第一のセットのCNOTゲートと同じである第三のセットのCNOTゲートを含む。この第三のセットのCNOTゲートは、これらの補助キュービットを次のステップで再利用できるように第一の補助キュービット及び第二の補助キュービットを変換して状態|0>に戻す。これらの3つのセットのCNOTゲートの各々は、単一キュービットゲートとともに単一のEASEゲートによって実装することができる。したがって、ブロック806で構築された回路は、3つのEASEゲート及び単一キュービットゲートを含む。
【0043】
ブロック808では、2
l-1個の補助キュービットを使用する上三角行列Uの各2
l×2
lブロック対角要素(l=3,4,…,m=logn)の2
l-1×2
l-1非対角要素によって表される線形変換を実装する回路が、古典的コンピュータによって構築される。この回路は、各々が、ブール変数
【数60】
に条件付けされ、各々が状態|0>で準備される2
l-1個の補助キュービットのうちの1つを標的とする第一のセットのCNOTゲートを含む。この第一のセットの2
l-1CNOTゲートは、ブール変数
【数61】
を補助キュービットに一時的にコピーする。続いて回路は、各々が補助キュービットのうちの1つに条件付けされ、ブール変数
【数62】
を標的とする第二のセットのCNOTゲートを含む。この第二のセットのCNOTゲートは、ブール変数
【数63】
へのブール変数
【数64】
のモジュロ2加算を実行する。次いで回路は、第一のセットのCNOTゲートと同じである第三のセットのCNOTゲートを含む。この第三のセットのCNOTゲートは、これらの補助キュービットを次のステップで再利用できるように補助キュービットを変換して状態|0>に戻す。これらのセットの2
l-1CNOTゲートの各々は、単一キュービットゲートとともに単一のEASEゲートによって同時に実装され得る。このステップは、l=3からl=m(=logn)まで順次反復される。したがって、ブロック808で構築された回路は、(m-2)×3個のEASEゲート及び単一キュービットゲートを含む。
【0044】
ブロック810では、n/2個の補助キュービットを使用する、下三角行列Lによって表される線形変換を実装する回路が、古典的コンピュータによって構築される。ブロック810の回路の構築は、ブロック804~808のステップに続く。ブロック810で構築された回路は、3logn(=3m)個のEASEゲート及び単一キュービットゲートを含む。
【0045】
したがって、n/2個の補助キュービットありで、n個のキュービットに作用するCNOTゲート層を実装する回路全体は、6logn(=6m)個のEASEゲート及び単一キュービットゲートを含む。したがって、方法800は、Ω(n2/log(n))個の2キュービットゲートを必要とする単一キュービットゲート及び2キュービットゲートを含むユニバーサルゲートセットを使用する従来の方法よりも改善された効率を提供する。
【0046】
(多重制御NOTゲート)
n個のキュービットに作用する多重制御NOTゲート(C
n-1NOTゲートとして示され、Toffoli-nゲートとも呼ばれる)は、(n-1)個のキュービットの全てが状態|0>である場合、標的ビットの値を反転する。例えば、2つの制御ビット及び1つの標的ビットに適用されるC
2NOTゲート(「Toffoli-3ゲート」又は単に「Toffoliゲート」と呼ばれる)は、制御ビットの両方が状態|1>である場合にのみ、標的ビットを反転させ、それ以外の場合は3個全てのキュービットを変化させないため、3キュービット状態|x>|y>|z>(x,y,z={0,1})を3キュービット状態
【数65】
に変換する。多重制御NOTゲートは、多重制御Zゲート(C
n-1Zゲートとして示される)を標的キュービットに適用されたアダマールゲートによって結合させる(すなわち、C
n-1Zゲートの前及び後に標的キュービットにアダマールゲートを適用する)ことによって簡単に取得できる。したがって、本明細書で説明される例では、C
n-1NOTを構築する方法が提供される。
【0047】
一般に、C
n-1Zゲートは、nキュービット状態|b
0b
1…b
n-1>を
【数66】
に変換し、ここで、
【数67】
は
【数68】
として定義される。等式、
【数69】
を使用すると、指数
【数70】
は、
【数71】
に従って展開することができ、ここで、
【数72】
は、入力ブール値b
jの全ての異なる長さ-lのXORパターンの合計であり、C
l(k,m)は、k番目の長さlのパターンに現れるm番目のキュービットインデックスを示し、
nC
lは、nがlを選択すること(n choose l)である。したがって、C
n-1Zゲートによる変換は、
【数73】
と記述することができる。例えば、C
2Zゲートは、3キュービット状態を
【数74】
として変換し、ここで、
【数75】
、T
1=x+y+z(線形項)、
【数76】
(長さ2のXORパターン)、及び
【数77】
(長さ3のXORパターン)である。
【0048】
図9は、一実施形態による、n個のキュービット(n=5,6)に作用するC
n-1Zゲートを実装する回路を構築する方法900を示すフローチャートを示す。方法900はブロック902で開始し、展開におけるC
n-1Zゲートの選択されたXORパターンT
lのセットを補助キュービットに一時的にコピーする回路が古典的コンピュータによって構築される。C
4Zゲート(n=5)の場合、選択されたXORパターンのセットは、長さ2のXORパターン、
【数78】
並びに長さ5のXORパターン、
【数79】
を含み、これらのXORパターンの各々は、状態|0>で各々準備される4つの補助キュービットのうちの1つにコピーされる。この変換では、回路は、各々がブール変数b
2及びb
3のうちの1つに条件付けされ、第一の補助キュービットを標的とする2つのCNOTゲート、各々がブール変数b
2及びb
4のうちの1つに条件付けされ、第二の補助キュービットを標的とする2つのCNOTゲート、各々がブール変数b
3及びb
4のうちの1つに条件付けされ、第三の補助キュービットを標的とする2つのCNOTゲート、並びに各々がブール変数b
0、b
1、b
2、b
3及びb
4のうちの1つに条件付けされ、第四の補助キュービットを標的とする5つのCNOTゲートを含む。C
5Zゲート(n=6)の場合、選択されたXORパターンのセットは、長さ2のXORパターン、
【数80】
、長さ4のXORパターン、
【数81】
、並びに長さ6のXORパターン、
【数82】
を含み、これらのXORパターンの各々は、状態|0>で各々準備される7つの補助キュービットのうちの1つにコピーされる。この変換では、回路は、ブール変数b
3及びb
5にそれぞれ条件付けされ、第一の補助キュービットを標的とする2つのCNOTゲート、ブール変数b
4及びb
5にそれぞれ条件付けされ、第二の補助キュービットを標的とする2つのCNOTゲート、ブール変数b
0、b
1、b
2及びb
5にそれぞれ条件付けされ、第三の補助キュービットを標的とする4つのCNOTゲート、ブール変数b
0、b
1、b
3及びb
4にそれぞれ条件付けされ、第四の補助キュービットを標的とする4つのCNOTゲート、ブール変数b
0、b
2、b
3及びb
4にそれぞれ条件付けされ、第五の補助キュービットを標的とする4つのCNOTゲート、ブール変数b
1、b
2、b
3及びb
4にそれぞれ条件付けされ、第六の補助キュービットを標的とする4つのCNOTゲート、並びにブール変数b
0、b
1、b
2、b
3、b
4及びb
5にそれぞれ条件付けされ、第七の補助キュービットを標的とする6つのCNOTゲートを含む。CNOTゲートの全ては、適切な単一キュービットゲートとともに単一のEASEゲートによって同時に実装され得る。したがって、ブロック902で構築された回路は、単一のEASEゲート及び単一キュービットゲートを含む。
【0049】
ブロック904では、展開におけるCn-1Zゲートの展開における項Tlの全てを実装する回路が古典的コンピュータによって構築される。項の全ては、適切に選択された回転角度θij及びθを有するZZゲートZZij(θij)及び回転ゲートZ(θ)の組み合わせによって実装され得る。これらのZZゲートの全ては、適切な単一キュービットゲートを有する単一のEASEゲートで実装され得る。したがって、ブロック904で構築された回路は、単一のEASEゲート及び単一キュービットゲートを含む。
【0050】
ブロック906では、ブロック902のものと同じCNOTゲートのセットを含む回路が構築される。この回路は、これらの補助キュービットを次のステップで再利用できるように、補助キュービットの全てを変換して状態|0>に戻す。上述したように、このCNOTゲートのセットは、適切な単一キュービットゲートを有する単一のEASEゲートで同時に実装され得る。したがって、ブロック906で構築された回路は、単一のEASEゲート及び単一キュービットゲートを含む。
【0051】
したがって、n個のキュービット(n=5、6)に作用するCn-1Zゲートを実装する回路全体は、3個のEASEゲート及び単一キュービットゲートを含む。Toffoli-nゲートは、Cn-1Zゲートを、標的キュービットに適用されたアダマールゲートによって結合させることによって簡単に取得できるため、Toffoli-5及びToffoli-6ゲートを実装する回路は、3個のEASEゲート及び単一キュービットゲートも含む。
【0052】
上記のように構築されたToffoli-6ゲートを使用して、Cn-1Zゲート(n≧6)を効率的に実装できることに留意されたい。Cn-1Zゲートは、n/2Toffoli-6ゲートを使用して分解できることが当該技術分野で知られている。したがって、Cn-1Zゲートは、3n/2個のEASEゲート及び単一キュービットゲートを使用して実装することができる。したがって、方法800は、少なくとも2n個の2キュービットゲートを必要とする単一キュービットゲート及び2キュービットゲートを含むユニバーサルゲートセットを使用する従来の方法よりも改善された効率を提供する。
【0053】
図10は、一実施形態による、O(2
n)個の補助キュービットを使用してn個のキュービットに作用するC
n-1Zゲートを実装する回路を構築する方法1000を示すフローチャートを示す。方法1000はブロック1002で開始し、上記の展開におけるC
n-1Zゲートの線形項T
1を実装する回路が構築される。ブロック1002で構築された回路は、方法900のブロック902で構築されたものと同じであり、キュービットj(j=0,1,…,n-1)上にZゲートを含む。
【0054】
ブロック1004では、C
n-1Zゲートの展開におけるXORパターンT
l(l=2,…,n)の全てを補助キュービットに一時的にコピーする回路である。
【数83】
個の長さlのXORパターンが存在し、その各々は補助キュービットにコピーされる。この回路は、各々がブール変数b
jで条件付けされ、状態|0>で準備される補助キュービットを標的とするCNOTゲートを含む。CNOTゲートの全ては、適切な単一キュービットゲートとともに単一のEASEゲートに同時に実装され得る。したがって、ブロック1004で構築された回路は、単一のEASEゲート及び単一キュービットゲートを含む。
【0055】
ブロック1006では、XORパターンT
l(l=2,…,n)の各々について位相シフト
【数84】
を実装する回路が古典的コンピュータによって構築される。全てのXORパターンは既に補助キュービットにコピーされているため、ブロック1006で構築された回路は補助キュービット上にZゲートを含む。
【0056】
ブロック1008では、全ての補助キュービットを状態|0>に変換して戻す回路が、古典的コンピュータによって構築される。ブロック1008で構築された回路は、ブロック1004で構築されたものと同じであり、単一のEASEゲート及び単一キュービットゲートを含む。
【0057】
したがって、2n個の補助キュービットを使用してn個のキュービットに作用するCn-1Zゲートを実装する回路全体は、2つのEASEゲート及び単一キュービットゲートを含む。したがって、方法1000は、少なくとも2n個の2キュービットゲートを必要とする単一キュービットゲート及び2キュービットゲートを含むユニバーサルゲートセットを使用する従来の方法よりも改善された効率を提供する。
【0058】
(量子置換ゲート)
図11は、一実施形態による、n個のキュービットに作用するキュービット置換ゲートを実装する回路を構築する方法1100を示すフローチャートを示す。方法1100はブロック1102で開始し、キュービット置換操作がSWAPゲートに分解される。キュービット置換操作は、n個の補助キュービットを使用する4層のSWAPゲート、又は補助キュービットを使用しない6層のSWAPゲートとして実装できることが当該技術分野で知られている。
【0059】
ブロック1104では、各SWAPゲートがCNOTゲートに分解される。SWAPゲートが3つのCNOTゲートとして実装できることが当該技術分野で知られている。
【0060】
ブロック1106では、CNOTゲートを実装する回路が古典的コンピュータによって構築される。CNOTゲートの各々は、適切な単一キュービットゲートとともに単一のEASEゲートによって実装され得るため、ブロック1106で構築された回路は、3つのEASEゲート及び単一キュービットゲートを含む。
【0061】
したがって、キュービット置換を実装する回路全体は、n個の補助キュービットを使用する12個のEASEゲート及び単一キュービットゲート、又は補助キュービットを使用しない18個のEASEゲート及び単一キュービットゲートを含む。したがって、方法1100は、O(n)個の2キュービットゲートを必要とする単一キュービットゲート及び2キュービットゲートを含むユニバーサルゲートセットを使用する従来の方法よりも改善された効率を提供する。
【0062】
(制御置換ゲート)
図12は、一実施形態による、n個のキュービットに作用する制御置換ゲートを実装する回路を構築する方法1200を示すフローチャートを示す。方法1200は、ブロック1202で開始し、制御置換ゲートは、共有制御を伴う制御SWAPゲートに分解される。制御SWAPゲートの各々は7つのCNOTゲートとして実装できることが当該技術分野で知られている。
【0063】
ブロック1204では、CNOTゲートを実装する回路が古典的コンピュータによって構築される。7つのCNOT層の各々は、適切な単一キュービットゲートとともに単一のEASEゲートに同時に実装され得るため、ブロック1204で構築された回路は、7つのEASEゲート及び単一キュービットゲートを含む。
【0064】
したがって、制御置換ゲートを実装する回路全体は、O(1)個のEASEゲート及び単一キュービットゲートを含む。したがって、方法1200は、O(n)個の2キュービットゲートを必要とする単一キュービットゲート及び2キュービットゲートを含むユニバーサルゲートセットを使用する従来の方法よりも改善された効率を提供する。
【0065】
制御置換ゲートを実装するために本明細書に記載される方法を使用すると、制御置換を使用する量子アルゴリズムの複雑性を軽減することができる。例えば、長さNのテキストの長さMのパターンと一致する文字列照合アルゴリズムの回路深さは、
【数85】
から
【数86】
まで減少することができる。補助キュービットの数もlogNだけ減少する。
【0066】
本明細書に記載される方法を使用する古典的コンピュータの使用によって形成される1つ以上のEASEゲート及び単一キュービットゲートを含む様々な量子回路は、量子計算を実行するための他の量子回路と組み合わせて量子コンピュータ上に実装される。各EASEゲートは、米国特許出願第16/578,137号(「Simultaneously Entangling Gates For Trapped-Ion Quantum Computers」という発明の名称)、及び米国特許出願第16/854,043号(「Amplitude, Frequency, And Phase Modulated Simultaneous Entangling Gates For Trapped-Ion Quantum Computers」という発明の名称)に詳細に記載される方法によって量子コンピュータに実装でき、それらは本明細書に参照により組み込まれる。量子プロセッサ内のキュービットの任意のペアに対してもつれゲート操作を同時に実行するEASEゲートは、関与するキュービットの各々にレーザパルスを適用することによって実装でき、各パルスの振幅及び位相は古典的コンピュータ内のソフトウェアプログラムによって適切に調整される。ソフトウェアプログラムによって決定されたパルスは、量子プロセッサ内の関与キュービット(N個のトラップイオンの鎖)に適用されて、システムコントローラによって制御される、選択されたキュービットのペアに対してEASEゲート操作を実行する。
【0067】
量子計算の最後に、量子プロセッサ内のキュービット状態(トラップイオン)の母集団(トラップイオンのグループ106を含む)が、撮像対物レンズ108によって得られた測定値によって決定され(読み取られ)、PMT110にマッピングされ、それによって、量子計算の結果を決定し、古典的コンピュータ(例えば、デジタルコンピュータ)への入力として提供することができる。次いで、量子計算の結果は、古典的コンピュータ102によって処理され、古典的コンピュータ102のグラフィックス処理ユニット(GPU)などのユーザインターフェースに出力され、紙に印刷され、及び/又は古典的コンピュータ102のメモリに保存され得る。量子計算の結果は、古典的コンピュータによって使用されて、所望のアクティビティを実行するか、又は古典的コンピュータだけでは通常は確認できないか、もしくは妥当な時間内に確認できない問題の解決策を得ることができる。今日の従来のコンピュータ(すなわち、古典的コンピュータ)では解決できないか、又は確認できないことが知られており、実行された量子計算から得られた結果を使用することによって解決できることが知られている問題には、複雑な分子及び材料の内部化学構造のシミュレーション、並びに大きな整数の因数分解が含まれ得るが、これらに限定されない。
【0068】
本明細書に記載されるEASEゲートを使用して量子回路を構築する方法は、当該技術分野で知られている他の既存の量子回路を構築する方法よりも計算の複雑性の改善を提供する。n個のキュービットに作用するCZゲート層は、上記の方法600による単一のEASEゲート及び単一キュービットゲートによって実装することができるが、単一キュービットゲート及び2キュービットゲートを含むユニバーサルゲートセットを使用する従来の方法は、O(n2)個の2キュービットゲートを必要とする。n個のキュービットに作用するCNOTゲート層は、上記の方法700によって、補助キュービットなしで、2n個のEASEゲート及び単一キュービットゲートによって実装することができるが、従来の方法は、O(n2)個の2キュービットゲートを必要とする。n個のキュービットに作用するCNOTゲート層は、上記の方法800によって、n/2個の補助キュービットありで、6logn個のEASEゲート及び単一キュービットゲートによって実装することができるが、従来の方法は、O(n2)個の2キュービットゲートを必要とする。Toffoli-5及びToffoli-6ゲートは、上記の方法900によって3つのEASEゲート及び単一キュービットゲートによって実装することができるが、従来の方法は、少なくとも10及び12個の2キュービットゲートを必要とする。n個のキュービットに作用するToffoli-nゲートは、上記の方法900によって3n/2個のEASEゲート及び単一キュービットゲートによって実装することができるが、従来の方法は、少なくとも2n個の2キュービットゲートを必要とする。n個のキュービットに作用するToffoli-nゲートは、上記の方法1000によって、O(2n)個の補助キュービットありで、2つのEASEゲートによって実装することができるが、従来の方法は、少なくとも2n個の2キュービットゲートを必要とする。n個のキュービットに作用するキュービット置換操作及び制御置換ゲートは、各々、O(1)個のEASEゲート(すなわち、キュービットの数nが増加しても必要とされるEASEゲートの数は一定である)及び単一キュービットによって実装することができるが、従来の方法は、O(n)個の2キュービットゲートを必要とする。
【0069】
上記は特定の実施形態を対象としているが、他のさらなる実施形態は、その基本的な範囲から逸脱することなく考案することができ、その範囲は、以下の特許請求の範囲によって決定される。
【国際調査報告】