Skip to main content
IBM Quantum Platform

QAOAAnsatz

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

GitHub

Basi: EvolvedOperatorAnsatz

Un circuito quantistico generalizzato QAOA con un supporto di stati iniziali e miscelatori personalizzati.

Riferimenti:

[1] Farhi et al, Un algoritmo di ottimizzazione quantistica approssimativa. arXiv:1411.4028

Parametri

  • cost_operator (BaseOperator or OperatorBase, optional) – L'operatore che rappresenta il costo del problema di ottimizzazione, indicato come U(C,γ)U(C, \gamma) nel documento originale. Deve essere impostato nel costruttore o tramite un setter di proprietà.
  • reps (int) – Il parametro intero p, che determina la profondità del circuito, come specificato nell'articolo originale; l'impostazione predefinita è 1.
  • initial_state (QuantumCircuit, optional) – Uno stato iniziale facoltativo da utilizzare. Se viene passato None, a tutti i qubit viene applicata una serie di porte di Hadamard come stato iniziale.
  • mixer_operator (BaseOperator or OperatorBase or QuantumCircuit, optional) – Un mixer personalizzato opzionale da utilizzare al posto delle rotazioni globali sull’asse X, indicato come “ U(B,β)U(B, \beta) ” nell’articolo originale. Può essere un operatore o un circuito quantistico, eventualmente parametrizzato.
  • name (str) – Nome del circuito, predefinito "qaoa"
  • flatten (bool | None) – Impostare questo valore su True per produrre un circuito piatto invece di annidarlo all'interno di più strati di oggetti gate. Per impostazione predefinita, il contenuto del circuito di uscita viene avvolto in oggetti annidati per una visualizzazione più pulita. Tuttavia, se si usa questo circuito per qualcosa di diverso dalla visualizzazione, si raccomanda vivamente di impostare questo flag a True per evitare un grande sovraccarico di prestazioni per il binding dei parametri.

Attributi

cost_operator

Restituisce un operatore che rappresenta il costo del problema di ottimizzazione.

Risultati

operatore di costo.

Tipo di restituzione

BaseOperator o OperatorBase

initial_state

Restituisce uno stato iniziale opzionale come circuito

mixer_operator

Restituisce un operatore di miscelazione opzionale espresso come operatore o circuito quantico.

Risultati

operatore del mixer o del circuito.

Tipo di restituzione

BaseOperator oppure OperatorBase oppure QuantumCircuit, facoltativo

num_qubits

operators

Gli operatori che si evolvono in questo circuito.

Risultati

Gli operatori da evolvere

(e circuiti) in questa ipotesi.

Tipo di restituzione

List[Union[ BaseOperator, OperatorBase, QuantumCircuit ]]

parameter_bounds

I limiti dei parametri non vincolati del circuito.

Risultati

Un elenco di coppie che indicano i limiti, come (inferiore, superiore). Nessuno indica un parametro non limitato nella direzione corrispondente. Se viene restituito None, il problema è completamente privo di limiti.

reps

Restituisce il parametro reps, che determina la profondità del circuito.

name

Tipo: str

Un nome leggibile per il circuito.

Esempio

from qiskit import QuantumCircuit

qc = QuantumCircuit(2, 2, name="my_circuit")
print(qc.name)
my_circuit
Questa pagina è stata utile?
Segnala un bug, un errore di battitura o richiedi contenuti su GitHub.