JP4718244B2 - 量子プログラム変換装置、その方法、そのプログラム及び記録媒体 - Google Patents
量子プログラム変換装置、その方法、そのプログラム及び記録媒体 Download PDFInfo
- Publication number
- JP4718244B2 JP4718244B2 JP2005156722A JP2005156722A JP4718244B2 JP 4718244 B2 JP4718244 B2 JP 4718244B2 JP 2005156722 A JP2005156722 A JP 2005156722A JP 2005156722 A JP2005156722 A JP 2005156722A JP 4718244 B2 JP4718244 B2 JP 4718244B2
- Authority
- JP
- Japan
- Prior art keywords
- quantum
- information
- class library
- program
- error correction
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N10/00—Quantum computing, i.e. information processing based on quantum-mechanical phenomena
Landscapes
- Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Mathematical Analysis (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Condensed Matter Physics & Semiconductors (AREA)
- Computational Mathematics (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Artificial Intelligence (AREA)
- Stored Programmes (AREA)
Description
因数分解や検索などの特定の問題に関して、現在のコンピュータよりもはるかに高速に問題を解くことができる「量子コンピュータ」と呼ばれるコンピュータが提案されている。量子コンピュータとは、普通のコンピュータで用いられる計算単位のビットの代わりに、「キュービット」を計算単位として用いるコンピュータのことである。キュービットを用いると、ビット列の重ねあわせが表現できる。量子コンピュータの高速性は、重ねあわせを利用した量子並列計算によって得られる。
一般に、任意に与えられたユニタリ行列を物理的に実現することは困難である。そこで、組み合わせれば任意のユニタリ行列を近似できる基本操作の組を用意し、その基本操作を組み合わせることで所望のユニタリ行列を実現する。組み合わせれば任意のユニタリ行列を近似できる基本操作の組をユニバーサルゲートと呼ぶ。なお、これらの基本操作は論理ゲート風の記号で表現されることが多く、量子ゲートとも呼ばれる。また、量子ゲートを論理回路のように並べて作ったものを量子回路と呼ぶ。
その一方で、有限個の量子ゲートの組で構成されるユニバーサルゲートも存在する。よく知られた例は、アダマールゲート、フェーズゲート、CNOT、π/8ゲートの組である。これは1キュービット回転操作とCNOTで構成されるユニバーサルゲートの有限部分集合である。このユニバーサルゲートでは、ユニタリ行列を正確に表現することはできないが近似することはできる。そのため、これら4つの量子ゲートを使って量子計算を実行することができる。また、アダマールゲート、フェーズゲート、CNOTゲート、トフォリゲートの組も、有限個でユニバーサルになる例である(例えば、非特許文献2参照)。
上述のようなユニバーサルゲートを量子コンピュータに実装する場合、その量子系ごとに所定の物理的制約が存在する。また、そのような物理的制約を前提に最適な量子回路を構成する研究も進められている。
例えば、ほとんどの量子系においてユニバーサルゲートに要求される可能性が高い物理的制約として、近接キュービット間相互作用がある。量子コンピュータの操作ではエンタングル状態をコントロールしなければならないため、CNOTのような2キュービット以上の量子ゲートが必須である。そして、1キュービット回転操作とCNOTのユニバーサルゲートモデルでは、遠くは離れた2キュービット間のCNOT操作を認めている。しかし、イオントラップを除くほとんどの量子系では、遠く離れたキュービット問での相互作用は困難である。これに対し、近接キュービット間の相互作用しか利用できない量子系において、効率的な量子回路を構成する方法が特許文献1に開示されている。
[量子プログラムと量子コンパイラ]
このように、量子系に応じてさまざまユニバーサルゲートが想定できるため、量子プログラム(量子コンピュータによる処理内容を記述したコード)を設計する技術者が量子回路を直接設計することは、非現実的である。そして、量子アルゴリズムの設計のために、より人間が扱いやすい量子言語とそれを量子回路に変換する量子コンパイラが望まれているのは自然の流れである。
A. Barenco, C. H. Bennett, R. Cleve, D. P. DiVincenzo, N. Margolus, P. Shor, P. Sleator, J. A. Smolin, H. Weinfurter, Elementary Gates for Quantum Computation, Physical Review A 52, 3457(1995) M. A. Nielsen and I. L. Chuang, Quantum Computation and Quantum Information, Section 4.5, Cambridge University Press. 河野泰人,木村欣司,関川浩,「Decoherence-free subspaceにおける量子ゲートについて」,信学技法,COMP2004-23, 2004年6月 R. R. Tucci, A Rudimentary Quantum Compiler (2nd edition), [online], [平成17年5月20日検索], インターネット<http://arxiv.org/abs/quant-ph/9902062> R. R. Tucci, Qubiter Algorithm Modification, Expressing Unstructured Unitary Matrices with Fewer CNOTs), [online], [平成17年5月20日検索], インターネット<http://arxiv.org/abs/quant-ph/0411027> Peter Selinger, Towards a quantum programming language, Mathematical Structures in Computer Science 14(4): 527-586, 2004.
すなわち、前述のように、最適なユニバーサルゲートは量子コンピュータの量子系に依存する。ところが、量子プログラムの設計者は、プログラミングに詳しくても量子コンピュータに詳しいとは限らない。そのため、量子コンピュータ普及のためには、使用できる量子ゲートを意識せずに、プログラミングができる環境が求められていた。
本発明はこのような点に鑑みてなされたものであり、人間が扱いやすい量子言語を、量子コンピュータの量子系に応じた最適な量子回路に自動的に変換することにより、量子コンピュータのハードウェアを考慮することなく、量子コンピュータのプログラミングを行うことを可能にする技術的思想を提供することを目的とする。
また、好ましくは、クラスライブラリ記憶部に、量子コンピュータの量子系に対応するクラスライブラリ識別情報と、量子コンピュータによる処理内容を記述した量子処理記述情報と、当該クラスライブラリ識別情報に対応する量子コンピュータにおいて当該量子処理記述情報が示す処理内容を実現するために適した量子ゲートを示す量子ゲート情報と、が関連付けられたクラスライブラリを記憶させておき、さらにエラー訂正ライブラリ記憶部に、量子コンピュータの量子系に対応するエラー訂正ライブラリ識別情報と、量子ゲート情報と、当該量子ゲート情報をエラー訂正可能な回路構成に変換したエラー訂正量子ゲート情報と、が関連付けられたエラー訂正ライブラリを記憶させておく。量子プログラムが入力されると、解析部において、当該量子プログラムから、クラスライブラリ識別情報を指定するためのクラスライブラリ指定情報と、エラー訂正ライブラリ識別情報を指定するためのエラー訂正ライブラリ指定情報と、量子処理記述情報とを抽出する。次に、第1検索部において、解析部が抽出したクラスライブラリ指定情報と量子処理記述情報とに対応する量子ゲート情報を、クラスライブラリから抽出する。また、第2検索部において、解析部が抽出したエラー訂正ライブラリ指定情報と第1検索部が抽出した量子ゲート情報とに対応するエラー訂正量子ゲート情報を、エラー訂正ライブラリから抽出する。そして、量子回路生成部において、第2検索部が抽出したエラー訂正量子ゲート情報を用いて量子回路を生成し、当該量子回路を示す量子回路情報を出力する。
〔第1の実施の形態〕
<装置構成>
図1は、第1の実施の形態における量子プログラム変換装置100の構成を例示したブロック図である。
この図に例示するように、本形態の量子プログラム変換装置100は、制御部110、入力部120、出力部130、クラスライブラリ記憶部140、一時メモリ150、解析部161、検索部162、量子回路生成部163、古典コード生成部165及びリンカ部166を有し、入力された量子プログラムを量子回路情報に変換して出力する。なお、解析部161は、字句解析部161a、構文解析部161b及び意味解析部161cを具備し、一時メモリ150は、領域151〜158を具備している。また、解析部161及び古典コード生成部165が用いるライブラリの記載は省略してある。
図2(a)は、図1に例示したクラスライブラリ記憶部140に記憶されるクラスライブラリ200−1〜200−nの様子を例示した概念図である。
図2(a)に例示するように、クラスライブラリ記憶部140には、複数のクラスライブラリ200−1〜200−nが格納されている。これらの各クラスライブラリ200−1〜200−nは、量子プログラムから生成する量子回路が実装される量子コンピュータの量子系(核磁気共鳴(NMR)系、結晶格子量子系、イオントラップ系、線形光学素子系等に代表される量子力学特有の現象を動作原理とする物理素子から成るシステム)にそれぞれ対応して設けられる。
図2(b)に例示するように、クラスライブラリ200−1は、量子コンピュータの量子系に対応するクラスライブラリ識別情報210−1と、量子コンピュータによる処理内容を記述した量子処理記述情報220−1と、当該クラスライブラリ識別情報210−1に対応する量子コンピュータにおいて当該量子処理記述情報220−1が示す処理内容を実現するために適した量子ゲートを示す量子ゲート情報230−1と、が関連付けられている。
このクラスライブラリ200−2も、クラスライブラリ識別情報210−2と量子処理記述情報220−2と量子ゲート情報230−2とが関連付けられて構成されている。しかし、クラスライブラリ200−1の場合とは別の量子系の量子コンピュータに対応するものであるため、量子ゲート情報230−2の内容の少なくとも一部はクラスライブラリ200−1と相違する。
なお、その他のクラスライブラリもクラスライブラリ識別情報と量子処理記述情報と量子ゲート情報とが関連付けられて構成されるが、対応する各量子コンピュータに応じ、量子ゲート情報の内容が異なる。
図6は、第1の実施の形態における量子プログラム300を例示した図である。
この図に例示するように、量子プログラム300は、古典コンピュータでの処理内容を記載したソースコードである古典処理記述情報ソースコード301、前述のクラスライブラリ識別情報を指定するためのクラスライブラリ指定情報ソースコード302及び量子コンピュータでの処理内容を記載したソースコードである量子処理記述情報ソースコード303を有している。なお、量子処理記述情報ソースコード303には、量子コンピュータでの処理内容のみが記載され、具体的な量子回路に関する情報は記載されていない。
次に、第1の実施の形態における量子プログラム変換処理について説明する。
図7は、第1の実施の形態における量子プログラム変換処理を説明するためのフローチャートである。以下、この図に沿って、本形態の量子プログラム変換処理を説明する。
まず、入力部120において、量子プログラムが入力され、入力された量子プログラムは、一旦、一時メモリ150の領域151に格納される(ステップS1)。次に、解析部161において、一時メモリ150の領域151から量子プログラムを読み込み、当該量子プログラムから、クラスライブラリ識別情報を指定するためのクラスライブラリ指定情報と量子処理記述情報と古典処理記述情報とを抽出する(ステップS2)。具体的には、例えばまず、字句解析部161aにおいて、一時メモリ150の領域151から量子プログラムを読み込み、その字句解析を行い、その字句解析結果を領域152に格納する。次に、構文解析部161bにおいて、一時メモリ150の領域152から字句解析結果を読み込み、その構文解析を行い、その構文解析結果を領域153に格納する。最後に、意味解析部161cにおいて、一時メモリ150の領域153から構文解析結果を読み込み、その意味解析を行い、その意味解析結果である「クラスライブラリ指定情報」「量子処理記述情報」「古典処理記述情報」を領域154に格納する。なお、「クラスライブラリ指定情報」「量子処理記述情報」及び「古典処理記述情報」は、前述の「クラスライブラリ指定情報ソースコード」「量子処理記述情報ソースコード」及び「古典処理記述情報ソースコード」(図6参照)からそれぞれ抽出されたものである。また、ここで抽出される「量子処理記述情報」は、クラスライブラリ200−1〜nの量子処理記述情報の何れかに対応するものである。さらに、量子処理記述情報の抽出には、例えば、「R. R. Tucci, A Rudimentary Quantum Compiler (2nd edition), [online], [平成17年5月20日検索], インターネット<http://arxiv.org/abs/quant-ph/9902062>」や「R. R. Tucci, Qubiter Algorithm Modification, Expressing Unstructured Unitary Matrices with Fewer CNOTs), [online], [平成17年5月20日検索], インターネット<http://arxiv.org/abs/quant-ph/0411027>」に開示された方法を用いる。
この例の場合、検索部162は、まず、読み込んだクラスライブラリ指定情報が指定するクラスライブラリ識別情報に関連付けられているクラスライブラリをクラスライブラリ記憶部140から抽出する。例えば、図6に例示した量子プログラム300の場合、検索部162は、クラスライブラリ指定情報ソースコード302から抽出されたクラスライブラリ指定情報「cstd1lib」が指定するクラスライブラリ識別情報「cstd1」210−1に関連付けられているクラスライブラリ200−1(図2(b))をクラスライブラリ記憶部140から抽出する。次に、検索部162は、抽出したクラスライブラリにおいて、読み込んだ量子処理記述情報と関連付けられている量子ゲート情報を抽出する。図6に例示した量子プログラム300の場合、検索部162は、抽出したクラスライブラリ200−1(図2(b))において、読み込んだ量子処理記述情報と関連付けられている量子ゲート情報を抽出する。その後、検索部162は、抽出した量子ゲート情報を一時メモリ150の領域155に格納する。
次に、リンカ部166において、一時メモリ150の領域156から量子回路情報を、領域157から古典オブジェクトコードを、それぞれ読み込む。そして、リンカ部166は、量子回路情報及び古典オブジェクトコードの動的リンクを形成し、このリンク情報を領域158に格納する(ステップS6)。
<本形態の特徴>
本形態では、量子コンピュータの各量子系に対して最適なクラスライブラリを設定しておき、量子プログラムを実装する量子コンピュータに応じて最適なクラスライブラリを用いて、量子プログラムから量子回路への変換を行うこととした。これにより、プログラマが量子コンピュータのハードウェアの違いを意識せずに量子プログラムを記述し、実行させることができる。例えば、本形態の量子プログラム変換装置100では、
main{
qubit x[5],y[6];
y.qadd(x);
}
という入力xとyからx+yを計算し、yに入力する量子プログラムに対し、量子系の違いに応じた以下のような量子回路を自動的に生成できる。例えば、量子プログラム変換装置100は、CNOTゲートよりも制御回転ゲートを用いることが望ましい量子系に対しては、CNOTゲートの代わりに制御回転ゲートを用いたクラスライブラリを用い、量子回路を生成する。その結果、図9(a)に例示するようなキュービット回転ゲートと制御回転ゲートからなるユニバーサルゲートを持つ量子回路が生成される。なお、QFT(量子フーリエ変換)部分の量子回路は図10に示すとおりである。一方、量子プログラム変換装置100は、CNOTゲートを用いることが望ましい量子系に対しては、CNOTゲートを用いたクラスライブラリを用い、量子回路を生成する。その結果、図9(a)に例示するような1キュービット回転ゲートとCNOTゲートからなるユニバーサルゲートを持つ量子回路が生成される。しかし、いずれの場合も、プログラマから見た量子プログラムは同一である。
また、本形態で説明してきたように、この技術を利用することにより、量子プログラムに古典コンピュータの動作命令と、量子コンピュータの動作命令を混在して記述することができる。これにより、プログラマから見て、量子コンピュータと古典コンピュータの区別をすることなく、同じ感覚でプログラミングをすることが可能となる。
本形態は、第1の実施の形態の変形例であり、量子プログラムをエラー訂正可能な量子回路に変形する点が第1の実施の形態と相違する。以下では、第1の実施の形態との相違点を中心に説明し、第1の実施の形態と共通する事項については説明を省略する。
<装置構成>
図11は、第2の実施の形態における量子プログラム変換装置400の構成を例示したブロック図である。なお、この図において第1の実施の形態と共通する部分については図1と同じ符号を付した。
クラスライブラリ記憶部140に格納されるデータの構成は第1の実施の形態と同じである。以下では、エラー訂正ライブラリ記憶部440に格納されるデータの構成について説明する。
図12は、図11に例示したエラー訂正ライブラリ記憶部440に記憶されるエラー訂正ライブラリ500−1〜500−mの様子を例示した概念図である。
図12に例示するように、エラー訂正ライブラリ記憶部440には、複数のエラー訂正ライブラリ500−1〜500−mが格納されている。これらのエラー訂正ライブラリ500−1〜500−mは、量子プログラムから生成する量子回路が実装される量子コンピュータの量子系にそれぞれ対応して設けられる。
これらの図に例示するように、エラー訂正ライブラリ500−1,2は、それぞれ量子コンピュータの量子系に対応するエラー訂正ライブラリ識別情報(「7qubitcode1」「7qubitcode2」)510−1,2と、量子ゲート情報520−1,2と、当該量子ゲート情報520−1,2をエラー訂正可能な回路構成に変換したエラー訂正量子ゲート情報530−1,2と、が関連付けられたテーブルである。その他のエラー訂正ライブラリも同様な構成となっている。しかし、コンピュータの量子系の違いに応じ、エラー訂正量子ゲート情報が異なる場合もあるため、各エラー訂正ライブラリのデータ内容自体はエラー訂正ライブラリごとに相違する。なお、エラー訂正ライブラリにおける量子ゲート情報は、クラスライブラリにおける量子ゲート情報と同じであってもよいし、クラスライブラリにおける量子ゲート情報が示す量子ゲートをさらに分解した量子ゲートや、クラスライブラリにおける量子ゲート情報が示す量子ゲートを統合した量子ゲートの情報であってもよい。また、エラー訂正量子ゲートとしては、例えば、7qubitエラー訂正ゲートを例示できる。なお、7qubitエラー訂正やそれへの変換手法については、例えば、「Michael A.Nielsen, Isaac L.Chuang共著,木村達也訳,”量子コンピュータと量子通信”,オーム社」に詳しく説明されている。
図14は、第2の実施の形態における量子プログラム600を例示した図である。
この図に例示するように、量子プログラム600は、古典コンピュータでの処理内容を記載したソースコードである古典処理記述情報ソースコード601、前述のクラスライブラリ識別情報を指定するためのクラスライブラリ指定情報ソースコード602、前述のエラー訂正ライブラリ識別情報を指定するためのエラー訂正ライブラリ識別情報ソースコード603、及び量子コンピュータでの処理内容を記載したソースコードである量子処理記述情報ソースコード604を有している。なお、量子処理記述情報ソースコード604には、量子コンピュータでの処理内容のみが記載され、具体的な量子回路に関する情報は記載されていない。
次に、第2の実施の形態における量子プログラム変換処理について説明する。
図15は、第2の実施の形態における量子プログラム変換処理を説明するためのフローチャートである。以下、この図に沿って、本形態の量子プログラム変換処理を説明する。
まず、入力部120において、量子プログラムが入力され、入力された量子プログラムは、一旦、一時メモリ150の領域151に格納される(ステップS11)。次に、第1の実施の形態と同様に、解析部161において、一時メモリ150の領域151から量子プログラムを読み込み、当該量子プログラムから、クラスライブラリ識別情報を指定するためのクラスライブラリ指定情報とエラー訂正ライブラリ指定情報と量子処理記述情報と古典処理記述情報とを抽出し、一時メモリ150の領域454に格納する(ステップS12)。なお、「エラー訂正ライブラリ指定情報」は、前述の「エラー訂正ライブラリ識別情報ソースコード」(図14参照)から抽出されたものである。
次に、(第2)検索部461において、一時メモリ150の領域454から解析部161が抽出したエラー訂正ライブラリ指定情報(例えば「7qubitcode1lib」)を読み込み、領域155から検索部162が抽出した量子ゲート情報を読み込む。そして、検索部461は、これらに対応するエラー訂正量子ゲート情報を、エラー訂正ライブラリ記憶部440に記憶されたエラー訂正ライブラリ(上記の例では、エラー訂正ライブラリ識別情報(7qubitcode1)510−1に対応するエラー訂正ライブラリ500−1を用いる。)から抽出する(ステップS14)。
次に、リンカ部166において、一時メモリ150の領域156から量子回路情報を、領域157から古典オブジェクトコードを、それぞれ読み込む。そして、リンカ部166は、量子回路情報及び古典オブジェクトコードの動的リンクを形成し、このリンク情報を領域158に格納する(ステップS17)。
<本形態の特徴>
本形態では、第1の実施の形態に加え、量子プログラムの量子系ごとにエラー訂正ライブラリを設け、量子系に応じてエラー訂正ライブラリを使い分けつつ、量子ゲート情報からエラー訂正量子ゲートへの変換を行い、これらのエラー訂正量子ゲートから量子回路を構成することとした。これにより、プログラマが量子コンピュータのハードウェアの違いを意識せずに量子プログラムを記述し、エラー訂正可能な量子回路によって各処理を実行させることができる。
この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよいが、具体的には、例えば、磁気記録装置として、ハードディスク装置、フレキシブルディスク、磁気テープ等を、光ディスクとして、DVD(Digital Versatile Disc)、DVD−RAM(Random Access Memory)、CD−ROM(Compact Disc Read Only Memory)、CD−R(Recordable)/RW(ReWritable)等を、光磁気記録媒体として、MO(Magneto-Optical disc)等を、半導体メモリとしてEEP−ROM(Electronically Erasable and Programmable-Read Only Memory)等を用いることができる。
このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。そして、処理の実行時、このコンピュータは、自己の記録媒体に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるASP(Application Service Provider)型のサービスによって、上述の処理を実行する構成としてもよい。なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの(コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等)を含むものとする。
140 クラスライブラリ記憶部
440 エラー訂正ライブラリ記憶部
Claims (8)
- 量子コンピュータによる処理内容が記述されたソースコードを具備する量子プログラムから量子回路を示す量子回路情報を生成する量子プログラム変換装置であって、
量子コンピュータの量子系に対応するクラスライブラリ識別情報と、量子コンピュータによる処理内容を記述した量子処理記述情報と、当該クラスライブラリ識別情報に対応する量子コンピュータにおいて当該量子処理記述情報が示す処理内容を実現するために適した量子ゲートを示す量子ゲート情報と、が関連付けられたクラスライブラリを記憶したクラスライブラリ記憶部と、
量子プログラムが入力され、当該量子プログラムから、クラスライブラリ識別情報を指定するためのクラスライブラリ指定情報と量子処理記述情報とを抽出する解析部と、
上記解析部が抽出した上記クラスライブラリ指定情報と上記量子処理記述情報とに対応する上記量子ゲート情報を、上記クラスライブラリから抽出する検索部と、
上記検索部が抽出した上記量子ゲート情報を用いて量子回路を示す量子回路情報を生成し、当該量子回路を示す量子回路情報を出力する量子回路生成部と、
を有することを特徴とする量子プログラム変換装置。 - 請求項1に記載の量子プログラム変換装置であって、
前記クラスライブラリ記憶部が、
複数の量子系にそれぞれ対応する複数の前記クラスライブラリを具備する、
ことを特徴とする量子プログラム変換装置。 - 量子コンピュータによる処理内容が記述されたソースコードを具備する量子プログラムから量子回路を示す量子回路情報を生成する量子プログラム変換装置であって、
量子コンピュータの量子系に対応するクラスライブラリ識別情報と、量子コンピュータによる処理内容を記述した量子処理記述情報と、当該クラスライブラリ識別情報に対応する量子コンピュータにおいて当該量子処理記述情報が示す処理内容を実現するために適した量子ゲートを示す量子ゲート情報と、が関連付けられたクラスライブラリを記憶したクラスライブラリ記憶部と、
量子コンピュータの量子系に対応するエラー訂正ライブラリ識別情報と、量子ゲート情報と、当該量子ゲート情報をエラー訂正可能な回路構成に変換したエラー訂正量子ゲート情報と、が関連付けられたエラー訂正ライブラリを記憶したエラー訂正ライブラリ記憶部と、
量子プログラムが入力され、当該量子プログラムから、クラスライブラリ識別情報を指定するためのクラスライブラリ指定情報と、エラー訂正ライブラリ識別情報を指定するためのエラー訂正ライブラリ指定情報と、量子処理記述情報とを抽出する解析部と、
上記解析部が抽出した上記クラスライブラリ指定情報と上記量子処理記述情報とに対応する上記量子ゲート情報を、上記クラスライブラリから抽出する第1検索部と、
上記解析部が抽出した上記エラー訂正ライブラリ指定情報と上記第1検索部が抽出した上記量子ゲート情報とに対応する上記エラー訂正量子ゲート情報を、上記エラー訂正ライブラリから抽出する第2検索部と、
上記第2検索部が抽出した上記エラー訂正量子ゲート情報を用いて量子回路を示す量子回路情報を生成し、当該量子回路を示す量子回路情報を出力する量子回路生成部と、
を有することを特徴とする量子プログラム変換装置。 - 請求項3に記載の量子プログラム変換装置であって、
前記エラー訂正ライブラリ記憶部が、
複数の量子系にそれぞれ対応する複数の前記エラー訂正ライブラリを具備する、
ことを特徴とする量子プログラム変換装置。 - 量子コンピュータによる処理内容が記述されたソースコードを具備する量子プログラムから量子回路を示す量子回路情報を生成する量子プログラム変換方法であって、
量子コンピュータの量子系に対応するクラスライブラリ識別情報と、量子コンピュータによる処理内容を記述した量子処理記述情報と、当該クラスライブラリ識別情報に対応する量子コンピュータにおいて当該量子処理記述情報が示す処理内容を実現するために適した量子ゲートを示す量子ゲート情報と、が関連付けられたクラスライブラリがクラスライブラリ記憶部に記憶された状態において、
量子プログラムが解析部に入力され、当該解析部において、当該量子プログラムから、クラスライブラリ識別情報を指定するためのクラスライブラリ指定情報と量子処理記述情報とを抽出するステップと、
検索部において、上記解析部が抽出した上記クラスライブラリ指定情報と上記量子処理記述情報とに対応する上記量子ゲート情報を上記クラスライブラリから抽出するステップと、
量子回路生成部において、上記検索部が抽出した上記量子ゲート情報を用いて量子回路を示す量子回路情報を生成し、当該量子回路を示す量子回路情報を出力するステップと、
を有することを特徴とする量子プログラム変換方法。 - 量子コンピュータによる処理内容が記述されたソースコードを具備する量子プログラムから量子回路を示す量子回路情報を生成する量子プログラム変換方法であって、
量子コンピュータの量子系に対応するクラスライブラリ識別情報と、量子コンピュータによる処理内容を記述した量子処理記述情報と、当該クラスライブラリ識別情報に対応する量子コンピュータにおいて当該量子処理記述情報が示す処理内容を実現するために適した量子ゲートを示す量子ゲート情報と、が関連付けられたクラスライブラリがクラスライブラリ記憶部に記憶され、
量子コンピュータの量子系に対応するエラー訂正ライブラリ識別情報と、量子ゲート情報と、当該量子ゲート情報をエラー訂正可能な回路構成に変換したエラー訂正量子ゲート情報と、が関連付けられたエラー訂正ライブラリがエラー訂正ライブラリ記憶部に記憶された状態において、
量子プログラムが解析部に入力され、当該解析部において、当該量子プログラムから、クラスライブラリ識別情報を指定するためのクラスライブラリ指定情報と、エラー訂正ライブラリ識別情報を指定するためのエラー訂正ライブラリ指定情報と、量子処理記述情報とを抽出するステップと、
第1検索部において、上記解析部が抽出した上記クラスライブラリ指定情報と上記量子処理記述情報とに対応する上記量子ゲート情報を、上記クラスライブラリから抽出するステップと、
第2検索部において、上記解析部が抽出した上記エラー訂正ライブラリ指定情報と上記第1検索部が抽出した上記量子ゲート情報とに対応する上記エラー訂正量子ゲート情報を、上記エラー訂正ライブラリから抽出するステップと、
量子回路生成部において、上記第2検索部が抽出した上記エラー訂正量子ゲート情報を用いて量子回路を示す量子回路情報を生成し、当該量子回路を示す量子回路情報を出力するステップと、
を有することを特徴とする量子プログラム変換方法。 - 請求項1から4の何れかに記載の量子プログラム変換装置としてコンピュータを機能させるためのプログラム。
- 請求項7に記載のプログラムを格納したコンピュータ読み取り可能な記録媒体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005156722A JP4718244B2 (ja) | 2005-05-30 | 2005-05-30 | 量子プログラム変換装置、その方法、そのプログラム及び記録媒体 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005156722A JP4718244B2 (ja) | 2005-05-30 | 2005-05-30 | 量子プログラム変換装置、その方法、そのプログラム及び記録媒体 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2006331249A JP2006331249A (ja) | 2006-12-07 |
JP4718244B2 true JP4718244B2 (ja) | 2011-07-06 |
Family
ID=37552853
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005156722A Expired - Fee Related JP4718244B2 (ja) | 2005-05-30 | 2005-05-30 | 量子プログラム変換装置、その方法、そのプログラム及び記録媒体 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4718244B2 (ja) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5105408B2 (ja) | 2007-05-23 | 2012-12-26 | 独立行政法人科学技術振興機構 | 量子プログラム秘匿化装置及び量子プログラム秘匿化方法 |
JP5921856B2 (ja) * | 2011-11-28 | 2016-05-24 | 株式会社日立製作所 | 量子コンピュータシステム、量子コンピュータシステムの制御方法及びプログラム |
CA3004633A1 (en) * | 2015-11-06 | 2017-05-11 | Google Llc | In-situ quantum error correction |
US11281987B2 (en) * | 2017-11-28 | 2022-03-22 | Duke University | Software-defined quantum computer |
US10621502B2 (en) * | 2018-08-30 | 2020-04-14 | International Business Machines Corporation | External port measurement of qubit port responses |
CN109376866B (zh) * | 2018-09-17 | 2021-03-12 | 合肥本源量子计算科技有限责任公司 | 元数据的记录方法及装置、量子程序的运行方法及装置 |
JP6977009B2 (ja) * | 2019-10-17 | 2021-12-08 | 国立大学法人 東京大学 | 量子ゲート及び量子コンピュータ |
CN110889506A (zh) * | 2019-10-29 | 2020-03-17 | 合肥本源量子计算科技有限责任公司 | 生成量子指令的方法、设备、***及电子设备 |
CN110929873B (zh) * | 2019-12-11 | 2023-07-04 | 合肥本源量子计算科技有限责任公司 | 一种量子程序的处理方法、装置、存储介质和电子装置 |
JP6862533B2 (ja) * | 2019-12-25 | 2021-04-21 | グーグル エルエルシーGoogle LLC | その場量子エラー訂正 |
CN111415011B (zh) * | 2020-02-10 | 2022-04-26 | 北京百度网讯科技有限公司 | 量子脉冲的确定方法、装置、设备及可读存储介质 |
CN116243974A (zh) * | 2021-12-08 | 2023-06-09 | 深圳市腾讯计算机***有限公司 | 量子程序的执行方法和量子程序的编译方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002042104A (ja) * | 2000-07-27 | 2002-02-08 | Yamaha Motor Co Ltd | 量子ソフトコンピューティングを使用した制御システムと制御方法 |
JP2002244875A (ja) * | 2001-02-16 | 2002-08-30 | Sony Corp | 電子機器プログラミングシステムおよびプログラミング方法 |
JP2005513680A (ja) * | 2001-12-22 | 2005-05-12 | ディー−ウェイヴ システムズ インコーポレイテッド | 量子コンピューティング統合開発環境 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2006061926A1 (ja) * | 2004-12-09 | 2006-06-15 | National University Corporation NARA Institute of Science and Technology | 量子コンピュータを含むコンピュータシステムのためのプログラム開発支援装置、プログラム開発支援用プログラム、及びシミュレーション装置 |
-
2005
- 2005-05-30 JP JP2005156722A patent/JP4718244B2/ja not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002042104A (ja) * | 2000-07-27 | 2002-02-08 | Yamaha Motor Co Ltd | 量子ソフトコンピューティングを使用した制御システムと制御方法 |
JP2002244875A (ja) * | 2001-02-16 | 2002-08-30 | Sony Corp | 電子機器プログラミングシステムおよびプログラミング方法 |
JP2005513680A (ja) * | 2001-12-22 | 2005-05-12 | ディー−ウェイヴ システムズ インコーポレイテッド | 量子コンピューティング統合開発環境 |
Also Published As
Publication number | Publication date |
---|---|
JP2006331249A (ja) | 2006-12-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4718244B2 (ja) | 量子プログラム変換装置、その方法、そのプログラム及び記録媒体 | |
JP7186797B2 (ja) | 量子計算のための方法及びシステム | |
JP5921856B2 (ja) | 量子コンピュータシステム、量子コンピュータシステムの制御方法及びプログラム | |
CN110569979B (zh) | 面向嘈杂中型量子设备的逻辑-物理比特重映射方法 | |
US20030169041A1 (en) | Quantum computing integrated development environment | |
JP5045666B2 (ja) | プログラム解析方法、プログラム解析装置およびプログラム解析プログラム | |
Marella et al. | Introduction to quantum computing | |
CN109886412B (zh) | 一种量子程序的持久化存储方法、装置及存储介质 | |
CN106164942A (zh) | 在Clifford+T基础上的“重复直到成功”电路的有效合成 | |
Lin et al. | FTQLS: Fault-tolerant quantum logic synthesis | |
CN114175060A (zh) | 用于量子计算设备的测量序列确定 | |
JP2015143939A (ja) | コンパイルプログラム、コンパイル方法およびコンパイル装置 | |
Arthuis et al. | ADG: Automated generation and evaluation of many-body diagrams II. Particle-number projected Bogoliubov many-body perturbation theory | |
Tichai et al. | Symmetry reduction of tensor networks in many-body theory: I. Automated symbolic evaluation of SU (2) algebra | |
JP4260751B2 (ja) | ユニタリ行列分解装置、ユニタリ行列分解方法、ユニタリ行列分解プログラム及び記録媒体 | |
Surana et al. | Deep learning for conversions between melodic frameworks of indian classical music | |
Smith et al. | Programming physical quantum systems with pulse-level control | |
Bernard et al. | New techniques for inferring L-systems using genetic algorithm | |
Vinkhuijzen et al. | Efficient implementation of LIMDDs for quantum circuit simulation | |
Neha | Quantum programming: working with IBM’S qiskit tool | |
Velasquez et al. | Automated synthesis of quantum circuits using symbolic abstractions and decision procedures | |
JP4758965B2 (ja) | ユニタリ行列分解方法、ユニタリ行列分解装置、ユニタリ行列分解プログラム及び記録媒体 | |
Gushanskiy et al. | Development of a scheme of a hardware accelerator of quantum computing for correction quantum types of errors | |
JP4904107B2 (ja) | 制御回転ゲート、その決定装置、その決定方法、そのプログラム及びその記録媒体 | |
JP4260680B2 (ja) | ユニタリ行列分解方法、ユニタリ行列分解装置、ユニタリ行列分解プログラム及び記録媒体 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20070810 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110208 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110224 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20110322 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20110331 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140408 Year of fee payment: 3 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
LAPS | Cancellation because of no payment of annual fees |