qiskit.circuit.library.evolved_operator_ansatz
qiskit.circuit.library.evolved_operator_ansatz(operators, reps=1, evolution=None, insert_barriers=False, name='EvolvedOps', parameter_prefix='t', remove_identities=True, flatten=None)
演算子の展開からアナザッツを構築する。
演算子 と の繰り返し(reps)のセットに対して、この回路は次のように定義される
ここで、指数 は、 evolution で指定されている積の公式を使って展開される。
例:
from qiskit.circuit.library import evolved_operator_ansatz
from qiskit.quantum_info import Pauli
ops = [Pauli("ZZI"), Pauli("IZZ"), Pauli("IXI")]
ansatz = evolved_operator_ansatz(ops, reps=3, insert_barriers=True)
ansatz.draw("mpl")
パラメーター
- operators (BaseOperator | Sequence[BaseOperator]) – 進化するオペレーターたち 単一の演算子でも、一連の演算子でもよい。
- reps (int) – 進化した演算子を繰り返す回数。
- evolution (EvolutionSynthesis | None) – どの進化合成を使うかの指定。
PauliEvolutionGate. デフォルトは1次のトロッター化。 型の演算子はOperatorはHamiltonianGateトロッター化では展開するハミルトニアンの項がないからである。 - insert_barriers (bool) – 各進化の間にバリアを挿入するかどうか。
- name (str) – 回路の名前。
- parameter_prefix (str | Sequence[str]) – 回路パラメータの名前を設定します。 文字列の場合、各パラメータに同じ接頭辞が使用されます。 演算子ごとに接頭辞を指定するためのリストとしても使用できます。
- remove_identities (bool) –
Trueの場合、同一性演算子は無視する。Operator入力をチェックしないことに注意)。 これにより、IDに関連するパラメータも削除される。 - flatten (bool | None) –
Trueの場合、ゲート・オブジェクトの複数のレイヤーの中に入れ子にするのではなく、フラットな回路が返される。 これをFalseに設定すると、特にパラメーター・バインディングのパフォーマンスが著しく低下するが、よりきれいに視覚化するためには望ましい。
戻りの型
このページは役に立ちましたか?
バグや誤字の報告、またはコンテンツの要求はGitHubで行ってください。