quantumlib/qsim

Fast C++ and Python library for state-vector simulation of quantum circuits.

何を解決するか

qsim は量子回路用の高性能状態ベクトルシミュレータです。量子状態の時間発展をシミュレートするために、状態を複素数の振幅ベクトルとして表現し、行列-ベクトル乗算を適用して変換を模擬します。

動作方法

完全状態ベクトル(シュレーディンガー)シミュレータとして、qsim は量子ビット数 $n$ に対してすべての $2^n$ 個の振幅を計算します。高性能を実現するために、以下の最適化技術を採用しています:

  • ゲート結合(Gate Fusion): 複数の量子ゲートを1つの操作に統合することで、処理回数を削減します。
  • ハードウェア加速: ベクトル化に AVX/FMA 指令、並列処理に OpenMP、高速計算に GPU 対応を活用します。
  • 精度: シミュレーション速度を向上させるために単精度演算を使用します。

対象ユーザー

C++ ライブラリを直接使用するユーザー、または qsimcirq インターフェースを通じて Python ユーザーとして量子回路をシミュレートしたいユーザーを対象としています。特に、Cirq フレームワークを用いてノイズのある中規模量子(NISQ)回路をモデル化しているユーザーに適しています。

特徴

  • 高性能: CPU および GPU 上でのベクトル演算と並列処理に高度に最適化されています。
  • Cirq 連携: Cirq で書かれた回路をシミュレートするための専用インターフェース(qsimcirq)を備えています。
  • 実績ある実績: Nature(2019年)に掲載された画期的な交差エントロピーベンチマーク結果の生成に使用されています。
  • 柔軟な API: C++ ライブラリおよび Python パッケージの両方で利用可能です。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト