Skip to main content
IBM Quantum Platform

Enfoque QAOA

class qiskit.circuit.library.QAOAAnsatz(cost_operator=None, reps=1, initial_state=None, mixer_operator=None, name='QAOA', flatten=None)

GitHub

Bases: EvolvedOperatorAnsatz

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

Referencias:

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

Parámetros

  • cost_operator (BaseOperator or OperatorBase, optional) – El operador que representa el coste del problema de optimización, denotado como U(C,γ)U(C, \gamma) en el documento original. Debe establecerse en el constructor o a través de la propiedad setter.
  • reps (int) – El parámetro entero p, que determina la profundidad del circuito, como se especifica en el documento original, por defecto es 1.
  • initial_state (QuantumCircuit, optional) – Un estado inicial opcional a utilizar. Si se pasa Ninguno, se aplica un conjunto de puertas Hadamard como estado inicial a todos los qubits.
  • mixer_operator (BaseOperator or OperatorBase or QuantumCircuit, optional) – Un mezclador personalizado opcional para utilizar en lugar de las rotaciones X globales, denotado como U(B,β)U(B, \beta) en el documento original. Puede ser un operador o un circuito cuántico opcionalmente parametrizado.
  • name (str) – Nombre del circuito, por defecto "qaoa"
  • flatten (bool | None) – Establézcalo en True para obtener un circuito plano en lugar de anidarlo dentro de múltiples capas de objetos puerta. Por defecto actualmente el contenido del circuito de salida se envolverá en objetos anidados para una visualización más limpia. Sin embargo, si está utilizando este circuito para algo más que la visualización, se recomienda encarecidamente establecer esta bandera en True para evitar una gran sobrecarga de rendimiento para la vinculación de parámetros.

Atributos

cost_operator

Devuelve un operador que representa el coste del problema de optimización.

Devuelve

operador de costes.

Tipo de retorno

BaseOperator o OperatorBase

initial_state

Devuelve un estado inicial opcional como circuito

mixer_operator

Devuelve un operador mezclador opcional expresado como un operador o un circuito cuántico.

Devuelve

operador o circuito de la mezcladora.

Tipo de retorno

BaseOperator o OperatorBase o QuantumCircuit, opcional

num_qubits

operators

Los operadores que evolucionan en este circuito.

Devuelve

Los operadores que deben evolucionar

(y circuitos) en este ansatz.

Tipo de retorno

Lista[Unión[ BaseOperator, OperatorBase, QuantumCircuit ]]

parameter_bounds

Los límites de los parámetros no vinculados en el circuito.

Devuelve

Una lista de pares que indican los límites, como (inferior, superior). Ninguno indica un parámetro no limitado en la dirección correspondiente. Si se devuelve Ninguno, el problema es totalmente ilimitado.

reps

Devuelve el parámetro reps, que determina la profundidad del circuito.

name

Tipo: str

Un nombre legible para el circuito.

Ejemplo

from qiskit import QuantumCircuit

qc = QuantumCircuit(2, 2, name="my_circuit")
print(qc.name)
my_circuit
¿Le ha resultado útil esta página?
Informe de un error, de una errata o solicite contenido en GitHub.