Skip to main content

Modular Software Stack for Quantum Computing — measurement diagnostics and correction

Project description

modularq 🔬

Modular Software Stack for Quantum Computing

Una librería Python que implementa diagnóstico y corrección de no-equilibrio modular en mediciones cuánticas, basada en:

Balfagón, C. (2025). A Modular Software Stack for Quantum Computing: From Born-Rule Equilibrium to Nonequilibrium-Aware Quantum Software. Universidad de Buenos Aires.

Open In Colab


¿Qué problema resuelve?

Las computadoras cuánticas NISQ operan como sistemas abiertos y ruidosos. Las estadísticas de medición pueden desviarse sistemáticamente de las predicciones ideales (Born rule) cuando el proceso de medición opera fuera del equilibrio termodinámico (KMS).

modularq detecta y corrige estas desviaciones automáticamente, sin modificar el hardware ni los circuitos.


Instalación

pip install numpy scipy matplotlib
# Luego descargá modularq.py desde este repo

O en Google Colab:

!wget https://raw.githubusercontent.com/nanocastro79/modularq/main/modularq.py
from modularq import ModularAnalyzer

Uso básico

import numpy as np
from modularq import ModularAnalyzer

# Matriz de densidad reconstruida (del subsistema medido)
rho = np.array([[0.52, 0.01], [0.01, 0.48]])

# Conteos experimentales
counts = {"0": 5200, "1": 4800}

# Born baseline
p0 = {"0": 0.5, "1": 0.5}

# Analizar
analyzer = ModularAnalyzer(eps=1e-6, mode="auto")
result = analyzer.analyze(rho, counts, p0)

print(result.summary())
# → MIS, régimen, probabilidades corregidas, comparación AIC

Qué hace el stack (capas)

Capa Función
0 Hardware cuántico (sin modificar)
1 Reconstrucción de estado (tomografía / shadows)
2 Diagnóstico modular: K = -log(ρ), δK_i ← núcleo
3 Clasificación: Born-válido / perturbativo / no-KMS
4 Regla de medición efectiva: reweighting exponencial
5 Control modular (minimizar imbalance)
6 API de software
7 Inferencia estadística (AIC/BIC)

Modular Imbalance Score (MIS)

Métrica escalar que indica la validez del Born rule:

MIS Régimen Acción
< 0.02 ✅ KMS-balanced Ninguna (Born válido)
0.02 – 0.10 ⚠️ Perturbativo Corrección leve
> 0.10 🔴 No-KMS Corrección necesaria

Reproducibilidad

Los experimentos originales están disponibles en Zenodo:

  • DOI: 10.5281/zenodo.18066279
  • Hardware: IBM Quantum (ibm_marrakesh, ibm_fez, ibm_torino)
  • Circuitos: Bell (2q) y GHZ (3q)

Licencia

Uso académico y no comercial: libre y gratuito bajo los términos de esta licencia.

Uso comercial: requiere acuerdo de licencia separado.
Contacto: cb@balfagonresearch.org

© 2025 Christian H. Balfagón and Mariano M. Castro.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

modularq-1.1.0.tar.gz (9.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

modularq-1.1.0-py3-none-any.whl (9.6 kB view details)

Uploaded Python 3

File details

Details for the file modularq-1.1.0.tar.gz.

File metadata

  • Download URL: modularq-1.1.0.tar.gz
  • Upload date:
  • Size: 9.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.10

File hashes

Hashes for modularq-1.1.0.tar.gz
Algorithm Hash digest
SHA256 d8950acd2e7c2544c97696320ec4b22023a92a05e489b123d15ca34d7adf3643
MD5 1f4e74a48f77db0de2279e386db80f5a
BLAKE2b-256 963785a08bcdba85dd9c804356b32e8e41361bf73fa2a187f42abfcb1d5f8022

See more details on using hashes here.

File details

Details for the file modularq-1.1.0-py3-none-any.whl.

File metadata

  • Download URL: modularq-1.1.0-py3-none-any.whl
  • Upload date:
  • Size: 9.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.10

File hashes

Hashes for modularq-1.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 2519c3d52477063db275f2a121b89aa25e3fc41f388130fb55117b2342915a81
MD5 224c0befdadbc812d80954f6cba56d2b
BLAKE2b-256 71cd5d9d5498d4fd8f07b84ce079da14cdfc9f28a56de778adba0268b7021ef2

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page