Skip to main content
IBM Quantum Platform

CircuitEvolver

class CircuitEvolver(evolution_state, circuit, dt)

GitHub

베이스: Evolver

양자 회로를 기반으로 하는 시간 진화 엔진입니다.

이 알고리즘은 단일 트로터 단계에 해당하는 양자 회로를 내부 상태에 연속적으로 적용하는 방식으로 시간 진화를 수행합니다. 보다 구체적으로, 텐서 네트워크를 구축합니다 CircuitState. 알고리즘에서 요구하는 대로 DynamicMPF 알고리즘에 따라 두 회로의 중첩을 계산하기 위해 시간 진화의 왼쪽과 오른쪽을 추적합니다. 에 따라 conjugate에 따라 이 엔진의 인스턴스는 해당 템플릿 회로의 양자 게이트를 해당 측에 적용합니다( quimb_circuit 를 참고하세요).

인스턴스를 초기화합니다 CircuitEvolver 인스턴스를 초기화합니다.

매개변수

  • evolution_state (CircuitState) – 시간 진화 상태에 대한 참조입니다.
  • circuit (QuantumCircuit) – 단일 트로터 스텝의 시간 진화를 인코딩하는 템플릿 회로입니다. 이 회로는 파라미터화해야 합니다( Parameter 를 사용하여 파라미터화해야 합니다. 이 매개변수의 이름은 dt 이어야 합니다.
  • dt (float) – 사용할 시간 단계이며 나중에 객체의 Parametercircuit 에 바인딩됩니다.

속성

conjugate

이 타임 에볼버 인스턴스가 오른쪽에서 작동하는지 여부를 반환합니다.

evolved_time

현재 진화 시간을 반환합니다.

evolution_state

시간 진화 상태( DynamicMPF.evolution_state).

circuit

매개변수화된 QuantumCircuit 트로터 단계를 설명합니다.


메소드

step

step()

GitHub

TEBD의 단일 시간 단계를 수행합니다.

이렇게 하면 circuit 의 문을 evolution_state. 만약 conjugateTrue 인 경우 CircuitState.lhs에 적용되며, 그렇지 않으면 CircuitState.rhs.

리턴 유형

없음

이 페이지가 도움이 되었습니까?
GitHub에서 버그, 오타를 보고하거나 컨텐츠를 요청하십시오.