CircuitEvolver
class CircuitEvolver(evolution_state, circuit, dt)
Bases : Evolver
Un moteur d'évolution temporelle basé sur des circuits quantiques.
Cet algorithme effectue une évolution temporelle en appliquant successivement à son état interne un circuit quantique correspondant à une seule étape de Trotter. Plus précisément, il construit un réseau tensoriel dans le CircuitState. Comme l'exige l'algorithme DynamicMPF il suit un côté gauche et un côté droit de l'évolution temporelle pour calculer le chevauchement de deux circuits. En fonction de conjugateune instance de ce moteur appliquera les portes quantiques de son circuit modèle au côté correspondant (voir quimb_circuit pour plus de détails).
Initialiser une CircuitEvolver instance.
Paramètres
- evolution_state (CircuitState) – une référence à l'état de l'évolution temporelle.
- circuit (QuantumCircuit) – le circuit modèle codant l'évolution temporelle d'une seule étape de Trotter. Ce circuit doit être paramétré (voir
Parameterà la place du pas de temps des méthodes de Trotter. Ce paramètre doit être nommédt. - dt (float) – le pas de temps qui sera utilisé et lié ultérieurement à l'objet
Parameterde l'objetcircuit.
Attributs
conjugate
Retourne si cette instance de time-evolver agit sur le côté droit.
evolved_time
Renvoie le temps d'évolution actuel.
evolution_state
L'état de l'évolution temporelle (voir aussi DynamicMPF.evolution_state).
circuit
La méthode paramétrée QuantumCircuit décrivant l'étape de Trotter.
Méthodes
step
step()
Effectuer un seul pas de temps de la TEBD.
Cela permet d'appliquer les portes de la circuit à la evolution_state. Si l'adresse conjugate est True, il s'applique à CircuitState.lhssinon à CircuitState.rhs.
Type de retour
Aucun