CircuitEvolver
class CircuitEvolver(evolution_state, circuit, dt)
Bases: Evolver
Un motor de evolución temporal basado en circuitos cuánticos.
Este algoritmo realiza la evolución temporal mediante la aplicación sucesiva a su estado interno de un circuito cuántico correspondiente a un único paso de Trotter. Más concretamente, construye una red tensorial en el modelo CircuitState. Como exige el DynamicMPF algoritmo, rastrea un lado izquierdo y derecho de la evolución temporal para calcular el solapamiento de dos circuitos. Dependiendo de conjugateuna instancia de este motor aplicará las puertas cuánticas de su circuito plantilla al lado correspondiente (véase quimb_circuit para más detalles).
Inicializar una CircuitEvolver instancia.
Parámetros
- evolution_state (CircuitState) – una referencia al estado de evolución temporal.
- circuit (QuantumCircuit) – el circuito plantilla que codifica la evolución temporal de un único paso de Trotter. Este circuito debe parametrizarse (véase
Parameteren lugar del paso de tiempo de los métodos Trotter. Este parámetro debe llamarsedt. - dt (float) – el paso de tiempo que se utilizará y posteriormente se vinculará al
Parameterdel objetocircuit.
Atributos
conjugate
Devuelve si esta instancia de evolvente temporal actúa sobre el lado derecho.
evolved_time
Devuelve el tiempo de evolución actual.
evolution_state
El estado de evolución temporal (véase también DynamicMPF.evolution_state).
circuit
Los parámetros QuantumCircuit que describe el paso de Trotter.
Métodos
step
step()
Realizar un único paso temporal de TEBD.
Esto aplicará las puertas del circuit al evolution_state. Si conjugate es True, se aplica a CircuitState.lhsen caso contrario a CircuitState.rhs.
Tipo de retorno
Ninguna