Skip to main content
IBM Quantum Platform

Mitigación de errores en redes tensoriales (TEM): una función Qiskit de Algorithmiq

Consulte la referencia de la API

Nota

Las funciones Qiskit son una función experimental disponible únicamente para los usuarios de los planes IBM Quantum® Premium Plan, Flex Plan y On-Prem (a través de IBM Quantum Platform API). Se trata de versiones preliminares sujetas a cambios.

  • El código de esta página se ha desarrollado siguiendo los siguientes requisitos. Recomendamos utilizar estas versiones o posteriores.

    qiskit[all]~=2.5.0
    

Visión general

El método Tensor-network Error Mitigation (TEM) de Algorithmiq es un algoritmo híbrido algoritmo híbrido cuántico-clásico diseñado para realizar la mitigación del ruido enteramente en en la fase clásica de posprocesamiento. Con TEM, el usuario puede calcular los valores esperados de los observables mitigando los inevitables errores inducidos por el ruido que se producen en el hardware cuántico con mayor precisión y rentabilidad, lo que la convierte en una opción muy atractiva tanto para los investigadores de la industria.

El método consiste en construir una red tensorial que represente la inversa de el canal de ruido global que afecta al estado del procesador cuántico y, a continuación el mapa a los resultados de medición informacionalmente completos adquiridos del del estado ruidoso para obtener estimadores insesgados de los observables.

Como ventaja, TEM aprovecha mediciones completas desde el punto de vista informativo para dar acceso a un amplio conjunto de valores esperados mitigados de observables y tiene una sobrecarga de muestreo óptima en el hardware cuántico, como se describe en Filippov et al. (2023), y Filippov et arXiv:2307.11740 al. (2024). arXiv:2403.13542 La sobrecarga de medición se refiere al número de mediciones adicionales necesarias para llevar a cabo una mitigación eficiente de los errores, un factor crítico en la viabilidad de los cálculos cuánticos. Por lo tanto, el TEM tiene el potencial de permitir la ventaja cuántica en escenarios complejos, como aplicaciones en los campos del caos cuántico, la física de muchos cuerpos, la dinámica de Hubbard y las simulaciones de química de moléculas pequeñas .

Las principales características y ventajas del TEM pueden resumirse así:

  1. Sobrecarga de medición óptima : TEM es óptima con respecto a límites teóricos, lo que significa que ningún método puede lograr una sobrecarga de medición menor. En otras en otras palabras, TEM requiere el mínimo número de mediciones adicionales para realizar mitigación de errores. Esto a su vez significa que TEM utiliza un tiempo de ejecución cuántico mínimo.
  2. Rentabilidad : Dado que el TEM se encarga de la mitigación del ruido totalmente en la postprocesamiento, no es necesario añadir circuitos adicionales al ordenador cuántico cuántico, lo que no sólo abarata el cálculo, sino que reduce el riesgo de riesgo de introducir errores adicionales debidos a las imperfecciones de los dispositivos cuánticos cuánticos.
  3. Estimación de múltiples observables : Gracias a las mediciones tEM estima eficientemente múltiples observables con la misma datos de medida del ordenador cuántico.
  4. Mitigación de errores de medición : La función TEM Qiskit también incluye un método propio de mitigación de errores de medición capaz de reducir significativamente los errores de lectura tras un breve proceso de calibración.
  5. Precisión : El TEM mejora significativamente la precisión y fiabilidad de las simulaciones cuánticas digitales, haciendo que los algoritmos cuánticos sean más precisos y fiables.

Descripción

La función TEM permite obtener valores de expectativa mitigados por error para múltiples observables en un circuito cuántico con una sobrecarga de muestreo mínima. El circuito el circuito se mide con una medida de operador-valor positiva informacionalmente completa (IC-POVM) (IC-POVM), y los resultados de las mediciones se procesan en un ordenador clásico ordenador clásico. Esta medición se utiliza para realizar los métodos de red tensorial y construir un mapa de inversión de ruido. La función aplica un mapa que invierte todo el circuito ruidoso utilizando redes tensoriales para representar las capas ruidosas ruidosas.

Esquema TEM
Estimación mitigada por error de un observable O a través del post-procesamiento de los resultados de medición del procesador cuántico ruidoso. U y N denotan una operación cuántica ideal y el mapa de ruido asociado, que puede ser generalmente no local (y extenderse a las cajas grises). D representa un tensor de operadores que son duales a los efectos en la medición del CI. El módulo de mitigación de ruido M es una red tensorial que se contrae eficientemente de la mitad hacia fuera. La primera iteración de la contracción está representada por la línea púrpura discontinua, la segunda por la línea discontinua y la tercera por la línea continua.

