qiskit.circuit.library.qaoa_ansatz
qiskit.circuit.library.qaoa_ansatz(cost_operator, reps=1, initial_state=None, mixer_operator=None, insert_barriers=False, name='QAOA', flatten=True)
カスタム初期状態とミキサーをサポートした一般化QAOA量子回路。
例:
QAOAアサッツを定義するためには、古典的な最適化問題を符号化したコスト・ハミルトニアンが必要である:
from qiskit.quantum_info import SparsePauliOp
from qiskit.circuit.library import qaoa_ansatz
cost_operator = SparsePauliOp(["ZZII", "IIZZ", "ZIIZ"])
ansatz = qaoa_ansatz(cost_operator, reps=3, insert_barriers=True)
ansatz.draw("mpl")
パラメーター
- cost_operator (BaseOperator) – 最適化問題のコストを表す演算子で、 [1では] 。
- reps (int) – 回路の深さを決める整数で、 [1では] 。
- initial_state (QuantumCircuit | None) – デフォルトはハダマードゲートのレイヤーで、 。 カスタム・ミキサーを選択した場合、この回路は、アニール条件を適切に満たすために、接地状態を準備するように設定されるべきである。
- mixer_operator (BaseOperator | None) – オプションのカスタム・ミキサーで、デフォルトはグローバル・パウリ ローテーション。 これを [1では] 。 これが設定されている場合、
initial_state。 - insert_barriers (bool) – コストとミキサーオペレーターの間にバリアを挿入するかどうか。
- name (str) – 回路の名前。
- flatten (bool) –
Trueの場合、ゲート・オブジェクトの複数のレイヤーの中に入れ子にするのではなく、フラットな回路が返される。 これをFalseに設定すると、特にパラメーター・バインディングのパフォーマンスが著しく低下するが、よりきれいに視覚化するためには望ましい。
戻りの型
参照資料:
[1] ファーリら、 量子近似最適化アルゴリズム。 arXiv:1411.4028
このページは役に立ちましたか?
バグや誤字の報告、またはコンテンツの要求はGitHubで行ってください。