CircuitEvolver
class CircuitEvolver(evolution_state, circuit, dt)
Bases: Evolver
Um mecanismo de evolução temporal baseado em circuitos quânticos.
Esse algoritmo realiza a evolução temporal por meio da aplicação sucessiva de um circuito quântico correspondente a uma única etapa de Trotter em seu estado interno. Mais especificamente, ele constrói uma rede de tensores no formato CircuitState. Conforme exigido pelo DynamicMPF o algoritmo rastreia um lado esquerdo e um lado direito da evolução temporal para calcular a sobreposição de dois circuitos. Dependendo de conjugateuma instância desse mecanismo aplicará as portas quânticas de seu circuito modelo ao lado correspondente (consulte quimb_circuit para obter mais detalhes).
Inicializar uma CircuitEvolver instância.
Parâmetros
- evolution_state (CircuitState) – uma referência ao estado da evolução temporal.
- circuit (QuantumCircuit) – o circuito modelo que codifica a evolução temporal de uma única etapa de Trotter. Esse circuito deve ser parametrizado (consulte
Parameterno lugar da etapa de tempo dos métodos de Trotter. Esse parâmetro deve ser denominadodt. - dt (float) – a etapa de tempo que será usada e posteriormente vinculada ao
Parameterdo objetocircuit.
Atributos
conjugate
Retorna se essa instância do time-evolver atua no lado direito.
evolved_time
Retorna o tempo de evolução atual.
evolution_state
O estado de evolução temporal (consulte também DynamicMPF.evolution_state).
circuit
O parâmetro QuantumCircuit que descreve a etapa de Trotter.
Métodos
step
step()
Execute uma única etapa de tempo do TEBD.
Isso aplicará os portões do circuit para o evolution_state. Se conjugate for True, ele se aplica a CircuitState.lhs, caso contrário, a CircuitState.rhs.
Tipo de retorno
Nenhum