FakeFez
class FakeFez
Bases: FakeBackendV2
Un falso backend de 156 qubits.
Inicializar un backend basado en « BackendV2 »
Parámetros
- proveedor : una referencia opcional al objeto proveedor del que procede el backend
- nombre : un nombre opcional para el backend
- descripción : una descripción opcional del backend
- online_date – Fecha y hora opcionales en las que el servidor se puso en línea
- backend_version : una cadena opcional que indica la versión del backend. Esto difiere del
versionatributo, ya queversionse refiere a la versión de la interfaz abstractaBackenddel objeto, mientras quebackend_versionsirve para gestionar las versiones del propio backend. - campos : argumentos clave para los valores que se utilizarán para anular las opciones predeterminadas.
Eleva
AttributeError – Si se especifica un campo que no figura entre las opciones del backend
Atributos
backend_name
Tipo: str | None
Valor predeterminado: 'fake_fez'
conf_filename
Tipo: str | None
Valor predeterminado: 'conf_fez.json'
coupling_map
Devuelve el CouplingMap objeto
dirname
Tipo: str | None
Valor predeterminado: '/home/runner/work/qiskit-ibm-runtime/qiskit-ibm-runtime/qiskit_ibm_runtime/fake_provider/backends/fez'
dt
Devuelve la resolución temporal del sistema de las señales de entrada
Es necesario implementarlo si el backend admite la programación Pulse.
Devuelve
El paso de tiempo de la señal de entrada en segundos. Si el backend no define dt, se devolverá None .
dtm
Devuelve la resolución temporal del sistema de las señales de salida.
Devuelve
El paso de tiempo de la señal de salida en segundos.
instruction_durations
Devuelve el InstructionDurations objeto.
instructions
Una lista de tuplas de instrucciones en el backend del formulario (instruction, (qubits))
max_circuits
Devuelve el número máximo de circuitos que se pueden ejecutar en un solo trabajo.
Esta propiedad solía devolver el valor max_experiments de la configuración del backend, pero este valor ya no es una representación exacta de los límites de los circuitos del backend. Se añadirán nuevos campos para indicar nuevos límites.
meas_map
Devuelve la agrupación de medidas que están multiplexadas
Es necesario implementarlo si el backend admite la programación Pulse.
Devuelve
La agrupación de mediciones multiplexadas
Eleva
NotImplementedError - si el backend no admite la consulta de la asignación de mediciones
num_qubits
Devuelve el número de qubits que tiene el backend.
operation_names
Una lista de nombres de instrucciones que admite el backend.
operations
Una lista de Instruction instancias que soporta el backend.
options
Devuelve las opciones para el backend
Las opciones de un backend son los parámetros dinámicos que definen cómo se utiliza el backend. Se utilizan para controlar el run() método.
props_filename
Tipo: str | None
Valor predeterminado: 'props_fez.json'
provider
Devuelve el proveedor de backend.
Devuelve
el proveedor responsable del backend.
Tipo de retorno
proveedor
target
version
Valor predeterminado: 2
name
Nombre del backend.
description
Descripción opcional legible por humanos.
online_date
Fecha de puesta en línea del backend.
backend_version
Versión del backend que se proporciona. No es lo mismo que BackendV2.version, que es la versión de la interfaz abstracta Backend .
Métodos
check_faulty
check_faulty(circuit)
Comprueba si el circuito de entrada utiliza qubits o bordes defectuosos.
Parámetros
circuit (QuantumCircuit) – Circuito que hay que comprobar.
Eleva
ValueError - Si se encuentra una instrucción que opera sobre un qubit o borde defectuoso.
Tipo de retorno
Ninguna
configuration
properties
properties(refresh=False)
Devuelve las propiedades del backend.
Parámetros
refresh (bool) – Si True, vuelva a recuperar las propiedades del backend desde el archivo local.
Devuelve
Las propiedades del backend.
Tipo de retorno
qubit_properties
qubit_properties(qubit)
Devuelve QubitProperties para un qubit dado.
Si no hay definidos o el backend no admite la consulta de estos detalles, no es necesario implementar este método.
Parámetros
qubit (int | list[int]) – El qubit para el que se busca el QubitProperties objeto. Puede ser un único número entero que represente 1 qubit, o bien una lista de qubits; en ese caso, se devolverá una lista de QubitProperties objetos en el mismo orden
Devuelve
El objeto QubitProperties para el qubit especificado. Si se proporciona una lista de qubits, se devolverá una lista. Si faltan propiedades para un qubit, esto puede ser None.
Eleva
NotImplementedError - si el backend no permite consultar las propiedades de los qubits
Tipo de retorno
QubitProperties | lista[ QubitProperties ]
refresh
refresh(service, use_fractional_gates=False)
Actualiza los archivos de datos a partir de su equivalente real.
Este método extrae los últimos archivos de datos del backend de su homólogo real y sobrescribe los archivos correspondientes en la instalación local:
../fake_provider/backends/{backend_name}/conf_{backend_name}.json../fake_provider/backends/{backend_name}/defs_{backend_name}.json../fake_provider/backends/{backend_name}/props_{backend_name}.json
Los nuevos archivos de datos persistirán a través de las sesiones, por lo que los archivos permanecerán actualizados a menos que se reviertan manualmente de forma local o cuando se actualice o reinstale qiskit-ibm-runtime .
Parámetros
- service (QiskitRuntimeService) – Una instancia de
QiskitRuntimeService - use_fractional_gates (bool) – Establece True para permitir que los backends incluyan puertas fraccionarias.
Eleva
- ValueError - si el servicio proporcionado es una instancia de non-QiskitRuntimeService.
- Excepción - Si el objetivo real no existe o no se puede acceder a él
Tipo de retorno
Ninguna
run
run(run_input, **options)
Ejecutar en el backend falso utilizando un simulador.
Este método ejecuta trabajos de circuito (un individuo o una lista de QuantumCircuit ) utilizando BasicSimulator o el simulador Aer y devuelve un Job objeto.
Si qiskit-aer está instalado, los trabajos se ejecutarán utilizando AerSimulator con el modelo de ruido del falso backend. De lo contrario, los trabajos se ejecutarán utilizando BasicSimulator sin ruido.
Actualmente, la simulación ruidosa de un trabajo por impulsos aún no está soportada en FakeBackendV2.
Parámetros
- run_input (QuantumCircuit | list[QuantumCircuit]) – Una persona o una lista de
QuantumCircuit - options (dict) – ¿Hay alguna opción de kwarg que se deba pasar al backend para ejecutar la configuración? Si una clave también está presente en el atributo u objeto «options», se espera que se utilice el valor especificado en lugar del establecido en el objeto «options».
Devuelve
El objeto de trabajo para la ejecución
Tipo de retorno
Trabajo
set_options
set_options(**fields)
Establecer los campos de opciones para el backend
Este método se utiliza para actualizar las opciones de un backend. Si necesita cambiar alguna de las opciones antes de ejecutar sólo tiene que pasar el kwarg con el nuevo valor de las opciones.
Parámetros
fields - Los campos para actualizar las opciones
Eleva
AttributeError - Si el campo introducido no forma parte de las opciones