LieTrotter
class qiskit.synthesis.LieTrotter(reps=1, insert_barriers=False, cx_structure='chain', atomic_evolution=None, wrap=False, preserve_order=True, *, atomic_evolution_sparse_observable=False)
베이스: SuzukiTrotter
거짓말 트로터 제품 공식.
거짓말-트로터 공식은 통근하지 않는 두 연산자의 지수 곱을 최대 2차 오차까지 근사화하는 공식입니다:
이 구현에서 연산자는 폴리 연산자의 합계 조건으로 제공됩니다. 예를 들어, 대략 다음과 같이 추정합니다
참조
[1] : D. 베리, G. 아호카스, R. 클레브, B. 샌더스, "희소 해밀턴 시뮬레이션을 위한 효율적인 양자 알고리즘"(2006). arXiv:quant-ph/0508139 [2] : N. 하타노와 M. 스즈키, "고차 지수의 지수 곱 공식 찾기"(2005). arXiv:math-ph/0506007
매개변수
- reps (int) – 시간 단계 수입니다.
- insert_barriers (bool) – 원자 진화 사이에 장벽을 삽입할지 여부입니다.
- cx_structure (str) – 폴리 진화를 위한 CX 게이트 배열 방법은 다음 이웃 연결이 사용되는
"chain"또는 모든 큐비트가 하나에 연결되는"fountain"이 될 수 있습니다.atomic_evolution is None. - atomic_evolution (Callable[[QuantumCircuit, qiskit.quantum_info.Pauli |SparsePauliOp, float], None] | None) – 회로에 단일
Pauli항 또는SparsePauliOp가환 항들만으로 구성된 항의 진화를 적용하는 함수. 이 함수는 세 개의 인자를 받습니다: 진화 과정을 추가할 회로, 진화시킬 파울리 연산자, 그리고 진화 시간입니다. 기본적으로, 하나의 파울리 진화는 일련의CX게이트와 하나의RZ게이트로 분해됩니다. - wrap (bool) – 원자 진화를 커스텀 게이트 오브젝트로 래핑할지 여부입니다.
atomic_evolution is None. - preserve_order (bool) –
False, 연산자의 조건을 재주문하면 잠재적으로 더 얕은 진화 회로를 얻을 수 있습니다. 단일 용어로 연산자를 합성할 때는 관련이 없습니다. - atomic_evolution_sparse_observable (bool) – 아직 지원하지 않는 사용자 정의
atomic_evolution가 입력으로 전달된 경우SparseObservable를 입력으로 전달한 경우, 이 인수를False로 설정하여 자동으로SparsePauliOp. 이 인수는 키스킷 2.2 까지 지원되며, 이 시점부터는 모든 원자 진화에 대해SparseObservable를 입력으로 지원해야 합니다.
속성
settings
객체를 재구성하는 데 사용할 수 있는 사전의 설정을 반환합니다.
리턴
이 제품 공식의 설정이 포함된 사전입니다.
레이즈
NotImplementedError - 사용자 지정 원자 진화가 설정되어 있는 경우 직렬화할 수 없습니다.
메소드
expand
expand(evolution)
해밀턴을 스즈키-트로터 수열의 희소 게이트로 확장합니다.
예를 들어, 진화 시간 t 및 2차 공식에 대한 1회의 반복에 대한 해밀턴( H = IX + ZZ )은 (pauli, indices, rz_rotation_angle) 을 포함하는 3-튜플 목록으로 분해됩니다:
("X", [0], t), ("ZZ", [0, 1], 2t), ("X", [0], t)회전각에는 2라는 계수가 포함되어 있다는 점에 유의하십시오. 따라서 시간에 따른 파울리 벡터( )의 변화 는 이며, 이는 로 표현됩니다 (P, indices, 2 * t).
N 반복의 경우, 이 시퀀스를 N 번 반복하고 계수를 N 로 나눕니다.
매개변수
evolution (PauliEvolutionGate) – 확장을 위한 진화 게이트.
리턴
폴리 네트워크가 트로터 확장을 구현하고 있습니다.
리턴 유형
synthesize
synthesize(evolution)
매개변수
evolution (PauliEvolutionGate) – 합성을 위한 진화 게이트입니다.
리턴
진화를 구현하는 회로입니다.
리턴 유형