Skip to main content
IBM Quantum Platform

Servicios de suministro

qiskit_addon_slc.utils

Diversas utilidades.

Este módulo ofrece una serie de funciones de utilidad. Algunas de ellas solo existen de forma temporal para solucionar problemas pendientes de la versión « Qiskit SDK ». Cuando esto ocurre, se marcan como tales y pueden eliminarse sin que se considere obsoleto ni se avise con antelación.

find_indices

find_indices(circuit, bits_or_instruction, /)

GitHub

Determina los índices de los qubits correspondientes a los índices de bits o a las instrucciones de circuito proporcionados.

Precaución

¡Esta función no se considera parte de la API estable! Se eliminará sin previo aviso ni fase de obsolescencia cuando el Qiskit SDK admita esa misma funcionalidad de forma nativa. Consulta este número para obtener más detalles.

Parámetros

Devuelve

Los índices de los bits consultados en los registros del circuito. Si se ha proporcionado un objeto de un solo bit, int se devuelve un único como su índice. De lo contrario, el tipo de retorno será un list[int] cuya longitud sea igual al número de bits proporcionados.

Subidas

TypeError – cuando bits_or_instruction se proporciona un tipo inesperado de.

Tipo de retorno

int | lista [ int ]

generate_noise_model_paulis

generate_noise_model_paulis(instructions, coupling_map=None, circuit=None)

GitHub

Genera los términos de Pauli de peso 1 y 2 para cada una de las cajas de capas únicas de « 2q » proporcionadas.

Parámetros

  • instructions (list[CircuitInstruction]) – el resultado de find_unique_box_instructions(). Se da por hecho que cualquiera de las instrucciones proporcionadas está compuesta únicamente por puertas de medición o corresponde a una capa de instrucciones de puertas de 2 qubits. En el primer caso, el modelo de ruido generado contendrá únicamente errores X de un solo qubit; en el segundo, se incluirán todos los errores de Pauli de peso 1 y 2 en el mapa de acoplamiento reducido.
  • coupling_map (CouplingMap | None) – el mapa de acoplamiento del backend en el que se han distribuido las instrucciones. En este caso None, se supone una línea de qubits de tipo « 1d ».
  • circuit (QuantumCircuit | None) – el circuito transpilado que se ha dispuesto en el mapa de acoplamiento facilitado. Esto solo puede ocurrir None cuando también es coupling_map None.

Devuelve

Un diccionario que asocia los ref atributos de la InjectNoise anotación de cada «Box» único a los términos de Pauli de peso 1 y 2 cuyos errores se han aprendido para ese «Box».

Tipo de retorno

dict [ str, QubitSparsePauliList ]

get_extremal_eigenvalue

get_extremal_eigenvalue(spo, **kwargs)

GitHub

Calcula el valor propio extremo del operador proporcionado.

Esto convierte el operador proporcionado en una matriz dispersa cuyo valor propio mínimo se busca.

Nota

La implementación actual no está, desde luego, optimizada en cuanto a rendimiento.

Parámetros

  • spo (SparsePauliOp) – el operador cuyo valor propio mínimo hay que hallar.

  • kwargs

    argumentos de palabra clave adicionales para davidson1(). Salvo que se indique lo contrario, se utilizarán los valores predeterminados siguientes:

    • tol: 1e-6
    • max_cycle: 500
    • max_space: 12
    • lindep: 1e-11
    • max_memory: 2000

    Los demás valores adoptarán por defecto los valores predeterminados de « PySCF’s ».

Devuelve

Un par que indica si el algoritmo de Davidson ha convergido y el valor propio mínimo obtenido.

Tipo de retorno

tupla [ bool, float ]

iter_circuit

iter_circuit(circuit, *, reverse=False, log_process=True)

GitHub

Recorre las instrucciones de un circuito.

Nota

Esta función se ejecuta de forma recursiva en las instrucciones BoxOp .

Nota

Se están ignorando las barreras del circuito.

Parámetros

  • circuit (QuantumCircuit) – el circuito por el que se va a recorrer.
  • reverse (bool) – si se debe recorrer el circuito en orden inverso.
  • log_process (bool) – si se debe registrar el proceso.

Cesiones

Tuplas de longitud cuatro, compuestas por la instrucción de circuito detectada, los índices canónicos de los qubits (es decir, los índices enteros de los qubits sobre los que se actúa en el contexto de la entrada circuit) y los atributos InjectNoise : modifier_ref y ref. Es posible que estos dos últimos elementos None indiquen una instrucción de circuito que no formaba parte de un «unrolled BoxOp».

Tipo de retorno

Generador [ tupla [ InstrucciónDeCircuito, lista [ entero ], cadena | Ninguna, cadena | Ninguna]]

map_modifier_ref_to_ref

map_modifier_ref_to_ref(circuit)

GitHub

Recorrer un circuito y asignar las referencias de las anotaciones InjectNoise .

Parámetros

circuit (QuantumCircuit) – el circuito por el que se va a recorrer.

Devuelve

Un diccionario que asocia cada elemento InjectNoise.modifier_ref a su correspondiente InjectNoise.ref.

Tipo de retorno

dict [ str, str ]

remove_measure

remove_measure(circuit)

GitHub

Elimina todas las operaciones Measure del circuito proporcionado.

Nota

Esta función se ejecuta de forma recursiva en las instrucciones BoxOp .

Parámetros

circuit (QuantumCircuit) – el circuito del que hay que eliminar las mediciones.

Devuelve

El circuito sin operaciones de medición.

Tipo de retorno

QuantumCircuit

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