【手続補正書】
【提出日】平成17年11月28日(2005.11.28)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
コンピュータシステムと共に利用するコンピュータプログラム製品であって、
前記コンピュータプログラム製品は、コンピュータ読み出し可能な記憶媒体と、その中に組み込まれるコンピュータプログラム機構と、を備え、
前記コンピュータプログラム機構は、
複数のキュビットに対する量子論理を設計するための量子コンピューティング統合開発環境（ＱＣ−ＩＤＥ）モジュールであって、時間分解設定のオペレータを発生させるための命令を含んでいる前記ＱＣ−ＩＤＥモジュールと、
量子論理をコンパイルするためのコンパイラモジュールであって、前記時間分解設定のオペレータを一組の量子機械語命令にコンパイルするためのコンパイラモジュールと、
を備えることを特徴とするコンピュータプログラム製品。
【請求項２】
量子機械語命令の前記組は、一組のハードウェア実行可能な命令を含み、
前記組のハードウェア実行可能な命令における少なくとも１つの命令は、量子コンピュータにおいてのみ実行され得ることを特徴とする請求項１に記載のコンピュータプログラム製品。
【請求項３】
量子機械語命令の前記組は、従来のコンピュータ上で実行可能な命令をさらに含むことを特徴とする請求項２に記載のコンピュータプログラム製品。
【請求項４】
オペレータの前記時間分解設定は、基本オペレータのシーケンスを含むことを特徴とする請求項１に記載のコンピュータプログラム製品。
【請求項５】
基本オペレータの前記シーケンスは、所定の量子コンピュータに対する全ての可能なユニタリ変換を含むことを特徴とする請求項４に記載のコンピュータプログラム製品。
【請求項６】
前記所定の量子コンピュータは、ユニタリオペレータの全集合において各オペレータを実行することができる量子システムであることを特徴とする請求項５に記載のコンピュータプログラム製品。
【請求項７】
基本オペレータの前記シーケンスは、２N×２Nのユニタリ行列によって描写されており、
Ｎは、前記基本オペレータを実行するのに用いられる前記量子コンピュータにおけるキュビットの数であることを特徴とする請求項４に記載のコンピュータプログラム製品。
【請求項８】
基本オペレータの前記シーケンスのうちの１つの基本オペレータは、ユニタリ行列
【数１】
2005513680.tif 000001
によって表されることを特徴とする請求項４に記載のコンピュータプログラム製品。
【請求項９】
基本オペレータの前記シーケンスのうちの１つの基本オペレータは、ユニタリ行列
【数２】
2005513680.tif 000002
によって表されることを特徴とする請求項４に記載のコンピュータプログラム製品。
【請求項１０】
基本オペレータの前記シーケンスのうちの１つの基本オペレータは、ユニタリ行列
【数３】
2005513680.tif 000003
によって表されることを特徴とする請求項４に記載のコンピュータプログラム製品。
【請求項１１】
基本オペレータの前記シーケンスのうちの１つの基本オペレータは、前記量子コンピュータにおける単一のキュビットに適用されることを特徴とする請求項４に記載のコンピュータプログラム製品。
【請求項１２】
基本オペレータの前記シーケンスのうちの１つの基本オペレータは、複数のキュビットに適用されることを特徴とする請求項４に記載のコンピュータプログラム製品。
【請求項１３】
前記ＱＣ−ＩＤＥモジュールは、基本量子ゲートのシーケンスを前記時間分解設定のオペレータに含まれる単一の抽象量子ゲートとして定義するための命令をさらに含むことを特徴とする請求項１に記載のコンピュータプログラム製品。
【請求項１４】
前記ＱＣ−ＩＤＥモジュールは、抽象量子ゲートのシーケンスを前記時間分解設定のオペレータに含まれる単一の抽象量子ゲートとして定義するための命令を含むことを特徴とする請求項１に記載のコンピュータプログラム製品。
【請求項１５】
前記ＱＣ−ＩＤＥモジュールは、量子コンピュータのドライバ仕様を設定するための命令を含むことを特徴とする請求項１に記載のコンピュータプログラム製品。
【請求項１６】
前記ＱＣ−ＩＤＥモジュールは、前記時間分解設定のオペレータに基本オペレータの周波数を設定するための命令を含むことを特徴とする請求項１に記載のコンピュータプログラム製品。
【請求項１７】
前記時間分解設定のオペレータにおける基本オペレータの周波数を設定するための前記命令は、
前記基本オペレータにおける各パルスの鋭さを設定するための命令と、
前記基本オペレータにおける各パルスの振幅を設定するための命令と、
をさらに備えることを特徴とする請求項１６に記載のコンピュータプログラム製品。
【請求項１８】
前記ＱＣ−ＩＤＥモジュールは、前記時間分解設定のオペレータにおける各基本オペレータの周波数を独立に設定するための命令を含んでいる請求項１に記載のコンピュータプログラム製品。
【請求項１９】
前記ＱＣ−ＩＤＥモジュールは、量子コンピューティングシステムを選択して量子機械語命令の前記組の全部又は一部を実行するための命令を含んでいる請求項１に記載のコンピュータプログラム製品。
【請求項２０】
前記ＱＣ−ＩＤＥモジュールは、量子コンピューティングシステムを定義するための命令を含むことを特徴とする請求項１に記載のコンピュータプログラム製品。
【請求項２１】
量子コンピューティングシステムを定義するための前記命令は、前記量子コンピューティングシステムによって実行され得る一組の基本オペレーションを特定するための命令を含むことを特徴とする請求項２０に記載のコンピュータプログラム製品。
【請求項２２】
量子コンピューティングシステムを定義するための前記命令は、前記量子コンピューティングシステムにおけるノイズを特定するための命令を含むことを特徴とする請求項２０に記載のコンピュータプログラム製品。
【請求項２３】
量子コンピューティングシステムを定義するための前記命令は、前記量子コンピューティングシステムに対するドライバ仕様を定義するための命令を含むことを特徴とする請求項２０に記載のコンピュータプログラム製品。
【請求項２４】
前記ＱＣ−ＩＤＥモジュールは、オペレータの前記時間分解設定における抽象量子ゲートを基本オペレータのシーケンスに変換するための命令を含むことを特徴とする請求項１に記載のコンピュータプログラム製品。
【請求項２５】
変換のための前記命令は、一組の単純化ルールを用いることを特徴とする請求項２４に記載のコンピュータプログラム製品。
【請求項２６】
単純化ルールの前記組のうちの１つの単純化ルールは、基本オペレータの交換であることを特徴とする請求項２５に記載のコンピュータプログラム製品。
【請求項２７】
単純化ルールの前記組のうちの１つの単純化ルールは、第１の基本オペレータと第２の基本オペレータとの間の冗長性の除去であることを特徴とする請求項２５に記載のコンピュータプログラム製品。
【請求項２８】
変換のための前記命令は、オペレータの前記時間分解設定における抽象オペレータを基本オペレータの等価シーケンスとして表示するための命令を含むことを特徴とする請求項２４に記載のコンピュータプログラム製品。
【請求項２９】
量子コンピューティングのための方法であって、
複数のキュビットに対する量子論理の設計であって、時間分解設定のオペレータを発生させることを含む前記設計と、
オペレータの前記時間分解設定を一組の量子機械語命令にコンパイルすることと、
を備えている方法。
【請求項３０】
前記方法は、
量子コンピューティングシステムにおいて前記量子機械語命令を実行すること、及び
前記量子機械語命令の実行の結果を出力すること、
をさらに備えることを特徴とする請求項２９に記載の方法。
【請求項３１】
前記量子機械語命令は、量子システムをモデル化することを特徴とする請求項２９に記載の方法。
【請求項３２】
前記量子システムは、多体電子システム、核融合、溶解状態のプロテイン、溶解状態の核酸、又は高分子と有機化合物の間の相互作用であることを特徴とする請求項３１に記載の方法。
【請求項３３】
量子論理を設計するためのコンピュータシステムであって、
中央処理装置と、
前記中央処理装置に接続されるメモリであって、量子コンピューティング統合開発環境（ＱＣ−ＩＤＥ）モジュール及びコンパイラモジュールを記憶するメモリと、
時間分解設定のオペレータを発生させるための命令を含んでいる前記量子コンピューティング統合開発環境（ＱＣ−ＩＤＥ）モジュールと、
前記時間分解設定のオペレータを一組の量子機械語命令にコンパイルするための命令を含んでいる前記コンパイラモジュールと、
を備えているコンピュータシステム。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０００７
【補正方法】変更
【補正の内容】
【０００７】
【特許文献１】米国特許番号６，８０３，５９９
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】０００８
【補正方法】変更
【補正の内容】
【０００８】
量子計算を実現するキュビットオペレーション及び制御システムの議論については、その全体が参照によって取り込まれている、“Ｑｕａｎｔｕｍ ｐｒｏｃｅｓｓｉｎｇ ｓｙｓｔｅｍ ａｎｄ ｍｅｔｈｏｄ ｆｏｒ ａ ｓｕｐｅｒｃｏｎｄｕｃｔｉｎｇ ｐｈａｓｅ ｑｕｂｉｔ”と称する、２００１年６月１日に出願された特許文献１を参照すればよい。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】００６６
【補正方法】変更
【補正の内容】
【００６６】
例証されるシステム１０には量子コンピューティングシステム７０が１つだけ例証されているが、実際には、システム１０は任意数の量子コンピューティングシステム７０を有する。さらに、システム１０における各量子コンピューティングシステム７０は、同じタイプのキュビットやアーキテクチャを有することを必要としない。例えば、システム１０における量子コンピューティングシステム７０の中には、フラックスキュビット７４を含む１つ又は複数の量子レジスタ７２を含んでいるものもあれば、システム１０における量子コンピューティングシステム７０の中には、電荷キュビット７２を含む１つ又は複数の量子レジスタ７２を含んでいるものもある。さらに、システム１０における幾つかの量子コンピューティングシステム７０は、ハイブリッドレジスタであって、例えばフラックスキュビット及び電荷キュビットの両方を含んでいる１つ又は複数の量子レジスタ７２を含んでいる。ドライバハードウェア５８は、以下でさらに詳細に述べるように、システム１０で用いられる量子コンピューティングシステム７０の各々の特性を追跡するのに用いられる。
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】００７７
【補正方法】変更
【補正の内容】
【００７７】
５．３  条件ステップの量子論理への導入
本発明の１つの側面は、一組の条件動作を含む量子論理４８（図１）を提供する。これらの条件は、単一のキュビット７４又は複数のキュビット７４の先の読み出しオペレーションの結果に基づいている。キュビット７４の読み出しは、キュビットの状態を縮小させることを伴い、キュビットが従来の“１”又は“０”を返し、その後、（０又は１）の値を測定する。本発明のこの側面は、量子アルゴリズムが単一キュビット７４又は複数のキュビット７４の読み出しに基づく条件動作をしばしば必要とするので、有利である。例えば、Ｓｈｏｒ氏の特許文献２を参照すると、これによって、その全体が参照によって取り込まれている。エラーデコーディングオペレーションは、典型的には、可能なエラーを情報から取り除くために、一定の補助的キュビット７４の状態を読み出すこと、及びそれらの測定に基づいて他のキュビットにおいてオペレーションを実行することを伴う。さらに、読み出し及び後続の条件動作は、典型的には、量子テレポーテーションに用いられる。特許文献２において、論理的な量子状態をデコードすることは、２つのキュビットを測定し、その後、最初の２つのキュビットの読み出しの結果に基づいたターゲットキュビットにおいてＮＯＴ量子オペレーションを実行することを必要とする。
【手続補正６】
【補正対象書類名】明細書
【補正対象項目名】００８２
【補正方法】変更
【補正の内容】
【００８２】
５．４  時間分解設定のオペレータのコンパイル
一組の抽象オペレータ４８の形態で表される量子論理を、一組の量子機械語命令５２（図１）に変換するために、抽象オペレーション１００２は、最初に等価な一組の基本オペレータにコンパイルされなければならない。量子論理をコンパイルすることは、一組の抽象オペレーション１００２を一組の基本オペレーションに変換すること、及び一組の量子機械語命令５２を作成するためにドライバ設定を基本オペレーションに組み込むことを含んでいる。
【手続補正７】
【補正対象書類名】明細書
【補正対象項目名】００９６
【補正方法】変更
【補正の内容】
【００９６】
５．５  量子機械語命令
一度、量子論値４８及びドライバ５８の詳細がコンパイルされると、実行され得る一組の量子機械語命令５２が現れる。機械語命令５２の性質は、それらの命令を実行するためのメカニズム次第である。例えば、命令セットを実行するためのメカニズムは、特定の量子コンピューティングシステム７０、又はデジタルコンピュータ２０のメモリ２４に固有の前記システムのシミュレーションであり得る。従って、利用可能な基本オペレータの組は、各量子コンピューティングシステムに対して様々である。
【手続補正８】
【補正対象書類名】明細書
【補正対象項目名】００９８
【補正方法】変更
【補正の内容】
【００９８】
５．６  量子論理設計プロセス
図３Ａ、３Ｂ及び３Ｃは、本発明の様々な実施例に従う量子論理設計プロセスを例証する。図３Ａは、ＱＣ−ＩＤＥモジュール４４の幾つかの実施例で見受けられるオペレーションシーケンス設計ツールを例証する。これらのツールは、ドライバ詳細を特定し、量子コンピューティングシステム７０の初期条件を特定し、命令セット４８を命令セット５２にコンパイルするためのツールを含んでいる（図１）。本発明の幾つかの実施例において、量子コンピューティングシステム７０におけるキュビット７４の初期条件は、デフォルトで｜０＞状態に設定される。
【手続補正９】
【補正対象書類名】明細書
【補正対象項目名】０１０２
【補正方法】変更
【補正の内容】
【０１０２】
５．７  従来コンピュータ上での量子システムのシミュレート
上述のように、本発明の幾つかの実施例において、従来のコンピュータ２０は、設計し、コンパイルし、実行し、量子コンピューティング統合開発環境に対する出力を提供するのに用いられ得る。従って、本発明の幾つかの実施例において、量子コンピューティングシステムは、従来のコンピュータ２０を用いてシミュレートされる。
【手続補正１０】
【補正対象書類名】明細書
【補正対象項目名】０１０８
【補正方法】変更
【補正の内容】
【０１０８】
５．８  量子システムの校正
本発明の幾つかの実施例は、量子コンピューティングシステム７０を校正するように用いられ得る。前記実施例は、（ｉ）量子レジスタ７２の初期化、（ｉｉ）基本状態の幾つかの重ね合わせに対するレジスタ７２の進化、（ｉｉｉ）量子レジスタ７２の状態の進化、（ｉｖ）進化の結果の読み出し、に対する機能性を含んでいる。この機能性は、量子レジスタ７２における単一キュビット７４を校正するのに有用である。前記校正において、キュビット７４は、初期化され、続いて量子コンピューティングシステム７０における固有のデコヒーレンスプロセスに関して情報を集めるために読み出される。さらに、初期化の後、基本オペレータのシーケンスは、読み出しオペレーションが適用される前にキュビットに適用され得る。繰り返される測定プロセスを介して、量子コンピューティングシステム７０における前記特定のキュビット７４の統計的分析は、所定の量子コンピューティングシステム７０の単一キュビット７４に適用可能な各々の基本オペレーションに関連するように取り入れられ得る。処理手順は、複数のキュビット７４の校正に拡張され得る。さらに、キュビット間の相互作用オペレータは、本発明のシステム及び方法を用いて同様に校正され得る。
【手続補正１１】
【補正対象書類名】明細書
【補正対象項目名】０１１０
【補正方法】変更
【補正の内容】
【０１１０】
５．９  ＱＣ−ＩＤＥのインターフェースモード
図６から８は、本発明の一実施例に従ってＱＣ−ＩＤＥ４４のインターフェースモードの様々な側面を例証する。図６Ａは、回路レイアウトインターフェースモジュール６２０、機械語インターフェース６１０、パルス振幅インターフェース６１１、初期条件インターフェース６１５、制御パネル６３０、グローバル設定インターフェース６４０、ツールバーメニュー６５０、及びシステム情報インターフェース６６０を例証する。
【手続補正１２】
【補正対象書類名】明細書
【補正対象項目名】０１３０
【補正方法】変更
【補正の内容】
【０１３０】
論理設計インターフェース７８０に例証されるテレポーテーション回路は、キュビットＱ１及びＱ２における読み出しオペレーションを含んでいる。それそれの読み出しオペレーションから生じる値は｜１＞に従い、その後、さらに、ゲートはターゲットキュビットＱ３に適用される（図８Ａ）。例えば、図８Ａを再度参照すると、キュビットＱ１に適用されるＸ及びＺの論理ゲートは、キュビットＱ１及びＱ２で実行される読み出しオペレーションの値に基づいた条件オペレーションである。キュビットＱ２における読み出しオペレーションが結果として｜１＞の値を生ずる場合、その後、Ｘオペレーションは、キュビットＱ１に適用され、キュビットＱ１における読み出しオペレーションが結果として｜１＞の値を生ずる場合、その後、Ｚオペレーションは、Ｑ１に適用される。これらの条件オペレーションは、図８Ａで例証される量子回路において、ドロップダウンメニュー７８１の条件オプションでなされる選択によって達成される。本発明の一実施例において、ドロップダウンメニュー７８１における条件オプションは、ユーザが読み出しオペレーションにおいてドロップダウンメニュー７８１を開いた場合にのみ現れる。本発明における量子回路の条件オペレーションは、上記５．３節で詳細に描写されている。