BackendEstimatorV2
class qiskit.primitives.BackendEstimatorV2(*, backend, options=None)
Bases: BaseEstimatorV2
Avalia os valores de expectativa para o circuito quântico fornecido e as combinações observáveis.
A classe BackendEstimatorV2 é uma implementação genérica da interface BaseEstimatorV2 que é usada para envolver um objeto BackendV2 objeto na BaseEstimatorV2 API. Facilita o uso de back-ends que não fornecem uma implementação nativa BaseEstimatorV2 em locais que funcionam com o BaseEstimatorV2. No entanto, se você estiver usando um provedor que tenha uma implementação nativa de BaseEstimatorV2é uma opção melhor aproveitar essa implementação nativa, pois ela provavelmente incluirá otimizações adicionais e será uma implementação mais eficiente. A natureza genérica dessa classe impede a realização de qualquer otimização específica do provedor ou do backend.
Essa classe não realiza nenhuma medição ou atenuação de porta e, no momento, é compatível apenas com observáveis baseados em Pauli. Mais formalmente, dado um observável do tipo , em que é um número complexo e é um operador Pauli, o estimador calcula a expectativa de cada e, por fim, calcula o valor da expectativa de como . O std relatado é calculado como
em que é a variação de , é o número de disparos e é a precisão do alvo [1].
Cada tupla de (circuit, observables, <optional> parameter values, <optional> precision), chamada de bloco unificado primitivo do estimador ( PUB ), produz seu próprio resultado baseado em matriz. O método run() pode receber uma sequência de pubs para ser executada em uma chamada.
As opções para BackendEstimatorV2 consistem nos seguintes itens.
default_precision: A precisão padrão a ser usada se nenhuma for especificada emrun(). Padrão: 0.015625 (1 / sqrt(4096)).abelian_grouping: Se os observáveis devem ser agrupados em conjuntos de observáveis comutáveis de qubit-wise. Padrão: True.seed_simulator: A semente a ser usada no simulador. Se for None, será usada uma semente aleatória. Padrão: none.
Referência:
[1] O. Crawford, B. van Straaten, D. Wang, T. Parks, E. Campbell, St. Brierley, Efficient quantum measurement of Pauli operators in the presence of finite sampling error. Quantum 5, 385
Parâmetros
- backend (BackendV2) – O backend em que a primitiva será executada.
- options (dict | None) – As opções para controlar a precisão padrão (
default_precision), o agrupamento de operadores (abelian_grouping) e a semente aleatória para o simulador (seed_simulator).
Atributos
backend
Retorna o backend no qual este objeto estimador se baseia.
options
Retornar as opções
Métodos
run
run(pubs, *, precision=None)
Estimar valores de expectativa para cada pub fornecido (Primitive Unified Bloc).
Parâmetros
- pubs (Iterable[TypeAliasForwardRef('EstimatorPubLike')]) – Uma coleção de objetos do tipo pub, como tuplas
(circuit, observables)ou(circuit, observables, parameter_values). - precision (float | None) – A precisão de destino para estimativas de valor de expectativa de cada execução do Estimator Pub que não especifica sua própria precisão. Se for None, será usado o valor de precisão padrão do estimador.
Retorna
Um objeto de trabalho que contém resultados.
Tipo de retorno
TrabalhoPrimitivo [ ResultadoPrimitivo [ ResultadoPúblico ]]