qiskit.circuit.library.qaoa_ansatz
qiskit.circuit.library.qaoa_ansatz(cost_operator, reps=1, initial_state=None, mixer_operator=None, insert_barriers=False, name='QAOA', flatten=True)
사용자 지정 초기 상태 및 믹서를 지원하는 일반화된 QAOA 양자 회로입니다.
예:
QAOA 해법을 정의하려면 고전적인 최적화 문제를 인코딩하는 비용 해밀턴이 필요합니다:
from qiskit.quantum_info import SparsePauliOp
from qiskit.circuit.library import qaoa_ansatz
cost_operator = SparsePauliOp(["ZZII", "IIZZ", "ZIIZ"])
ansatz = qaoa_ansatz(cost_operator, reps=3, insert_barriers=True)
ansatz.draw("mpl")
매개변수
- cost_operator (BaseOperator) – 최적화 문제의 비용을 나타내는 연산자로, [1에서] 로 표시됩니다.
- reps (int) – 회로의 깊이를 결정하는 정수로, [1에서] 이라고 합니다.
- initial_state (QuantumCircuit | None) – 사용할 선택적 초기 상태로, 기본값은 상태를 준비하는 하다마르 게이트 층입니다. 사용자 정의 믹서를 선택한 경우, 어닐링 조건을 적절히 충족시키기 위해 이 회로를 그라운드 상태로 설정해야 합니다.
- mixer_operator (BaseOperator | None) – 기본적으로 글로벌 폴리 로테이션을 사용하는 사용자 지정 믹서(옵션)입니다. [1에서] 로 표시됩니다. 이 설정이 있는 경우
initial_state도 수정해야 할 수 있습니다. - insert_barriers (bool) – 비용과 믹서 운영자 사이에 장벽을 삽입할지 여부를 결정합니다.
- name (str) – 서킷의 이름입니다.
- flatten (bool) –
True이면 여러 개의 게이트 객체 레이어 안에 중첩되는 대신 평면 회로가 반환됩니다.False으로 설정하면 특히 매개변수 바인딩의 경우 성능이 현저히 떨어지지만 깔끔한 시각화를 위해 바람직할 수 있습니다.
리턴 유형
참조 자료:
[1] Farhi et al.., 양자 근사 최적화 알고리즘. arXiv:1411.4028
이 페이지가 도움이 되었습니까?
GitHub에서 버그, 오타를 보고하거나 컨텐츠를 요청하십시오.