Skip to main content
IBM Quantum Platform

QAOA-Ansatz

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

GitHub

Basen: EvolvedOperatorAnsatz

Ein verallgemeinerter QAOA-Quantenschaltkreis mit einer Unterstützung von benutzerdefinierten Anfangszuständen und Mischern.

Quellenangaben:

[1] Farhi et al, Ein quantennäher Optimierungsalgorithmus. arXiv:1411.4028

Parameter

  • cost_operator (BaseOperator or OperatorBase, optional) – Der Operator, der die Kosten des Optimierungsproblems darstellt, in der Originalarbeit als U(C,γ)U(C, \gamma) bezeichnet. Muss entweder im Konstruktor oder über den Property Setter gesetzt werden.
  • reps (int) – Der ganzzahlige Parameter p, der die Tiefe des Schaltkreises bestimmt, ist wie in der Originalarbeit angegeben, Standard ist 1.
  • initial_state (QuantumCircuit, optional) – Ein optionaler Anfangszustand, der verwendet werden soll. Wird „None“ übergeben, wird auf alle Qubits eine Reihe von Hadamard-Gattern als Anfangszustand angewendet.
  • mixer_operator (BaseOperator or OperatorBase or QuantumCircuit, optional) – Ein optionaler benutzerdefinierter Mixer, der anstelle der globalen X-Rotationen verwendet werden kann und in der Originalveröffentlichung als „ U(B,β)U(B, \beta) “ bezeichnet wird. Kann ein Operator oder eine optional parametrisierte Quantenerschaltung sein.
  • name (str) – Ein Name des Stromkreises, standardmäßig 'qaoa'
  • flatten (bool | None) – Setzen Sie dies auf True , um eine flache Schaltung auszugeben, anstatt sie in mehrere Schichten von Gatterobjekten zu verschachteln. Standardmäßig wird der Inhalt des Ausgabeschaltkreises in verschachtelte Objekte eingewickelt, um eine bessere Darstellung zu ermöglichen. Wenn Sie diese Schaltung jedoch für etwas anderes als die Visualisierung verwenden, wird dringend empfohlen, dieses Flag auf True zu setzen, um einen großen Performance-Overhead für die Parameterbindung zu vermeiden.

Attribute

cost_operator

Gibt einen Operator zurück, der die Kosten des Optimierungsproblems darstellt.

Rückgabe

kostenbetreiber.

Rückgabetyp

BaseOperator oder OperatorBase

initial_state

Gibt einen optionalen Ausgangszustand als Schaltkreis zurück

mixer_operator

Gibt einen optionalen Mixer-Operator zurück, ausgedrückt als Operator oder Quantenschaltung.

Rückgabe

mischerbediener oder -kreis.

Rückgabetyp

BaseOperator oder „ OperatorBase “ oder „QuantumCircuit“ (optional)

num_qubits

operators

Die Operatoren, die in diesem Kreislauf entwickelt werden.

Rückgabe

Die zu entwickelnden Operatoren

(und Schaltungen) in diesem Ansatz.

Rückgabetyp

List[Union[ BaseOperator, OperatorBase, QuantumCircuit ]]

parameter_bounds

Die Parametergrenzen für die ungebundenen Parameter in der Schaltung.

Rückgabe

Eine Liste von Paaren, die die Grenzen angeben, als (untere, obere). None bedeutet, dass der Parameter in der entsprechenden Richtung nicht begrenzt ist. Wird None zurückgegeben, ist das Problem völlig unbegrenzt.

reps

Gibt den Parameter reps zurück, der die Tiefe des Schaltkreises bestimmt.

name

Typ: str

Ein von Menschen lesbarer Name für den Stromkreis.

Beispiel

from qiskit import QuantumCircuit

qc = QuantumCircuit(2, 2, name="my_circuit")
print(qc.name)
my_circuit
War diese Seite hilfreich?
Melden Sie auf GitHub einen Fehler, einen Tippfehler oder fordern Sie Inhalte an.