QAOAAnsatz
class qiskit.circuit.library.QAOAAnsatz(cost_operator=None, reps=1, initial_state=None, mixer_operator=None, name='QAOA', flatten=None)
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 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 “ ” 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
Trueper 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 aTrueper 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