| サーク | |
|---|---|
| 開発者 | 量子ライブラリ |
| 実装言語 | パイソン |
| ライセンス | Apacheライセンス |
| Webサイト | GitHub |
Cirqは、ノイズの多い中規模量子コンピュータ(NISQ)用のオープンソースフレームワークです。 [ 1 ]
CirqはGoogle AI Quantumチームによって開発され、パブリックアルファ版は2018年7月18日に量子ソフトウェアと量子機械学習に関する国際ワークショップで発表されました。[ 2 ] QC Ware によるデモでは、Cirqシミュレータ上で解かれる最大カット問題の例を解くQAOAの実装が示されました。 [ 3 ]
Cirqの量子プログラムは「回路」で表現され、これは同時に適用されるべき量子ゲートのスライスを表す一連の「モーメント」で構成されています。[ 4 ]プログラムはローカルシミュレータ[ 5 ]またはIonQ、Pasqal、[ 6 ] Rigetti、およびAlpine Quantum Technologies [ 7 ]が提供するハードウェアで実行できます。
次の例は、Cirq で ベル状態を作成して測定する方法を示しています。
インポートサーク# 量子ビットを選択しますqubit0 = cirq 。GridQubit ( 0 , 0 ) qubit1 = cirq 。GridQubit ( 0 , 1 )# 回路を作成しますcircuit = cirq 。回路( cirq . H ( qubit0 ), cirq . CNOT ( qubit0 , qubit1 ) , cirq .Measure ( qubit0 , key = "m0" ), cirq .Measure ( qubit1 , key = "m1 " ) )回路図を印刷すると図が表示されます
print ( circuit ) # 出力# (0, 0): ───H───@───M('m0')─── # │ # (0, 1): ────────X───M('m1')────回路を繰り返しシミュレーションすると、量子ビットの測定値が相関していることが示されます。
simulator = cirq.Simulator ( ) result = simulator.run ( circuit , repetitions = 5 ) print ( result ) # 出力# m0=11010 # m1 = 11010OpenFermionは量子シミュレーションアルゴリズムをCirqにコンパイルするライブラリである。[ 2 ]
TensorFlow QuantumはTensorFlowの拡張機能であり、TensorFlowを使用してハイブリッド古典-量子機械学習アルゴリズムを探索することができます。[ 8 ]
ReCirqはCirqを使用して行われた研究プロジェクトのリポジトリです。[ 9 ]
Qsimは、ゲートフュージョン、AVS/FMA命令、OpenMPを活用して高速シミュレーションを実現する高性能波動関数シミュレータです。Qsimcirqは、Cirq内からqsimを使用することができます。[ 10 ]