Una vez que los circuitos se someten a la función, se transpilan y optimizados para minimizar el número de capas con puertas de dos qubits (las puertas más ruidosas de los dispositivos cuánticos) más ruidosas de los dispositivos cuánticos). El ruido que afecta a las capas se aprende mediante Qiskit Runtime utilizando un modelo de ruido disperso de Pauli-Lindblad como se describe en E. van den Berg, Z. Minev, A. Kandala, K. Temme, Nat. Física. (2023). arXiv:2201.09866.

El modelo de ruido es una descripción precisa del ruido en el dispositivo capaz de capturar características sutiles, incluida la interferencia entre qubits. Sin embargo, el ruido de los dispositivos puede fluctuar y derivar, y el ruido aprendido podría no ser exacto en el momento en que se realiza la estimación el momento en que se realiza la estimación. Esto podría dar lugar a resultados inexactos.


Cómo empezar

Autentíquese utilizando su clave API IBM Quantum Platform y seleccione la función TEM de la siguiente manera. (En este fragmento de código se da por hecho que ya has guardado tu cuenta en tu entorno local.)

from qiskit_ibm_catalog import QiskitFunctionsCatalog

tem_function_name = "algorithmiq/tem"
catalog = QiskitFunctionsCatalog(channel="ibm_quantum_platform")
# verify that you have access to the function
catalog.list()

Output:

[QiskitFunction(qunova/hivqe-chemistry),
 QiskitFunction(global-data-quantum/quantum-portfolio-optimizer),
 QiskitFunction(algorithmiq/tem),
 QiskitFunction(qedma/qesem),
 QiskitFunction(multiverse/singularity),
 QiskitFunction(ibm/circuit-function),
 QiskitFunction(q-ctrl/optimization-solver),
 QiskitFunction(colibritd/quick-pde),
 QiskitFunction(q-ctrl/performance-management),
 QiskitFunction(kipu-quantum/iskay-quantum-optimizer)]
# Load your function
tem = catalog.load(tem_function_name)

Ejemplo

El siguiente fragmento muestra un ejemplo en el que TEM se utiliza para calcular los valores de expectativa de un observable dado un circuito cuántico simple.

from qiskit import QuantumCircuit
from qiskit.quantum_info import SparsePauliOp

# Create a quantum circuit
qc = QuantumCircuit(3)
qc.u(0.4, 0.9, -0.3, 0)
qc.u(-0.4, 0.2, 1.3, 1)
qc.u(-1.2, -1.2, 0.3, 2)
for _ in range(2):
    qc.barrier()
    qc.cx(0, 1)
    qc.cx(2, 1)
    qc.barrier()
    qc.u(0.4, 0.9, -0.3, 0)
    qc.u(-0.4, 0.2, 1.3, 1)
    qc.u(-1.2, -1.2, 0.3, 2)

# Define the observables
observable = SparsePauliOp("IYX", 1.0)

# Define the execution options
pub = (qc, [observable])
options = {"default_precision": 0.02}

# Define backend to use. TEM will choose the least-busy device
# reported by IBM if not specified
backend_name = "ibm_marrakesh"

# Run the TEM function (uses around three minutes of QPU time)
job = tem.run(pubs=[pub], backend_name=backend_name, options=options)

Utilice las API sin servidor de Qiskit para comprobar el estado de su carga de trabajo Qiskit Function:

# Print the ID so you can use it later, if necessary
print(job.job_id)
print(job.status())

Output:

44f9a7aa-a101-4e81-a6d7-740e5000c41b
QUEUED

Puede devolver los resultados como:

result = job.result()
evs = result[0].data.evs
print(evs[0])

Output:

0.016561872123930566
Info

El valor esperado para el circuito sin ruido para el operador dado debería estar en torno a 0.18409094298943401.


Obtener soporte

Contacta con qiskit\ [email protected]

Asegúrese de incluir la siguiente información:

  • Qiskit Función ID del puesto (qiskit-ibm-catalog), job.job_id
  • Descripción detallada del problema
  • Cualquier mensaje o código de error relevante
  • Pasos para reproducir el problema

Próximos pasos

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