Github: https://github.com/QISKit/qiskit-sdk-py
量子情報ソフトウェアキット(QISKit)
Quantum Information Software Kit( 略してQISKit )は、 OpenQASMとIBM Qエクスペリエンス(QX)を扱うソフトウェア開発キット(SDK)です。
QISKitを使用して、量子コンピューティングプログラムを作成し、コンパイルし、いくつかのバックエンド(オンラインのリアル量子プロセッサー、オンラインシミュレーター、およびローカルシミュレーター)の1つで実行します。 オンラインバックエンドの場合、QISKitはPython APIクライアントを使用してIBM Qエクスペリエンスに接続します 。
リクエストとバグを追跡するためにGitHubの問題を使用します。 質問とディスカッションについて は、 IBM Qエクスペリエンス・コミュニティ を 参照してください 。
QISKitに貢献したい場合は、 寄付のガイドライン をご覧ください 。
セクションへのリンク:
インストール
依存関係
QISKitを使用するには、少なくともPython 3.5以降が必要です。 さらに、チュートリアルとのやり取りには、 Jupiter Notebookが推奨されます。 このため、 Anaconda 3の Pythonディストリビューションをインストールすることをお勧めします。これは、これらの依存関係がすべて事前にインストールされているためです。
さらに、量子情報の基本的な理解は、QISKitと対話するときに非常に役立ちます。 初めての方は、 ユーザガイドから始めてください!
インストール
PISツール(Pythonパッケージマネージャー)を使用してQISKitをインストールすることをお勧めします。
pip install qiskit
PIPは自動的にすべての依存関係を処理し、常に最新の(よくテストされた)バージョンをインストールします。
PIPパッケージには、次のプラットフォーム用に事前ビルドされたバイナリが付属しています。
- Linux x86_64
- ダーウィン
- Win64
プラットフォームがリストにない場合、PIPはインストール時にソースからビルドを試みます。 CMake 3.5以上がプリインストールされ、少なくとも1つのビルド環境がCMakeによってサポートされている必要があります。
インストール中にPIPがビルドに成功しない場合は、心配しないで、最後にQISKitをインストールしますが、高性能コンポーネントの一部を利用できない可能性があります。 とにかく、私たちはいつも、代替手段としてPython、それほど高速ではない代替手段を提供しています。
環境の設定
経験を向上させるために、python仮想環境を使用することをお勧めします。 詳細については、 環境設定文書を参照してください。
最初の量子プログラムを作成する
SDKがインストールされたので、QISKitを使って作業を始めましょう。
我々は、ローカルシミュレータを介して実行される量子回路の例を試す準備が整いました。
これは、エンタングル状態を作る簡単な例です。
from qiskit import QuantumProgram, QISKitError, RegisterSizeError
# Create a QuantumProgram object instance.
q_program = QuantumProgram()
backend = 'local_qasm_simulator'
try:
# Create a Quantum Register called "qr" with 2 qubits.
quantum_reg = q_program.create_quantum_register("qr", 2)
# Create a Classical Register called "cr" with 2 bits.
classical_reg = q_program.create_classical_register("cr", 2)
# Create a Quantum Circuit called "qc" involving the Quantum Register "qr"
# and the Classical Register "cr".
quantum_circuit =
q_program.create_circuit("bell", [quantum_reg],[classical_reg])
# Add the H gate in the Qubit 0, putting this qubit in superposition.
quantum_circuit.h(quantum_reg[0])
# Add the CX gate on control qubit 0 and target qubit 1, putting
# the qubits in a Bell state
quantum_circuit.cx(quantum_reg[0], quantum_reg[1])
# Add a Measure gate to see the state.
quantum_circuit.measure(quantum_reg, classical_reg)
# Compile and execute the Quantum Program in the local_qasm_simulator.
result = q_program.execute(["bell"], backend=backend, shots=1024, seed=1)
# Show the results.
print(result)
print(result.get_data("bell"))
except QISKitError as ex:
print('There was an error in the circuit!. Error = {}'.format(ex))
except RegisterSizeError as ex:
print('Error in the number of registers!. Error = {}'.format(ex))
この場合、出力は次のようになります。
COMPLETED
{'counts': {'00': 512, '11': 512}}
実際のQuantumチップでコードを実行する
QISKitを使用して、 実際のQuantum Chipでコードを実行することもできます。 これを行うには、Quantum Experience Accountの資格情報を使用するためにSDKを設定する必要があります。
APIトークンとQE資格情報を設定する
- IBM Qエクスペリエンス >アカウントをまだ作成していない場合は作成します
- IBM Qエクスペリエンス・ウェブサイトの「
My Account
」>「Personal Access Token
」からAPIトークンを入手してください。 このAPIトークンを使用すると、IBM Qエクスペリエンスのバックエンドでプログラムを実行できます。 例 。 -
Qconfig.py
というQconfig.py
新しいファイルを作成し、Qconfig.py
にAPIトークンを挿入します。 このファイルの内容は次のとおりです。
APItoken = 'MY_API_TOKEN'
config = {
'url': 'https://quantumexperience.ng.bluemix.net/api',
# The following should only be needed for IBM Q users.
'hub': 'MY_HUB',
'group': 'MY_GROUP',
'project': 'MY_PROJECT'
}
-
手順2で抽出した実際のAPIトークンを
'MY_API_TOKEN'
ます。 -
IBM Q機能にアクセスできる場合は、ハブ、グループ、およびプロジェクトの値も設定する必要があります。 これを行うには、IBM Qアカウント・ページにある値を
config
変数に入力します。
Qconfig.py
ファイルが設定されたら、プログラム/チュートリアルが置かれているディレクトリ/フォルダの下に移動する必要があります。そのため、インポートしてQuantumProgram.set_api()
関数で認証に使用できます。 例えば:
from qiskit import QuantumProgram
import Qconfig
# Creating Programs create your first QuantumProgram object instance.
Q_program = QuantumProgram()
Q_program.set_api(Qconfig.APItoken, Qconfig.config["url"], verify=False,
hub=Qconfig.config["hub"],
group=Qconfig.config["group"],
project=Qconfig.config["project"])
これ以上の詳細については、QISKitのドキュメントを参照してください。
次のステップ
これで、 チュートリアルリポジトリの他のいくつかの例をチェックアウトする準備が整いました。 インデックスチュートリアルから始め 、次に「Getting Started」の例に進みます。 ジュピターノートブックをすでにインストールしている場合は、ノートブックをコピーして変更して独自の実験を作成することができます。
チュートリアルをQISKit SDKの一部としてインストールするには、次のインストールの詳細を参照してください 。 完全なSDKドキュメントは、 docディレクトリと公式のQISKitサイトにあります。
詳しくは
QISKitの使い方、チュートリアルの例、その他の役に立つリンクについては、以下のリソースを参照してください。
- ユーザーガイド 、量子情報とコンピューティングの学習の出発点
- チュートリアル (ノートブックなど)は、 インデックスと‘Getting Started’ Jupyterノートブックから始まります
- QASMコードの追加情報および例については、OpenQASMを参照してください。
- IBM Quantum Experience Composer 、リアル・シミュレートされた量子コンピュータと対話するためのGUI
- QISkit Python API 、 Pythonで IBM Quantum Experienceを使用するためのAPI
QISKitはもともと、 IBM Researchの IBM-Qチームの研究者や開発者によって開発されたもので、量子コンピュータを扱うための高度な開発キットを提供することを目的としています。
QISKitと量子コンピューティングに関する質問とディスカッションについては、 IBM Qエクスペリエンス・コミュニティを参照してください。 QISKitに貢献したい場合は、 寄付のガイドラインをご覧ください。
多言語ガイド
著者(アルファベット順)
Ismail Yunus Akhalwaya、Luciano Bello、Jim Challenger、Andrew Cross、Vincent Dwyer、Mark Everitt、Ismael Faro、Jay Gambetta、Juan Gomez、Juan Gomez、Paco Martin、アントニオ・メザカポ、Diego Moreda、Jesus Perez、Russell Rundle、Todd Tilma、Johnスモーリン、エリックウィンストン、クリスウッド。
将来のリリースでは、このプロジェクトにコードを提供する人は、ここに名前を入れることを歓迎します。
ライセンス
このプロジェクトでは、 Apache License Version 2.0ソフトウェアライセンスを使用しています。