Qiskit
開発元 | IBM Research, Qiskit community |
---|---|
初版 | 2017年3月7日 .[1] |
最新版 |
0.19.1
/ 2021年12月10日[2] |
リポジトリ | |
プログラミング 言語 | Python, Swift, JavaScript |
対応OS | Cross-platform |
種別 | Quantum Computing |
ライセンス | Apache license |
公式サイト |
qiskit |
Qiskitは、量子コンピュータ用のオープンソースのフレームワークである。量子回路を作成し、プロトタイプの量子デバイスやシミュレーション上で実行するためのツールを提供する。量子チューリングマシンの量子回路に対応しており、これに従う量子ハードウェアに使用することができる。
Qiskitは、クラウド量子コンピューターサービスのソフトウェア開発を実現するためにIBM Researchによって作成された[3][4]。学術機関等の外部の支援者からもコントリビューションが行われている[5]。
Qiskitの正式バージョンではPythonプログラミング言語を利用する。Swift[6]とJavaScript [7]で記述することも可能。これらは、OpenQASM表記に基づいて量子プログラムを記述することになる。
量子コンピューターに使用されるサンプルとして、さまざまなJupyter notebooksが提供されている[8]。
コンポーネント
[編集]Qiskitは、OpenQASMの機械語水準と、量子コンピューターの専門知識を持たないエンドユーザーに適した抽象水準の両方で量子ソフトウェアを開発する機能を提供する。これらの機能は下記のコンポーネントによって提供されている[9]。
Terra
[編集]Qiskit Terraは、量子機械語水準か、それに近い量子回路を作成するツールを提供する[10]。量子ハードウェアで実行される量子ゲートを明示的に構築することができる。また、特定のデバイス用に量子回路を最適化するツール、ジョブの管理、リモートの量子デバイスにアクセスしシミュレートするツールが含まれる。
Qiskit Terraの例は次のようになる。ベル状態を作成するために必要な量子ゲートを含む、2つの量子ビットを作成する量子回路である。量子回路は各量子ビットからビットを抽出する量子測定を行って終了する。
from qiskit import QuantumRegister, ClassicalRegister
from qiskit import QuantumCircuit, Aer, execute
q = QuantumRegister(2)
c = ClassicalRegister(2)
qc = QuantumCircuit(q, c)
qc.h(q[0])
qc.cx(q[0], q[1])
qc.measure(q, c)
作成した量子回路は、バックエンド(量子ハードウェアまたはシミュレター)で実行できる。次の例ではローカルのシミュレーターを使用する。
backend = Aer.get_backend('qasm_simulator')
job_sim = execute(qc, backend)
sim_result = job_sim.result()
print(sim_result.get_counts(qc))
最後のPrint関数がバックエンドの返した結果を表示する。結果は、量子回路の複数の実行結果から取得したビット文字列を表示するPythonの辞書型となっている。今回使用した量子回路では、ビット列'00'
と'11'
が唯一の結果であり、同じ確率で発生するはずだ。したがって、通常の結果は {'00':519, '11':505}
などの2つのサンプルがほぼ等しく分割される。
Qiskit Terraを利用する量子ハードウェアで行われた実験は、量子誤り訂正[11][12]、エンタングルメントの生成[13]、均衡とは程遠いダイナミクスのシミュレーション[14]といった分野の多くの研究論文で使用される[15]。
Aqua
[編集]Qiskit Aquaは、ユーザー自身が量子プログラミングを行うことなく使用できるツールを提供する[16]。現在、化学、AI、最適化、金融の分野がサポートされる。ユーザーが問題を与え、その分野で標準的な(化学用ツールPySCFなど)を使用して定義された結果を受け取ることができる。対応する量子アルゴリズムがQiskit Aquaには実装されている。
Aer
[編集]短期的に見て、量子ソフトウェアの開発は小さい量子デバイスのシミュレーションに使用される。Qiskitでは、これをAerコンポーネントが提供する。ユーザーのデバイスでローカルに実行されるシミュレーターと、クラウドを通じて利用可能なHPCが提供される。また、ノイズの影響を再現することもできる[17]。
Ignis
[編集]Ignisは、短期的なデバイスのノイズ特性のツールを含むコンポーネントであり、ノイズ影響下での計算を可能にする。これには、デバイスのベンチマーク、エラーの軽減、エラー修正のためのツールが含まれる[18]。
脚注
[編集]出典
[編集]- ^ Jay M. Gambetta (March 27, 2018). “Looking back on a year of Qiskit”. Medium. September 24, 2019閲覧。
- ^ “Releases – Qiskit Terra”. November 1, 2019閲覧。
- ^ Magee, Tamlim (August 24, 2018). “What is Qiskit, IBM's open source quantum computing framework”. Computerworld UK. 11 December 2018閲覧。
- ^ Hemsoth, Nicole (August 7, 2018). “QISKit Developments Key to IBM Quantum Engagement”. The Next Platform. 11 December 2018閲覧。
- ^ “Qiskit website”. November 1, 2019閲覧。
- ^ “Qiskit in swift”. GitHub. September 24, 2019閲覧。
- ^ “Qiskit (Quantum Information Science Kit) for JavaScript”. GitHub. September 24, 2019閲覧。
- ^ “A collection of Jupyter notebooks showing how to use Qiskit that is synced with the IBM Q Experience”. GitHub. September 24, 2019閲覧。
- ^ Javadi-Abhari, Ali (July 13, 2018). “Qiskit and its Fundamental Elements”. Medium. 10 January 2019閲覧。
- ^ “Qiskit Terra”. Qiskit. September 24, 2019閲覧。
- ^ Wootton, James R.; Loss, Daniel (2018). “Repetition code of 15 qubits”. Physical Review A 97 (5). arXiv:1709.00990. doi:10.1103/PhysRevA.97.052313. ISSN 2469-9926.
- ^ Roffe, Joschka; Headley, David; Chancellor, Nicholas; Horsman, Dominic; Kendon, Viv (2018). “Protecting quantum memories using coherent parity check codes”. Quantum Science and Technology 3 (3): 035010. arXiv:1709.01866. doi:10.1088/2058-9565/aac64e. ISSN 2058-9565.
- ^ Wang, Yuanhao; Li, Ying; Yin, Zhang-qi; Zeng, Bei (2018). “16-qubit IBM universal quantum computer can be fully entangled”. npj Quantum Information 4 (1). doi:10.1038/s41534-018-0095-x. ISSN 2056-6387.
- ^ Zhukov, A. A.; Remizov, S. V.; Pogosov, W. V.; Lozovik, Yu. E. (2018). “Algorithmic simulation of far-from-equilibrium dynamics using quantum computer”. Quantum Information Processing 17 (9). arXiv:1807.10149. doi:10.1007/s11128-018-2002-y. ISSN 1570-0755.
- ^ “Community papers”. IBM Q Experience. November 1, 2019閲覧。
- ^ “Qiskit Aqua website”. November 1, 2019閲覧。
- ^ Wood, Christopher J. (December 19, 2018). “Introducing Qiskit Aer: A high performance simulator framework for quantum circuits”. Medium. September 24, 2019閲覧。
- ^ “Ignis provides tools for quantum hardware verification, noise characterization, and error correction.”. GitHub. September 24, 2019閲覧。