CircuitEvolver
class CircuitEvolver(evolution_state, circuit, dt)
Basen: Evolver
Eine Zeitentwicklungsmaschine auf der Grundlage von Quantenschaltungen.
Dieser Algorithmus führt die Zeitentwicklung durch, indem er nacheinander eine Quantenschaltung, die einem einzelnen Trotter-Schritt entspricht, auf seinen internen Zustand anwendet. Genauer gesagt, baut es ein Tensornetzwerk in der CircuitState. Wie vom Algorithmus gefordert DynamicMPF der Algorithmus verfolgt eine linke und eine rechte Seite der Zeitentwicklung, um die Überschneidung zweier Schaltkreise zu berechnen. In Abhängigkeit von conjugatewendet eine Instanz dieser Engine die Quantengatter ihrer Schablonenschaltung auf die entsprechende Seite an (siehe quimb_circuit für weitere Details).
Initialisieren Sie eine CircuitEvolver instanz.
Parameter
- evolution_state (CircuitState) – ein Verweis auf den Zustand der Zeitentwicklung.
- circuit (QuantumCircuit) – die Schablonenschaltung, die die zeitliche Entwicklung eines einzelnen Trotter-Schrittes kodiert. Diese Schaltung muss parametrisiert werden (siehe
Parameteranstelle des Zeitschritts der Trotter-Methode. Dieser Parameter mussdtheißen. - dt (float) – den Zeitschritt, der verwendet und später an das
ParameterdescircuitObjekts gebunden.
Attribute
conjugate
Gibt zurück, ob diese Time-Evolver-Instanz auf der rechten Seite agiert.
evolved_time
Gibt die aktuelle Entwicklungszeit zurück.
evolution_state
Der Zustand der Zeitentwicklung (siehe auch DynamicMPF.evolution_state).
circuit
Die parametrisierte QuantumCircuit beschreibt den Trotter-Schritt.
Methoden
step
step()
Führen Sie einen einzelnen Zeitschritt von TEBD durch.
Dadurch werden die Gates des circuit auf die evolution_state. Wenn conjugateTrue ist, gilt sie für CircuitState.lhs, andernfalls für CircuitState.rhs.
Rückgabetyp
Keine