Skip to main content
IBM Quantum Platform

QAOAAnsatz

class qiskit.circuit.library.QAOAAnsatz(cost_operator=None, reps=1, initial_state=None, mixer_operator=None, name='QAOA', flatten=None)

GitHub

Bases: EvolvedOperatorAnsatz

Um circuito quântico QAOA generalizado com suporte de estados iniciais e misturadores personalizados.

Referências

[1] Farhi et al, Um algoritmo de otimização quântica aproximada. arXiv:1411.4028

Parâmetros

  • cost_operator (BaseOperator or OperatorBase, optional) – O operador que representa o custo do problema de otimização, denotado como U(C,γ)U(C, \gamma) no documento original. Deve ser definido no construtor ou por meio do definidor de propriedade.
  • reps (int) – O parâmetro inteiro p, que determina a profundidade do circuito, conforme especificado no documento original, o padrão é 1.
  • initial_state (QuantumCircuit, optional) – Um estado inicial opcional a ser usado. Se None for passado, um conjunto de portas Hadamard será aplicado como um estado inicial a todos os qubits.
  • mixer_operator (BaseOperator or OperatorBase or QuantumCircuit, optional) – Um misturador personalizado opcional a ser usado em vez das rotações X globais, denotado como U(B,β)U(B, \beta) no documento original. Pode ser um operador ou um circuito quântico parametrizado opcionalmente.
  • name (str) – Um nome do circuito, padrão 'qaoa'
  • flatten (bool | None) – Defina essa opção como True para gerar um circuito plano em vez de aninhá-lo em várias camadas de objetos de porta. Por padrão, atualmente, o conteúdo do circuito de saída será agrupado em objetos aninhados para uma visualização mais limpa. No entanto, se estiver usando esse circuito para qualquer coisa além de visualização, é altamente recomendável definir esse sinalizador como True para evitar uma grande sobrecarga de desempenho para a vinculação de parâmetros.

Atributos

cost_operator

Retorna um operador que representa o custo do problema de otimização.

Retorna

operador de custos.

Tipo de retorno

BaseOperator ou OperatorBase

initial_state

Retorna um estado inicial opcional como um circuito

mixer_operator

Retorna um operador de mixer opcional expresso como um operador ou um circuito quântico.

Retorna

operador ou circuito do misturador.

Tipo de retorno

BaseOperator ou OperatorBase ou QuantumCircuit, opcional

num_qubits

operators

Os operadores que são desenvolvidos nesse circuito.

Retorna

Os operadores a serem desenvolvidos

(e circuitos) nesse ansatz.

Tipo de retorno

List[Union[ BaseOperator, OperatorBase, QuantumCircuit ]]

parameter_bounds

Os limites de parâmetros para os parâmetros não vinculados no circuito.

Retorna

Uma lista de pares indicando os limites, como (inferior, superior). Nenhum indica um parâmetro não limitado na direção correspondente. Se None for retornado, o problema será totalmente ilimitado.

reps

Retorna o parâmetro reps, que determina a profundidade do circuito.

name

Tipo: str

Um nome legível por humanos para o circuito.

Exemplo

from qiskit import QuantumCircuit

qc = QuantumCircuit(2, 2, name="my_circuit")
print(qc.name)
my_circuit
Esta página foi útil?
Relate um bug, erro de digitação ou solicite conteúdo no GitHub.