Skip to main content
IBM Quantum Platform

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)

GitHub

Un circuito cuántico QAOA generalizado con soporte de estados iniciales y mezcladores personalizados.

Ejemplos:

Para definir el ansatz QAOA necesitamos un hamiltoniano de costes que codifique el problema de optimización clásico:

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")
Diagrama del circuito generado por el código anterior.

Parámetros

  • cost_operator (BaseOperator) – El operador que representa el coste del problema de optimización, denotado como U(C,γ)U(C, \gamma) en [1].
  • reps (int) – El número entero que determina la profundidad del circuito, denominado pp en [1].
  • initial_state (QuantumCircuit | None) – Un estado inicial opcional a utilizar, que por defecto es una capa de puertas Hadamard preparando el estado +n|+\rangle^{\otimes n}. Si se elige un mezclador personalizado, este circuito debe configurarse para preparar su estado de masa, para cumplir adecuadamente las condiciones de recocido.
  • mixer_operator (BaseOperator | None) – Un mezclador personalizado opcional, que utiliza por defecto las rotaciones globales Pauli- XX. En [1] se indica U(B,β)U(B, \beta). Si se configura, es posible que también haya que modificar initial_state .
  • insert_barriers (bool) – Si hay que interponer barreras entre los operadores de costes y los de mezcladoras.
  • name (str) – El nombre del circuito.
  • flatten (bool) – Si True, se devuelve un circuito plano en lugar de anidarlo dentro de múltiples capas de objetos puerta. Configurarlo en False es significativamente menos eficaz, especialmente para la vinculación de parámetros, pero puede ser deseable para una visualización más limpia.

Tipo de retorno

QuantumCircuit

Referencias:

[1] Farhi et al., Un algoritmo cuántico de optimización aproximada. arXiv:1411.4028

¿Le ha resultado útil esta página?
Informe de un error, de una errata o solicite contenido en GitHub.