構成復旧
qiskit_addon_sqd.configuration_recovery
自己整合的構成回復を実行するための機能。
post_select_by_hamming_weight
post_select_by_hamming_weight(bitstring_matrix, *, hamming_right, hamming_left)
各半分のハミングウェイトに基づいてビット列を後選択する。
関数 qiskit_addon_sqd.configuration_recovery.post_select_by_hamming_weight() は qiskit-addon-sqd 0.12.0 で非推奨となりました。 v0.13.0。 代わりに、 postselect_by_hamming_right_and_left 関数を使う。
パラメーター
- bitstring_matrix (ndarray) – 各行が1つのビット列を表すような、ビット値の
bool表現の 2D 配列 - hamming_right (int) – ビット列の右半分の目標ハミングウェイト
- hamming_left (int) – ビット列の左半分の目標ハミングウェイト
戻り値
入力行列からどのサンプル(行)が選択されたかを示すマスク。
戻りの型
recover_configurations
recover_configurations(bitstring_matrix, probabilities, avg_occupancies, num_elec_a, num_elec_b, rand_seed=None)
平均軌道占有率と目標ハミングウェイトに基づいてビット列を絞り込む。
この関数は、入力 bitstring_matrix によって表現されるヒルベルト空間を、基底状態をサポートする空間により近いものに変換しようとして、各ビットを個別に精製する。
この関数は、ビット i がビット i + N のスピンアップ軌道に対応するスピンダウン軌道を表すと仮定している。 N は空間軌道の数で、 i < N。
パラメーター
- bitstring_matrix (ndarray) – 各行が1つのビット列を表すような、ビット値の
bool表現の 2D 配列 - probabilities (Sequence[float] | ndarray) – ビット列の確率分布を指定する 1D 配列
- avg_occupancies (tuple[ndarray, ndarray]) – length-2 スピンアップ軌道とスピンダウン軌道の平均占有率をそれぞれ保持する配列のタプル。 職業は次のような書式にする:
(array([occ_a_0, ..., occ_a_N]), array([occ_b_0, ..., occ_b_N])) - num_elec_a (int) – 系内のスピンアップ電子の数。
- num_elec_b (int) – 系内のスピンダウン電子の数。
- rand_seed (Generator |int | None) – ランダム性を制御するための種
戻り値
洗練されたビット列行列と更新された確率配列。
戻りの型
参考文献
[1] : J. ロブレド-モレノ、他、 量子中心スーパーコンピューターで厳密解を超える化学、
arXiv:2405.05068 [quant-ph].