Skip to main content
IBM Quantum Platform

Notas de la versión de Qiskit 0.41


0.41.1

Terra 0.23.2

Preludio

El parche Qiskit Terra 0.23.2 corrige otros errores detectados en la serie 0.23.

Corrección de errores

  • Añade las siguientes puertas Clifford, que ya existen en la librería de circuitos, a la clase Clifford clase SXGate, SXdgGate, CYGate, DCXGate, iSwapGate y ECRGate.

  • Añadir una descomposición de un ECRGate en puertas Clifford (hasta una fase global) a la biblioteca de equivalencias estándar.

  • Se ha corregido un problema con la clase BackendV2Converter cuando se envolvía un simulador basado en BackendV1-simulador basado en Se produciría un error si el campo online_date del BackendConfiguration para el simulador no estuviera presente o si el backend del simulador soportara implementaciones ideales de compuertas que implicaran más de 1 qubit. Corregido #9562.

  • Se ha corregido un valor de retorno incorrecto del método BackendV2Converter.meas_map() que, en su lugar, devolvía el backend dt .

  • Se ha corregido la falta de valores de retorno de los métodos BackendV2Converter.drive_channel(), measure_channel(), acquire_channel() y control_channel().

  • Los obsoletos Qubit y Clbit propiedades register y index serán ahora redondeadas correctamente por QPY (qiskit.qpy) en todos los usos válidos de QuantumRegister y ClassicalRegister. En versiones anteriores de la serie Terra 0.23, esta información se perdía. En versiones anteriores a 0.23.0, esta información se reconstruía parcialmente, pero podía ser incorrecta o producir circuitos no válidos para determinadas configuraciones de registros.

    La forma correcta de recuperar el índice de un bit dentro de un circuito, y cualquier registro en ese circuito que contenga el bit es llamar a QuantumCircuit.find_bit(). Este método devolverá la información correcta en todas las versiones de Terra desde su adición en la versión 0.19.

  • Se ha solucionado un problema con el método InstructionScheduleMap.has_custom_gate() que siempre devolvía True cuando el objeto InstructionScheduleMap era creado por Target. Corregido #9595.

  • Se ha corregido un error en los eigensolvers de NumPy-based (NumPyMinimumEigensolver / NumPyEigensolver) y en los evolucionadores temporales de SciPy-based (SciPyRealEvolver / SciPyImaginaryEvolver), donde los operadores que soportan la conversión a matrices dispersas, como SparsePauliOpse convertían de todos modos en matrices densas.

  • Se ha corregido un error en generate_basic_approximations() por el que la inversa de SdgGate no se reconocía correctamente como SGate. Corregido #9585.

  • Se ha corregido un error del algoritmo VQD por el que la función de evaluación de la energía no podía procesar lotes de parámetros, lo que lo hacía incompatible con optimizadores con max_evals_grouped>1. Corregido #9500.

  • Corregido error en QNSPSA que provocaba un error de tipo cuando las fidelidades calculadas eran del tipo int pero la perturbación era del tipo float.

Aer 0.11.2

No cambia

IBM Proveedor Q 0.20.1

Dado que qiskit-ibmq-provider está obsoleto, las dependencias se han actualizado y corregido a las últimas versiones operativas. Se ha producido un problema con la última versión del paquete requests-ntlm que ha provocado el fallo de algunas pruebas de extremo a extremo.


0.41.0

Terra 0.23.1

Preludio

Qiskit Terra 0.23.1 es un pequeño parche para corregir errores identificados en Qiskit Terra 0.23.0

Corrección de errores

  • Un caso extremo de pickle InstructionScheduleMap con iterables no pickleables arguments ya está corregido. Anteriormente, el uso de un iterable unpickleable como parámetro arguments de InstructionScheduleMap.add() (como dict_keys) podía hacer que las llamadas paralelas a transpile() fallaran. Estos argumentos se normalizarán ahora correctamente de forma interna a list.

  • Se ha corregido un error de rendimiento en ReverseEstimatorGradient por el que el cálculo realizaba una gran cantidad de copias innecesarias si el gradiente sólo se calculaba para un subconjunto de parámetros, o en un circuito con muchas puertas no parametrizadas.

  • Se ha corregido una depreciación incorrecta de Register.name_format que hacía que el atributo de clase sólo estuviera disponible para las instancias y no para la clase. Al intentar enviar trabajos de circuitos dinámicos a backends de hardware, esto causaba frecuentemente el error:

    AttributeError: 'property' object has no attribute 'match'

    Corregido #9493.

Aer 0.11.2

No cambia

IBM Proveedor Q 0.20.0

Preludio

Esta versión del paquete qiskit-ibmq-provider marca el paquete como obsoleto y será retirado y archivado en el futuro. La funcionalidad de qiskit-ibmq-provider ha sido sustituida por 3 paquetes qiskit-ibm-provider, qiskit-ibm-runtime, y qiskit-ibm-experiment que ofrecen diferentes subconjuntos de la funcionalidad que contenía qiskit-ibmq-provider . Puede consultar la tabla aquí:

https://github.com/Qiskit/qiskit-ibmq-provider#migration-guides

para obtener enlaces a las guías de migración para pasar de qiskit-ibmq-provider a sus paquetes sustitutos.

Notas sobre características en desuso

  • A partir de la versión 0.20.0, qiskit-ibmq-provider ha quedado obsoleta, su soporte ha finalizado y su eventual archivo no se producirá antes de 3 meses a partir de esa fecha. La función proporcionada por qiskit-ibmq-provider no va a desaparecer, más bien se ha dividido en repositorios separados. Consulte https://github.com/Qiskit/qiskit-ibmq-provider#migration-guides.

Corrección de errores

  • En la próxima versión de terra habrá una versión candidata etiquetada antes de la versión final. Sin embargo, el cambio de la cadena de versión para el paquete está bloqueado en el qiskit-ibmq-provider en este momento porque está tratando de analizar la versión y está asumiendo que no habrá sufijo prelease en la cadena de versión (ver #8200 para más detalles). PR #1135 corrige este parseo de versiones para usar la regex del proyecto pypa/packaging que maneja todas las versiones de paquetes PEP440 incluyendo sufijos de pre-lanzamiento. Esto permitirá a terra liberar una etiqueta 0.21.0rc1 sin romper el qiskit-ibmq-provider.

  • PR #1129 actualiza el método least_busy() para que ya no admita BaseBackend como tipo válido de entrada o salida, ya que hace tiempo que está obsoleto en qiskit-terra y ha sido eliminado recientemente.

  • threading.currentThread y notifyAll quedaron obsoletos en Python 3.10 (octubre de 2021) y se eliminarán en Python 3.12 (octubre de 2023). PR #1133 los sustituye por threading.current_thread, notify_all añadido en Python 2.6 (octubre de 2008).

  • Las llamadas para ejecutar un circuito cuántico con dynamic=True producen ahora un error que pide al usuario que instale el nuevo qiskit-ibm-provider.

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