IBMのQuantum Experienceチームは、量子ソフトウェアQISKitのオープンソース化を始めた。量子コンピューティング・情報科学者のJay Gambetta氏が開発している。QISKitにより、開発者はPythonでIBMクラウド対応の量子プロセッサを活用できる。
IBM QISKitには、次の3つの主要コンポーネントが含まれている。
- Pythonで書かれた公式のQISKit APIクライアントは、
pip install IBMQuantumExperience
を実行して、次の例のように使用することができる。api = IBMQuantumExperience("token", config) qasm = 'OPENQASM 2.0; include "qelib1.inc"; qreg q[5]; creg c[5];\ h q[0]; cx q[0],q[2]; measure q[0] -> c[0]; measure q[2] -> c[1];' device = 'simulator' shots = 1024 api.run_experiment(qasm, device, shots, name='My First Experiment', timeout=60)
QISKitクライアントは、Jupyter Notebookでも使用できる。
import pip def install(package): pip.main(['install', package]) install('IBMQuantumExperience')
-
Python QISKit SDK。SDKには、IBM Qエンジニアが説明のために提供しているいくつかのツールが含まれている。特に、SDKは、ステートトモグラフィ、ランダム化されたベンチマーク、エンタングルメントテストなどの複雑な実験のために、複数のジョブをどのように構成すればよいかを示している。
-
OPENQASM仕様。Open Quantum Assembly Language 2.0の詳細である。IBMが進歩させた量子計算モデルと量子実験の表現に使用される構文の両方を理解したい場合の基本的な読み物である。
IBMのOPENAQSMモデルでは、量子計算は次の4つのステップで実行される。
- コンパイルにより、従来のコンピュータを使用してテキスト量子アルゴリズムをIR表現に変換する。
- 回路生成により、IRを、量子プログラムの基本ブロックである量子回路の集合に変換する。量子回路は、分岐やプロセス計測のない一連の基本ステップである。従来の制御ブロックに量子回路を含むことができ、測定値に基づいてプログラムの全体的な制御フローを決定したり、新しい量子回路をオンザフライで作成することができる。
- 実行は、リアルタイムに量子コンピュータ上で行われる。ここで、高レベルのコントローラは、量子回路からの入力または中間の計測値を処理し、低レベルのコントローラによって実行される一連の物理的な操作に変換する。
- 後処理は、再び従来のコンピュータ上で実行される。最終結果を作成するために、リアルタイムな量子プロセスで計測された値を使用する。
IBM Quantum Experienceは、IBMのクラウドを介してIBMの量子コンピュータに接続し、ソフトウェア・プログラムと連携して実験したり、量子機能をソフトウェア・プログラムに統合できるようにすることを目指している。量子コンピュータは、従来のトランジスタベースのコンピュータと異なる。それは、複数の状態を重ね合わせで表せられる量子ビットの使用により2つの状態しか許されないためである。量子計算は、整数分解(暗号)の分野、量子物理過程のシミュレーション、ジョーンズ多項式の近似、Pellの方程式の解法などの分野で、従来のコンピュータでは解けない問題を効率的に解くことができると宣伝されている。これらの問題のいくつかについては、量子コンピュータにより、従来のコンピュータよりも多項式オーダで高速化され、量子計算のおかげで現在解決が困難な(NP)問題が扱いやすい問題に変換されることはないであろうことを意味する。
Rate this Article
- Editor Review
- Chief Editor Action