Mitigación de errores en redes tensoriales (TEM): una función Qiskit de Algorithmiq
Consulte la referencia de la API
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í:
- 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.
- 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.
- 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.
- 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.
- 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.
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
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
- Solicitar acceso a la función de mitigación de errores de redes Tensor de Algorithmiq.
- Consulta la referencia de la API de esta función de Qiskit.