ユーティリティー
qiskit_addon_slc.utils
さまざまなユーティリティ。
このモジュールは、いくつかのユーティリティ関数を提供しています。 これらの中には、 Qiskit SDK の未解決の問題を回避するために、一時的にのみ存在するものがいくつかあります。 このような場合、それらはその旨が明記され、非推奨の告知や事前の通知なしに削除されることがあります。
find_indices
find_indices(circuit, bits_or_instruction, /)
指定されたビットインデックスまたは回路命令に対応する量子ビットインデックスを特定します。
この関数は、安定版APIの一部とは見なされません! Qiskit SDK が同じ機能をネイティブでサポートするようになった場合、事前の警告や非推奨の通知なしに削除されます。 詳細については、 本号をご覧ください。
パラメーター
- circuit (QuantumCircuit) – 求める量子ビットのインデックスを持つ量子回路。
- bits_or_instruction (Bit |CircuitInstruction |Sequence[Bit]) – 検索対象となるインデックスを持つビット。 これがの場合
CircuitInstruction、この命令の対象となる量子ビットが使用されます。
戻り値
回路のレジスタ内にある、クエリ対象のビットのインデックス。 単一のビットオブジェクトが指定された場合、そのインデックスに対応する単一の値が返されます int 。 そうでない場合、戻り値の型は、指定されたビット数と同じ長さ list[int] のものとなります。
昇給
TypeError – 予期しない種類の が提供 bits_or_instruction された場合。
戻りの型
generate_noise_model_paulis
generate_noise_model_paulis(instructions, coupling_map=None, circuit=None)
指定された一意の 2q レイヤーボックスそれぞれについて、1重および2重のパウリ項を生成してください。
パラメーター
- instructions (list[CircuitInstruction]) –.の出力
find_unique_box_instructions()。 提供された命令はいずれも、測定ゲートのみで構成されているか、あるいは2量子ビットゲート命令の層に対応しているものとみなされます。 前者の場合、生成されるノイズモデルには単一量子ビットのエラーXのみが含まれますが、後者の場合は、縮約結合マップ上のすべての1重および2重のパウリエラーが含まれます。 - coupling_map (CouplingMap | None) – 命令が配置されたバックエンドのカップリングマップ。 これがの場合
None、 1d のクビット列が想定される。 - circuit (QuantumCircuit | None) – 提供されたカップリングマップ上に配置された、トランスパイルされた回路。 これは、 が でもある
None``coupling_map場合にのみ成り立つかもしれないNone。
戻り値
各一意なBoxの注釈 InjectNoise の属 ref 性を、そのBoxについて学習された誤差を持つ1重および2重のパウリ項にマッピングする辞書。
戻りの型
dict [ str, QubitSparsePauliList ]
get_extremal_eigenvalue
get_extremal_eigenvalue(spo, **kwargs)
指定された演算子の極値固有値を求めます。
これは、指定された演算子を、最小固有値を求める疎行列に変換します。
現在の実装は、パフォーマンスの面では明らかに最適化されていません。
パラメーター
-
spo (SparsePauliOp) – 求める最小固有値を持つ演算子。
-
kwargs –
. に対する追加のキーワード引数
davidson1()。 特に指定がない場合は、以下のデフォルト値が使用されます:- tol: 1e-6
- max_cycle: 500
- max_space: 12
- lindep: 1e-11
- max_memory: 2000
それ以外の値については、 PySCF’s のデフォルト値が適用されます。
戻り値
デビッドソンアルゴリズムが収束したかどうかを示す値と、得られた最小固有値のペア。
戻りの型
iter_circuit
iter_circuit(circuit, *, reverse=False, log_process=True)
回路内の命令を順次処理します。
この関数は、 BoxOp 命令に対して再帰的に処理を行います。
回路内の抵抗は無視されています。
パラメーター
- circuit (QuantumCircuit) – 反復処理を行う回路。
- reverse (bool) – 回路を逆順に反復処理するかどうか。
- log_process (bool) – プロセスをログに記録するかどうか。
生成数
長さ4のタプルで、検出された回路命令、 標準的な量子ビットインデックス (すなわち、入力の文脈における作用の対象となる量子ビットの整数インデックス circuit)、および modifier_ref 属性 InjectNoise : と から構成される ref。 後者の2つの項目は、アンロールされたものには含まれていなかった回路命令を示 None している可能性があります BoxOp。
戻りの型
Generator [ tuple [ CircuitInstruction, list [ int ], str | None, str | None]]
map_modifier_ref_to_ref
map_modifier_ref_to_ref(circuit)
回路を反復処理し、注釈 InjectNoise の参照をマッピングします。
パラメーター
circuit (QuantumCircuit) – 反復処理を行う回路。
戻り値
各 InjectNoise.modifier_ref をその に対応付ける辞書 InjectNoise.ref。
戻りの型
remove_measure
remove_measure(circuit)
与えられた回路から、すべての演算 Measure を取り除いてください。
この関数は、 BoxOp 命令に対して再帰的に処理を行います。
パラメーター
circuit (QuantumCircuit) – 測定値を削除する回路。
戻り値
Measure操作が一切含まれていない回路。
戻りの型