Skip to main content
IBM Quantum Platform

QuantumProgram

class QuantumProgram(shots, items=None, noise_maps=None, meas_level='classified', passthrough_data=None)

GitHub

Bases: object

Un ejecutable de tiempo de ejecución cuántico.

Un programa cuántico consiste en una lista de elementos ordenados, cada uno de los cuales contiene un único circuito y una matriz de valores de parámetros asociados. La ejecución de un programa cuántico generará un muestreo del resultado de cada circuito para el número especificado de shots iteraciones por cada conjunto de argumentos de circuito proporcionado.

Parámetros

  • shots (int) – El número de repeticiones por cada serie.

  • items (Iterable[QuantumProgramItem] | None) – Elementos que componen el programa.

  • noise_maps (dict[str, PauliLindbladMap] | None) – Mapas de ruido para utilizar con elementos Samplex.

  • meas_level (Literal['classified', 'kerneled', 'avg_kerneled', 'both']) –

    El nivel en el que se deben devolver todos los resultados de las mediciones de registro clásicas. Este valor establece el tipo de retorno de todos los registros clásicos en todos los elementos del programa cuántico y determina si los datos complejos sin procesar procedentes de dispositivos de medición de bajo nivel se desglosan en bits o no. Los valores soportados son

    • »clasificado»: Los datos del registro clásico se devuelven como matrices booleanas con el

      (num_shots, creg_size)forma intrínseca.

    • »kerneled»: Los datos del registro clásico se devuelven como una matriz compleja con el

      (num_shots, creg_size)forma intrínseca, en la que cada entrada representa un punto de datos del coeficiente intelectual (resultante de la aplicación de un kernel a la curva de medición) en unidades arbitrarias.

    • »avg_kerneled»: Los datos del registro clásico se devuelven como una matriz compleja con el

      (creg_size,)forma intrínseca, en la que los datos son equivalentes a los «con kernel», salvo que, además, se promedian entre los distintos disparos.

    passthrough_data: Datos anidados arbitrarios que se transmiten durante la ejecución sin sufrir modificaciones.

  • passthrough_data (DataTree | None)


Métodos

append_circuit_item

append_circuit_item(circuit, *, circuit_arguments=None, chunk_size=None)

GitHub

Añade un nuevo CircuitItem elemento a este programa.

Parámetros

  • circuit (QuantumCircuit) – El circuito de este artículo.
  • circuit_arguments (ndarray | None) – Una matriz de valores reales que contienen los parámetros del circuito. El último eje es intrínseco y su longitud es igual al número de parámetros del circuito. Los ejes principales son extrínsecos y definen la cuadrícula de barrido.
  • chunk_size (int | None) – El número máximo de circuitos vinculados en cada ejecución del bucle de toma, o bien None utilizar una heurística del lado del servidor para optimizar la velocidad. Cuando no se está ejecutando en una sesión, siempre se utiliza la heurística del lado del servidor y este valor se ignora.

Tipo de retorno

Ninguna

append_samplex_item

append_samplex_item(circuit, *, samplex, samplex_arguments=None, shape=None, chunk_size=None)

GitHub

Añade un nuevo SamplexItem elemento a este programa.

Parámetros

  • circuit (QuantumCircuit) – El circuito de este artículo.
  • samplex (Samplex) – Un ejemplo de código para generar parámetros aleatorios para el circuito.
  • samplex_arguments (dict[str, Any] | None) – Una correspondencia entre los nombres de los argumentos y sus valores para el samplex. Cada matriz de argumentos tiene ejes intrínsecos determinados por su tipo (por ejemplo, parameter_values tiene una forma (n,) intrínseca para n parámetros). Las formas extrínsecas de todos los argumentos se transmiten conjuntamente.
  • shape (tuple[int, ...] | None) – Una forma a la que la forma extrínseca del elemento debe poder adaptarse. Los ejes en los que shape supera la forma implícita en samplex_arguments enumeran aleatorizaciones independientes.
  • chunk_size (int | None) – El número máximo de circuitos vinculados en cada ejecución del bucle de toma, o bien None utilizar una heurística del lado del servidor para optimizar la velocidad. Cuando no se está ejecutando en una sesión, siempre se utiliza la heurística del lado del servidor y este valor se ignora.

Tipo de retorno

Ninguna

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