CircuitEvolver
class CircuitEvolver(evolution_state, circuit, dt)
Basi: Evolver
Un motore di evoluzione temporale basato su circuiti quantistici.
Questo algoritmo esegue l'evoluzione temporale applicando successivamente al suo stato interno un circuito quantistico corrispondente a un singolo passo di Trotter. Più precisamente, costruisce una rete di tensori nel CircuitState. Come richiesto dall'algoritmo DynamicMPF come richiesto dall'algoritmo, traccia un lato sinistro e uno destro dell'evoluzione temporale per calcolare la sovrapposizione di due circuiti. A seconda di conjugateun'istanza di questo motore applicherà le porte quantiche del suo circuito modello al lato corrispondente (vedere quimb_circuit per maggiori dettagli).
Inizializza un'istanza CircuitEvolver istanza.
Parametri
- evolution_state (CircuitState) – un riferimento allo stato di evoluzione temporale.
- circuit (QuantumCircuit) – il circuito modello che codifica l'evoluzione temporale di un singolo passo di Trotter. Questo circuito deve essere parametrizzato (cfr
Parameteral posto del passo temporale dei metodi Trotter. Questo parametro deve essere denominatodt. - dt (float) – il passo temporale che verrà utilizzato e successivamente vincolato all'oggetto
Parameterdell'oggettocircuit.
Attributi
conjugate
Restituisce se questa istanza di time-evolver agisce sul lato destro.
evolved_time
Restituisce il tempo di evoluzione corrente.
evolution_state
Lo stato di evoluzione temporale (vedere anche DynamicMPF.evolution_state).
circuit
La parametrizzazione QuantumCircuit che descrive il passo di Trotter.
Metodi
step
step()
Eseguire un singolo passo temporale di TEBD.
In questo modo si applicheranno i cancelli dell'applicazione circuit alla evolution_state. Se conjugate è True, si applica a CircuitState.lhsaltrimenti a CircuitState.rhs.
Tipo di restituzione
Nessuna