QAOA 접근법
class qiskit.circuit.library.QAOAAnsatz(cost_operator=None, reps=1, initial_state=None, mixer_operator=None, name='QAOA', flatten=None)
사용자 지정 초기 상태 및 믹서를 지원하는 일반화된 QAOA 양자 회로입니다.
참조 자료:
[1] Farhi et al.., 양자 근사 최적화 알고리즘. arXiv:1411.4028
매개변수
- cost_operator (BaseOperator or OperatorBase, optional) – 최적화 문제의 비용을 나타내는 연산자로, 원본 논문에서는 로 표시됩니다. 생성자 또는 속성 설정자를 통해 설정해야 합니다.
- reps (int) – 원본 문서에 지정된 대로 회로의 깊이를 결정하는 정수 매개변수 p는 기본값이 1입니다.
- initial_state (QuantumCircuit, optional) – 사용할 선택적 초기 상태입니다. None이 전달되면, 모든 큐비트에 초기 상태로 하다마르 게이트 집합이 적용됩니다.
- mixer_operator (BaseOperator or OperatorBase or QuantumCircuit, optional) – 전역 X-회전 대신 사용할 수 있는 선택적 사용자 정의 믹서로, 원본 논문에서는 ‘ ’로 표기되어 있습니다. 연산자이거나, 선택적으로 매개변수가 지정된 양자 회로일 수 있습니다.
- name (str) – 회로의 이름, 기본값 'qaoa'
- flatten (bool | None) – 여러 개의 게이트 오브젝트 레이어 안에 중첩하는 대신 평면 회로를 출력하려면
True로 설정합니다. 현재 기본적으로 출력 회로의 내용은 보다 깔끔한 시각화를 위해 중첩된 객체로 래핑됩니다. 그러나 시각화 이외의 다른 용도로 이 회로를 사용하는 경우 매개변수 바인딩으로 인한 성능 오버헤드가 크지 않도록 이 플래그를True로 설정하는 것이 좋습니다.
속성
cost_operator
최적화 문제의 비용을 나타내는 연산자를 반환합니다.
리턴
비용 연산자입니다.
리턴 유형
BaseOperator 또는 OperatorBase
initial_state
선택적 초기 상태를 회로로 반환합니다
mixer_operator
연산자 또는 양자 회로로 표현되는 선택적 믹서 연산자를 반환합니다.
리턴
믹서 연산자 또는 회로.
리턴 유형
BaseOperator 또는 OperatorBase 또는 QuantumCircuit (선택 사항)
num_qubits
operators
이 회로에서 진화한 연산자.
리턴
진화할 운영자
(및 회로)에 대해 설명합니다.
리턴 유형
List[Union[ BaseOperator, OperatorBase, QuantumCircuit ]]
parameter_bounds
회로에서 바인딩되지 않은 매개변수에 대한 매개변수 바운드입니다.
리턴
(아래, 위)와 같이 경계를 나타내는 쌍의 목록입니다. 없음은 해당 방향에 바인딩되지 않은 매개변수를 나타냅니다. 없음이 반환되면 문제가 완전히 해결된 것입니다.
reps
회로의 깊이를 결정하는 reps 파라미터를 반환합니다.
name
유형: str
사람이 읽을 수 있는 회로의 이름입니다.
예제
from qiskit import QuantumCircuit
qc = QuantumCircuit(2, 2, name="my_circuit")
print(qc.name)my_circuit