Skip to main content
IBM Quantum Platform

Muestreador

class Sampler(mode=None, options=None)

GitHub

Bases: BaseSamplerV2

Primitiva «Sampler» del lado del cliente para IBM Quantum Compute (antes Qiskit Runtime ).

Se trata de una implementación de Sampler basada en la primitiva Executor, que permite un procesamiento transparente por parte del cliente con ciclos de retroalimentación más rápidos y un mayor control por parte del usuario.

Limitaciones:

  • Cuando la función «twirling» está desactivada, los circuitos no deben contener instrucciones BoxOp .
  • El desacoplamiento dinámico es incompatible con los circuitos dinámicos.

Ejemplo

from qiskit import QuantumCircuit
from qiskit_ibm_runtime import QiskitRuntimeService
from qiskit_ibm_runtime.executor_sampler import Sampler

service = QiskitRuntimeService()
backend = service.least_busy(operational=True, simulator=False)

# Create a simple circuit
circuit = QuantumCircuit(2, 2)
circuit.h(0)
circuit.cx(0, 1)
circuit.measure_all()

# Run the sampler with options
sampler = Sampler(mode=backend)
sampler.options.default_shots = 2048
sampler.options.execution.init_qubits = True
job = sampler.run([circuit])
result = job.result()

Parámetros


Atributos

mode

Devuelve el modo de ejecución utilizado por esta primitiva.

Devuelve

Modo utilizado por esta primitiva, o bien si None no se utiliza ningún modo de ejecución.

options

Tipo: SamplerOptions

Las opciones de este Sampler.


Métodos

backend

backend()

GitHub

Devuelve el backend en el que se ejecutará la consulta primitiva.

Tipo de retorno

BackendV2

finalize_options

finalize_options()

GitHub

Configurar y ultimar las opciones del Sampler.

Este método genera la SamplerOptions instancia final que se utiliza en una llamada a mediante run() la resolución de None en las opciones de twirling, tal y como se describe en TwirlingOptions.

Devuelve

El objeto SamplerOptions finalizado.

Tipo de retorno

SamplerOptions

find_unique_layers

find_unique_layers(pubs, types='gates')

GitHub

Devuelve las capas empaquetadas únicas que se encuentran en los PUB indicados de un tipo determinado.

El número de types capas puede ser o "gates" "all", lo que corresponde únicamente a las capas de puerta o a todas las capas, respectivamente. La lista resultante contiene entonces una instancia de cada capa encajonada distinta (representada como un CircuitInstruction) que aparece en los PUB de entrada.

Parámetros

  • pubs (Iterable[SamplerPubLike]) – La lista de PUB para los que se debe devolver una lista de casillas únicas.
  • types (Literal['gates', 'all']) – Los tipos de capas que se van a devolver. Puede ser o "gates" "all".

Devuelve

Las capas en forma de caja características de un tipo concreto que se encuentran en los PUB indicados.

Tipo de retorno

list de[CircuitInstruction]

run

run(pubs, *, shots=None, dry_run=False)

GitHub

Envía una solicitud a la primitiva de muestreo.

En el caso de cargas de trabajo moderadas y complejas, el procesamiento del lado del cliente que se lleva a cabo para asignar las entradas del muestreador a las del ejecutor puede requerir muchos recursos y provocar un retraso entre la invocación de la función y el job envío de la misma. Para comprobar el progreso de la llamada, se recomienda configurar el registro (con un nivel INFO de registro); consulta la información sobre el registro de IBM Quantum Compute para obtener más detalles.

Parámetros

  • pubs (Iterable[SamplerPubLike]) – Un iterable de objetos similares a «pub». Por ejemplo, una lista de circuitos o tuplas (circuit, parameter_values).
  • shots (int | None) – El número total de chupitos que hay que degustar en cada bar de la selección que no especifique su propio número de chupitos. Si None, options.default_shots se utilizará el valor de.
  • dry_run (bool) – Si True, realiza una simulación sin ejecutar el trabajo en una QPU. Este modo se puede utilizar para validar el trabajo, calcular el consumo y obtener metadatos sobre la sincronización de los circuitos. Los resultados devueltos conservan el esquema esperado, pero contienen datos ficticios aleatorios en lugar de resultados de medición reales o simulados. A diferencia de los backends ficticios, el procesamiento de esta simulación se lleva a cabo en el lado del servidor, por lo que es posible que la tarea no finalice de inmediato y que el acceso a esta función esté restringido.

Devuelve

El trabajo enviado.

Tipo de retorno

RuntimeJobV2 | LocalRuntimeJob

¿Le ha resultado útil esta página?
Informe de un error, de una errata o solicite contenido en GitHub.