Skip to main content
IBM Quantum Platform

Approche 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 circuit quantique QAOA généralisé avec un support d'états initiaux et de mélangeurs personnalisés.

Références :

[1] Farhi et al, Un algorithme d'optimisation approximative quantique. arXiv:1411.4028

Paramètres

  • cost_operator (BaseOperator or OperatorBase, optional) – L'opérateur représentant le coût du problème d'optimisation, noté U(C,γ)U(C, \gamma) dans le document original. Doit être défini soit dans le constructeur, soit par l'intermédiaire de l'outil de définition des propriétés.
  • reps (int) – Le paramètre entier p, qui détermine la profondeur du circuit, comme spécifié dans le document original, la valeur par défaut étant 1.
  • initial_state (QuantumCircuit, optional) – Un état initial facultatif à utiliser. Si la valeur « None » est transmise, un ensemble de portes de Hadamard est appliqué à tous les qubits en tant qu'état initial.
  • mixer_operator (BaseOperator or OperatorBase or QuantumCircuit, optional) – Un mélangeur personnalisé facultatif pouvant remplacer les rotations X globales, désigné sous le nom de « U(B,β)U(B, \beta) » dans l'article original. Il peut s'agir d'un opérateur ou d'un circuit quantique paramétré (facultativement).
  • name (str) – Nom du circuit, par défaut "qaoa"
  • flatten (bool | None) – Réglez ce paramètre sur True pour obtenir un circuit plat au lieu de l'imbriquer dans plusieurs couches d'objets de porte. Par défaut, le contenu du circuit de sortie sera enveloppé dans des objets imbriqués pour une visualisation plus propre. Cependant, si vous utilisez ce circuit pour autre chose que la visualisation, il est fortement recommandé de mettre ce drapeau à True afin d'éviter une surcharge de performance importante pour la liaison des paramètres.

Attributs

cost_operator

Renvoie un opérateur représentant le coût du problème d'optimisation.

Retours

opérateur de coûts.

Type de retour

BaseOperator ou OperatorBase

initial_state

Renvoie un état initial facultatif sous forme de circuit

mixer_operator

Renvoie un opérateur de mélangeur facultatif exprimé sous la forme d'un opérateur ou d'un circuit quantique.

Retours

l'opérateur ou le circuit du mélangeur.

Type de retour

BaseOperator ou « OperatorBase » ou « QuantumCircuit », facultatif

num_qubits

operators

Les opérateurs qui évoluent dans ce circuit.

Retours

Les opérateurs à faire évoluer

(et circuits) dans cet ansatz.

Type de retour

Liste[Union[ BaseOperator, OperatorBase, QuantumCircuit ]]

parameter_bounds

Les limites des paramètres pour les paramètres non liés du circuit.

Retours

Une liste de paires indiquant les limites, sous la forme (inférieur, supérieur). Aucun indique un paramètre non borné dans la direction correspondante. Si aucun n'est renvoyé, le problème est entièrement non borné.

reps

Renvoie le paramètre reps, qui détermine la profondeur du circuit.

name

Type : str

Un nom lisible par l'homme pour le circuit.

Exemple

from qiskit import QuantumCircuit

qc = QuantumCircuit(2, 2, name="my_circuit")
print(qc.name)
my_circuit
Cette page a-t-elle été utile ?
Signaler un bogue, une coquille ou proposer du contenu sur GitHub.