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.
¿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 modularq
En Google Colab:
!pip install modularq
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.05 | ✅ KMS-balanced | Ninguna (Born válido) |
| 0.05 – 0.15 | ⚠️ Perturbativo | Corrección leve |
| > 0.15 | 🔴 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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file modularq-1.1.1.tar.gz.
File metadata
- Download URL: modularq-1.1.1.tar.gz
- Upload date:
- Size: 9.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
aa418f71f7a80e3b919bc8662e92dc93a1dc9f4cb25198b6c0835d6ed9d256ae
|
|
| MD5 |
d1cf2cc3db9a85d73f5a612bd64dc29c
|
|
| BLAKE2b-256 |
39663e73c64c6a30125f46daf770fee12196f01e75a2d9ee9fb4f475de682bed
|
File details
Details for the file modularq-1.1.1-py3-none-any.whl.
File metadata
- Download URL: modularq-1.1.1-py3-none-any.whl
- Upload date:
- Size: 9.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fcd6711f0aacd6d8fb849c116ff97c0351612a45a46060516bbe08adae5c7af8
|
|
| MD5 |
86afbacbb450cbc2acd4d9289078aaf4
|
|
| BLAKE2b-256 |
6bc97670e28d5fcf2bbcfab229a543779cc3371b5dde4193851d77f6d93b1d4f
|