qiskit.circuit.library.evolved_operator_ansatz
qiskit.circuit.library.evolved_operator_ansatz(operators, reps=1, evolution=None, insert_barriers=False, name='EvolvedOps', parameter_prefix='t', remove_identities=True, flatten=None)
연산자 진화에서 안사츠를 구축합니다.
및 반복 (reps) 연산자 집합의 경우 이 회로는 다음과 같이 정의됩니다
여기서 지수 는 evolution 에서 지정한 제품 공식을 사용하여 확장됩니다.
예:
from qiskit.circuit.library import evolved_operator_ansatz
from qiskit.quantum_info import Pauli
ops = [Pauli("ZZI"), Pauli("IZZ"), Pauli("IXI")]
ansatz = evolved_operator_ansatz(ops, reps=3, insert_barriers=True)
ansatz.draw("mpl")
매개변수
- operators (BaseOperator | Sequence[BaseOperator]) – 진화하는 운영자. 단일 연산자 또는 그 시퀀스일 수 있습니다.
- reps (int) – 진화한 연산자를 반복할 횟수입니다.
- evolution (EvolutionSynthesis | None) – 에 사용할 진화 합성에 대한 사양입니다
PauliEvolutionGate. 기본값은 첫 번째 트로터화 순서입니다. 타입의 연산자Operator유형의 연산자는HamiltonianGate를 사용하여 진화하는데, 트로터화에는 확장할 해밀턴 용어가 없기 때문입니다. - insert_barriers (bool) – 각 진화 사이에 장벽을 삽입할지 여부를 설정합니다.
- name (str) – 서킷의 이름입니다.
- parameter_prefix (str | Sequence[str]) – 회로 파라미터의 이름을 지정합니다. 문자열인 경우, 각 매개변수에 동일한 접두사가 사용됩니다. 연산자별로 접두사를 지정하는 목록일 수도 있습니다.
- remove_identities (bool) –
True인 경우 ID 연산자를 무시합니다(확인하지 않습니다Operator입력은 확인하지 않습니다). 이렇게 하면 ID와 관련된 매개변수도 제거됩니다. - flatten (bool | None) –
True이면 여러 개의 게이트 객체 레이어 안에 중첩되는 대신 평면 회로가 반환됩니다.False으로 설정하면 특히 매개변수 바인딩의 경우 성능이 현저히 떨어지지만 깔끔한 시각화를 위해 바람직할 수 있습니다.
리턴 유형
이 페이지가 도움이 되었습니까?
GitHub에서 버그, 오타를 보고하거나 컨텐츠를 요청하십시오.