パウリ演算子の簡略化
qiskit_addon_obp.utils.simplify
パウリ演算子を簡略化する関数。
OperatorBudget
class OperatorBudget(max_paulis=None, max_qwc_groups=None, simplify=True, atol=None, rtol=None)
ベース: object
演算子の大きさを決定する定数を格納するクラス。
バックプロパゲーションは、以下のいずれかの条件が満たされた場合に停止する:
- 全観測変数にわたるパウリ項の数は
max_paulisを超える。max_paulis = Noneの場合、観測値中のパウリ項の数は制約されない。 - 全観測量における量子ビット単位のパウリ群の数は、
max_qwc_groupsを超える。max_qwc_groups = Noneの場合、観測値における量子ビットごとに通約するパウリ群の数は制約されない。
パラメーター
- max_paulis (int | None)
- max_qwc_groups (int | None)
- simplify (bool)
- atol (float | None)
- rtol (float | None)
atol
is_active
max_paulis
タイプ: int | None
デフォルト値: None
バックプロパゲート演算子に含まれるパウリ項の最大数。
max_qwc_groups
タイプ: int | None
デフォルト値: None
バックプロパゲートされた演算子が含むことのできる、量子ビット単位で通約するパウリ群の最大数。
rtol
simplify
SimplifyMetadata
class SimplifyMetadata(num_unique_paulis, num_duplicate_paulis, num_trimmed_paulis, sum_trimmed_coeffs)
ベース: object
演算子簡略化の際に追跡された属性を返すための単純なデータクラス。
パラメーター
- num_unique_paulis (int)
- num_duplicate_paulis (int)
- num_trimmed_paulis (int)
- sum_trimmed_coeffs (float)
num_duplicate_paulis
タイプ: int
重複するパウリ項の数。 num_duplicate_paulisも参照してください。
num_trimmed_paulis
タイプ: int
トリムされたパウリ項の数。 num_trimmed_paulisも参照してください。
num_unique_paulis
タイプ: int
ユニークなパウリ項の数。 num_unique_paulisも参照してください。
sum_trimmed_coeffs
タイプ: float
トリミングされた係数の和。 sum_trimmed_coeffsも参照してください。
simplify
simplify(operator, *, atol=None, rtol=None)
提供されたパウリ演算子を簡略化する。
これは、簡略化された用語のメタデータを追跡する SparsePauliOp.simplify() 。
パラメーター
- operator (SparsePauliOp) –
SparsePauliOpを簡素化する。 - atol (float | None) – 係数がゼロかどうかをチェックするための絶対許容誤差。
Noneの場合、SparsePauliOp.atolにフォールバックする。 - rtol (float | None) – 係数がゼロかどうかをチェックするための相対的な許容範囲。
Noneの場合、SparsePauliOp.rtolにフォールバックする。
戻り値
簡略化されたパウリ演算子。
戻りの型