qiskit.circuit.library.excitation_preserving
qiskit.circuit.library.excitation_preserving(num_qubits, mode='iswap', entanglement='full', reps=3, skip_unentangled_qubits=False, skip_final_rotation_layer=False, parameter_prefix='θ', insert_barriers=False, name='ExcitationPreserving')
휴리스틱 여기 보존 파동 함수 안사츠.
excitation_preserving 회로는 , 및 상태의 비율을 유지합니다. 이를 위해 이 회로는 다음과 같은 형식의 2-큐비트 상호작용을 사용합니다
모드의 경우 "fsim" 또는 모드의 경우 "iswap".
UCC-안사츠와 같은 다른 파동 함수도 여기 보존 기능이 있다는 점에 유의하세요. 그러나 이러한 회로는 빠르게 복잡해질 수 있는 반면, 휴리스틱 동기에 의한 회로는 더 단순한 패턴을 따릅니다.
이 시험용 파동 함수는 2-큐비트 얽힘을 가진 회전 층들로 구성되어 있습니다. 이 얽힘은 회전을 사용하여 생성되며, 선택적으로 모드에 대해 위상 제어 "fsim"게이트를 적용하기도 합니다.
예:
선형 얽힘을 사용하면 이 회로는 다음과 같이 표현됩니다:
from qiskit.circuit.library import excitation_preserving
ansatz = excitation_preserving(3, reps=1, insert_barriers=True, entanglement="linear")
ansatz.draw("mpl")
인텐그레이션 구조는 entanglement 인수를 사용하여 명시적으로 지정할 수 있습니다. "fsim" 모드에는 각 블록에 추가로 매개변수화된 CPhaseGate 를 추가합니다:
ansatz = excitation_preserving(3, reps=1, mode="fsim", entanglement=[[0, 2]])
ansatz.draw("mpl")

매개변수
- num_qubits (int) – 큐비트 수입니다.
- mode (str) – 인탱글러 모드를 선택하면 "iswap" 또는 "fsim"이 될 수 있습니다.
- reps (int) – 회전 레이어와 얽힘 레이어의 구조가 얼마나 자주 반복되는지 지정합니다.
- entanglement (str |Iterable[Iterable[int]] | Iterable[str |Iterable[Iterable[int]]] | Callable[[int], str |Iterable[Iterable[int]] | Iterable[str |Iterable[Iterable[int]]]]) – 입력 블록이 어떤 큐비트에 작용하는지를 지정하는 인덱스들. 자세한 내용은 를
n_local()참조하십시오. - skip_final_rotation_layer (bool) – 회로에 최종 회전 레이어를 추가할지 여부입니다.
- skip_unentangled_qubits (bool) –
True이면 회전 게이트는 얽혀 있는 큐비트에만 작동합니다.False이면 회전 게이트가 모든 큐비트에 작용합니다. - parameter_prefix (str) – 무료 매개변수의 이름입니다.
- insert_barriers (bool) – True를 선택하면 각 레이어 사이에 장벽이 삽입됩니다. False이면 장벽이 삽입되지 않습니다.
- name (str) – 서킷의 이름입니다.
리턴
여기 보존 회로.
리턴 유형