BackendEstimatorV2
class qiskit.primitives.BackendEstimatorV2(*, backend, options=None)
Bases: BaseEstimatorV2
Evalúa valores de expectativa para combinaciones de circuito cuántico y observable proporcionadas.
La clase BackendEstimatorV2 es una implementación genérica de la interfaz BaseEstimatorV2 que se utiliza para envolver un objeto BackendV2 objeto en la BaseEstimatorV2 API. Facilita el uso de backends que no proporcionan una implementación nativa BaseEstimatorV2 nativa en sitios que funcionan con BaseEstimatorV2. Sin embargo, si está utilizando un proveedor que tiene una implementación nativa de BaseEstimatorV2es mejor aprovechar esa implementación nativa, ya que probablemente incluirá optimizaciones adicionales y será una implementación más eficiente. La naturaleza genérica de esta clase impide realizar optimizaciones específicas para el proveedor o el backend.
Esta clase no realiza ninguna medición o mitigación de puerta y, actualmente, sólo es compatible con observables basados en Pauli. Más formalmente, dado un observable del tipo , donde es un número complejo y es un operador de Pauli, el estimador calcula la expectativa de cada y finalmente calcula el valor de la expectativa de como . El std notificado se calcula como
donde es la varianza de , es el número de disparos y es la precisión del objetivo [1].
Cada tupla de (circuit, observables, <optional> parameter values, <optional> precision), denominada bloque unificado primitivo del estimador ( PUB ), produce su propio resultado basado en matrices. El método run() puede recibir una secuencia de pubs para ejecutarla en una sola llamada.
Las opciones de BackendEstimatorV2 consisten en lo siguiente
default_precision: La precisión por defecto a utilizar si no se especifica ninguna enrun(). Por defecto: 0.015625 (1 / sqrt(4096)).abelian_grouping: Si los observables deben agruparse en conjuntos de observables conmutables qubit-wise. Valor predeterminado: True.seed_simulator: La semilla a utilizar en el simulador. Si es Ninguno, se utilizará una semilla aleatoria. Por omisión: ninguno.
Referencia:
[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) – El backend en el que se ejecutará la primitiva.
- options (dict | None) – Las opciones para controlar la precisión por defecto (
default_precision), la agrupación de operadores (abelian_grouping), y la semilla aleatoria para el simulador (seed_simulator).
Atributos
backend
Devuelve el backend en el que se basa este objeto estimador.
options
Devolver las opciones
Métodos
run
run(pubs, *, precision=None)
Estimar los valores de expectativa para cada pub proporcionado (Bloque Primitivo Unificado).
Parámetros
- pubs (Iterable[TypeAliasForwardRef('EstimatorPubLike')]) – Una secuencia de objetos similares a «pub», como tuplas
(circuit, observables)o(circuit, observables, parameter_values). - precision (float | None) – La precisión objetivo para las estimaciones del valor de expectativa de cada ejecución Estimador Pub que no especifica su propia precisión. Si es Ninguno, se utilizará el valor de precisión por defecto del estimador.
Devuelve
Un objeto de trabajo que contiene resultados.
Tipo de retorno