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)
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")
Parámetros
- cost_operator (BaseOperator) – El operador que representa el coste del problema de optimización, denotado como en [1].
- reps (int) – El número entero que determina la profundidad del circuito, denominado en [1].
- initial_state (QuantumCircuit | None) – Un estado inicial opcional a utilizar, que por defecto es una capa de puertas Hadamard preparando el estado . 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- . En [1] se indica . 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 enFalsees 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
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.