Skip to main content
IBM Quantum Platform

MeasureReset

class MeasureReset(name='measure_reset', label=None)

GitHub

Bases: Instruction

Un reinicio que muestra la medición que realiza internamente.

Esta instrucción lleva a cabo una operación de reinicio cuyo resultado de medición intermedio se registra en un bit clásico, lo que permite que el usuario pueda observarlo. Utiliza un bit cuántico y un bit clásico, y su nombre puede servir para identificarlo con la implementación correspondiente a nivel de hardware, y debe comenzar por measure_reset.

La semántica es la siguiente: medir el qubit para convertirlo en un bit clásico y, a continuación, invertir condicionalmente el qubit de nuevo a |0> — es decir, un reinicio en el que se conserva el resultado de la medición.

Parámetros

  • name (str) – nombre de la instrucción
  • num_qubits (int) – ancho de qubits de la instrucción
  • num_clbits (int) – ancho de clbit de la instrucción
  • params (list[int|float|complex|str|ndarray|list|ParameterExpression]) – lista de parámetros
  • label (str or None) – Una etiqueta opcional para identificar la instrucción.

Subidas

  • CircuitError – cuando el registro no tiene el formato correcto.
  • TypeError – cuando se proporciona la etiqueta opcional, pero no es una cadena de caracteres.

Atributos

base_class

Obtén la clase base de esta instrucción. Esto formará parte, sin lugar a dudas, del árbol genealógico de self.

La «clase base» de una instrucción es la clase más baja de su árbol de herencia con la que el objeto debe considerarse totalmente compatible para _todas_ las aplicaciones de circuitos. Esto suele significar que la subclase se define únicamente para facilitar el trabajo del programador con respecto a la clase base, y que la clase base es la «verdadera» clase desde el punto de vista del comportamiento. En concreto, no debes sobrescribir base_class si estás definiendo una versión personalizada de una instrucción que el hardware implementará de forma diferente, como una estrategia de medición alternativa o una versión de una puerta parametrizada con un conjunto concreto de parámetros con el fin de distinguirla en un Target de la puerta parametrizada completa.

A menudo, esto es exactamente equivalente a type(obj), salvo en el caso de las instancias únicas de las instrucciones de la biblioteca estándar. Estas instancias singleton son subclases especiales de su clase base, y esta propiedad devolverá dicha clase base. Por ejemplo:

>>> isinstance(XGate(), XGate)
True
>>> type(XGate()) is XGate
False
>>> XGate().base_class is XGate
True

En general, no debes basarte en la clase concreta de una instrucción; dentro de un circuito determinado, se espera que Instruction.name sea un criterio de distinción más adecuado en la mayoría de los casos.

decompositions

Consulta las descomposiciones de la instrucción en la página « SessionEquivalenceLibrary ».

definition

Define la función «return» en términos de otras puertas lógicas básicas.

label

Etiqueta con instrucciones de devolución

mutable

¿Es esta instancia una instancia única mutable o no?

Si este atributo está presente, la False instancia de la puerta es un singleton compartido y no es mutable.

name

Devuelve el nombre.

num_clbits

Devuelve el número de clbits.

num_qubits

Devuelve el número de qubits.

params

Los parámetros de este Instruction... Lo ideal sería que se tratara de ángulos de compuerta.


Métodos

add_decomposition

add_decomposition(decomposition)

Añade un desglose de la instrucción a la guía « SessionEquivalenceLibrary ».

broadcast_arguments

broadcast_arguments(qargs, cargs)

Validación de los argumentos.

Parámetros

  • qargs (List) – Lista de argumentos sobre los bits cuánticos.
  • cargs (List) – Lista de argumentos clásicos de bits.

Cesiones

Tupla(Lista, Lista) – Una tupla con un único argumento.

Subidas

CircuitError – Si la entrada no es válida. Por ejemplo, el número de argumentos no coincide con lo que cabría esperar de la puerta lógica.

copy

copy(name=None)

Copia de las instrucciones.

Parámetros

name (str) – nombre que se le dará al circuito copiado; si es así None , el nombre se mantiene igual.

Devuelve

una copia de la instrucción actual, con el nombre actualizado si se ha facilitado

Tipo de retorno

qiskit.circuit.Instruction

inverse

inverse(annotated=False)

Invierte esta instrucción.

Si «annotated» es «False», la instrucción inversa se implementa como una nueva instrucción con la definición invertida de forma recursiva.

Si «annotated» es «True», la instrucción inversa se implementa como AnnotatedOperation, y se corresponde con la instrucción dada, a la que se le ha añadido el «modificador inverso».

Las instrucciones especiales que heredan de «Instruction» pueden implementar su propia inversa (por ejemplo, T y Tdg, Barrier, etc.) En concreto, pueden elegir cómo tratar el argumento, lo que annotated puede incluir ignorarlo y devolver siempre una clase de puerta concreta si la inversa se define como una puerta estándar.

Parámetros

annotated (bool) – Si se establece en «True», la puerta inversa de salida se devolverá como AnnotatedOperation.

Devuelve

La operación inversa.

Subidas

CircuitError – si la instrucción no es compuesta y no se ha implementado su inversa.

is_parameterized

is_parameterized()

Devuelve si el objeto contiene Instruction parámetros de tiempo de compilación.

repeat

repeat(n)

Crea una instrucción que se repite nnself veces.

Parámetros

n (int) – Número de veces que hay que repetir la instrucción

Devuelve

Que contiene la definición.

Tipo de retorno

qiskit.circuit.Instruction

Subidas

CircuitError – Si n < 1.

reverse_ops

reverse_ops()

En el caso de una instrucción compuesta, invierte el orden de las subinstrucciones.

Esto se consigue invirtiendo de forma recursiva todas las subinstrucciones. No invierte ninguna puerta lógica.

Devuelve

una nueva instrucción con

subinstrucciones invertidas.

Tipo de retorno

qiskit.circuit.Instruction

soft_compare

soft_compare(other)

Comparación suave entre puertas. Sus nombres, el número de qubits y el número de bits clásicos deben coincidir. El número de parámetros debe coincidir. Se comparan todos los parámetros. Si se es « ParameterExpression », entonces no se tiene en cuenta.

Parámetros

other (instruction) – otras instrucciones.

Devuelve

«self» y «other» son iguales hasta las expresiones de parámetros.

Tipo de retorno

bool

to_mutable

to_mutable()

Devuelve una copia modificable de esta puerta.

Este método devolverá una nueva copia modificable de esta instancia de puerta. Si se utiliza una instancia «singleton», se tratará de una nueva instancia única que se podrá modificar. Si la instancia ya es mutable, se creará una copia profunda de dicha instancia.

validate_parameter

validate_parameter(parameter)

El parámetro de instrucción no se somete a ninguna validación ni normalización.

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