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)
Um circuito quântico QAOA generalizado com suporte de estados iniciais e misturadores personalizados.
Exemplos:
Para definir o QAOA ansatz, precisamos de um custo Hamiltoniano, que codifica o problema de otimização clássico:
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")
Parâmetros
- cost_operator (BaseOperator) – O operador que representa o custo do problema de otimização, denotado como em [1].
- reps (int) – O número inteiro que determina a profundidade do circuito, chamado em [1].
- initial_state (QuantumCircuit | None) – Um estado inicial opcional a ser usado, cujo padrão é uma camada de portas Hadamard preparando o estado . Se for escolhido um misturador personalizado, esse circuito deverá ser configurado para preparar seu estado de aterramento, a fim de atender adequadamente às condições de recozimento.
- mixer_operator (BaseOperator | None) – Um mixer personalizado opcional, que tem como padrão as rotações globais da Pauli- . Isso é denotado como em [1]. Se isso for definido, o site
initial_statetambém poderá exigir modificações. - insert_barriers (bool) – Se devem ser inseridas barreiras entre os operadores de custo e de misturadores.
- name (str) – O nome do circuito.
- flatten (bool) – Se
True, um circuito plano é retornado em vez de ser aninhado em várias camadas de objetos de porta. Definir isso comoFalseé significativamente menos eficiente, especialmente para a vinculação de parâmetros, mas pode ser desejável para uma visualização mais limpa.
Tipo de retorno
Referências
[1] Farhi et al, Um algoritmo de otimização quântica aproximada. arXiv:1411.4028
Esta página foi útil?
Relate um bug, erro de digitação ou solicite conteúdo no GitHub.