Skip to main content
IBM Quantum Platform

LayerwiseEvolver

class LayerwiseEvolver(evolution_state, layers, *args, **kwargs)

GitHub

베이스: TEBDEvolver

의 특별한 경우 TEBDEvolver 레이어별 진화 모델을 기반으로 합니다.

에서도 설명했듯이 tenpy_layers에서 설명한 것처럼 이 구현은 원본 내부에 구현된 짝수/홀수 본드 업데이트를 번갈아 가며 추출하여 TEBDEngine 에서 구현된 짝수/홀수 본드 업데이트를 추출하여 최종 사용자의 책임이 되도록 합니다. 이는 인스턴스에 제공된 단일 해밀턴을 TEBDEvolver 인스턴스 시퀀스로 대체합니다 LayerModel 인스턴스 시퀀스로 대체합니다. 이러한 모든 인스턴스는 상호작용의 단일 계층을 인코딩합니다. 이는 기본 텐서 네트워크의 짝수 결합과 홀수 결합을 번갈아 업데이트하도록 강제해야 합니다.

이렇게 복잡한 인터페이스를 만든 이유는 훨씬 더 많은 유연성을 제공하고 사용자가 TeNPy 에서 직접 구현한 공식에 국한되지 않고 맞춤형 트로터 제품 공식을 정의할 수 있도록 하기 위해서입니다.

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

매개변수

  • evolution_state (tenpy_tebd.MPOState) – 로 전달 TEBDEvolver. 자세한 내용은 해당 문서를 참조하세요.
  • layers (list[LayerModel]) – 단일 계층의 상호작용을 설명하는 모델 목록입니다. 위와 설명은 물론 tenpy_layers.
  • args - 추가 위치 인자가 있으면 TEBDEvolver 생성자로 전달됩니다.
  • kwargs - 모든 추가 키워드 인수는 TEBDEvolver 생성자로 전달됩니다.

속성

layers

시간 진화를 구현하는 데 사용된 상호작용 레이어입니다.

dt

이 시간 진화 인스턴스에서 사용할 시간 단계입니다.


메소드

calc_U

calc_U(order, delta_t, type_evo='real', E_offset=None)

GitHub

로컬 채권 업데이트를 계산합니다.

이렇게 하면 calc_U() 를 레이어별 구현과 함께 작동하도록 조정합니다.

매개변수

  • order (int) – 이 무시되고 있습니다.
  • delta_t (float) – 사용할 시간 단계를 설정합니다.
  • type_evo (str) – 시간 진화 유형입니다. 현재 가상의 시간 진화는 지원되지 않습니다.
  • E_offset (list[float] | None) – 일정한 에너지 오프셋을 적용합니다.

리턴 유형

없음

evolve

evolve(N_steps, dt)

GitHub

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

매개변수

  • N_steps (int) – 는 항상 1 여야 하며, 그렇지 않으면 오류가 발생합니다(아래 참조).
  • dt (float) – 사용할 시간 단계를 설정합니다.

리턴

잘림 오류입니다.

레이즈

RuntimeError - N_steps1 과 같지 않은 경우.

리턴 유형

TruncationError

suzuki_trotter_decomposition

static suzuki_trotter_decomposition(order, N_steps)

GitHub

빈 목록을 반환합니다.

참고

이 메서드는 이 서브클래스에 대해 정의되지 않았지만 내부 알고리즘 흐름으로 인해 호출 시 에러를 발생시킬 수 없습니다. 대신, 이 클래스의 트로터 분해는 직접적으로 layers.

매개변수

  • order (int) – 가 무시되고 있습니다.
  • N_steps (int) – 가 무시되고 있습니다.

리턴

비어 있는 목록입니다.

리턴 유형

목록[ 튜플[ int, int ]]

suzuki_trotter_time_steps

static suzuki_trotter_time_steps(order)

GitHub

빈 목록을 반환합니다.

참고

이 메서드는 이 서브클래스에 대해 정의되지 않았지만 내부 알고리즘 흐름으로 인해 호출 시 에러를 발생시킬 수 없습니다. 대신, 이 클래스의 트로터 분해는 직접적으로 layers.

매개변수

order (int) – 가 무시되고 있습니다.

리턴

비어 있는 목록입니다.

리턴 유형

list[ float ]

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