Skip to main content

tau-chrono

Tests License: MIT

Bayesian noise tracking for quantum circuits via Petz recovery maps. 46% more accurate than independent gate models on real hardware.

Author: Sheng-Kai Huang (akai@fawstudio.com) Website: tau-chrono.pages.dev

Quickstart

pip install tau-chrono
import numpy as np
from tau_chrono import depolarizing, bayesian_compose

# Build a 20-gate circuit with 5% depolarizing noise per gate
gates = [depolarizing(0.05) for _ in range(20)]
rho = np.array([[1, 0], [0, 0]], dtype=complex)    # |0>
sigma = np.eye(2, dtype=complex) / 2                # maximally mixed

# Compare naive vs Bayesian noise prediction
result = bayesian_compose(gates, sigma_0=sigma, rho=rho)
print(f"Naive:    tau = {result.tau_multiplicative_total:.3f}")
print(f"Bayesian: tau = {result.tau_bayesian_total:.3f}")
print(f"Improvement: {result.improvement_percent:.1f}%")

Key Results (QuTech Tuna-9 Hardware)

All results from real NISQ hardware experiments on the QuTech Tuna-9 superconducting processor (9 transmon qubits, 4096 shots).

Experiment Result
Depth scaling (depth 50) 46% more accurate than independent model
Bernstein-Vazirani (4 qubits) 60.4% improvement, 4 false failures avoided
H2 VQE Bayesian keeps depth 4 viable (tau=0.49); naive says stop (tau=0.60)
Composition inequality Verified across all 65 circuit configurations

Depth Scaling

Depth scaling results

Improvement grows monotonically with depth: 2.3% at depth 2, 46% at depth 50.

Bernstein-Vazirani

Bernstein-Vazirani results

The naive model falsely predicts failure at 3+ oracle repetitions. All circuits actually succeed with >83% probability.

H2 VQE

H2 VQE results

Bayesian tracking doubles usable ansatz depth (2 to 4). At depth 4: naive tau=0.60 (STOP), Bayesian tau=0.49 (GO).

Why It Works

Independent gate noise models assume each gate fails independently. In reality, noise saturates: a qubit that's already noisy can't get much noisier. The Petz recovery map (Petz, 1986) tracks this saturation through the circuit by propagating a Bayesian reference state alongside the signal state.

Interactive Demo

pip install tau-chrono[demo]
streamlit run demo.py

Adjust noise type, error rate, and circuit depth interactively.

Honest Limitations

  1. Small hardware only. All results from QuTech Tuna-9 (5-9 qubits). Not tested on larger devices.
  2. Improvement is noise-dependent. Large on noisy hardware, diminishes on low-noise hardware.
  3. Depolarizing approximation. Structured noise (coherent errors, leakage) is not captured.
  4. Not tested on IBM or Google hardware. Portability is plausible but unverified.

Theoretical Foundation

All theoretical tools are due to their original authors:

  • D. Petz, Commun. Math. Phys. 105, 123 (1986) -- Petz recovery map
  • A. J. Parzygnat and F. Buscemi, Quantum 7, 1013 (2023) -- Unique retrodiction functor
  • M. Junge et al., Ann. Henri Poincare 19, 2955 (2018) -- Strengthened data processing inequality

Development

git clone https://github.com/akaiHuang/tau-chrono.git
cd tau-chrono
pip install -e ".[dev]"
pytest tests/

Citation

@software{Huang2026BayesianPetz,
  author  = {Huang, Sheng-Kai},
  title   = {Bayesian Noise Tracking via Petz Recovery Maps},
  year    = {2026},
  url     = {https://github.com/akaiHuang/tau-chrono}
}

License

MIT License. See LICENSE.

Metadata

Release files for tau-chrono 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for tau-chrono 0.1.0
File Size Uploaded Provenance Actions
tau_chrono-0.1.0.tar.gz 13.0 kB Without provenance Details for tau_chrono-0.1.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for tau-chrono 0.1.0
File Interpreter ABI Platform Actions
tau_chrono-0.1.0-py3-none-any.whl Python 3 none any Details for tau_chrono-0.1.0-py3-none-any.whl

Total release size: 21.7 kB

Release files / tau_chrono-0.1.0.tar.gz

Download URL tau_chrono-0.1.0.tar.gz
Size 13.0 kB
Tags Source
SHA-256 checksum
How to use checksums
faff035064e62bc1cbe4c696346373e846c433af467001ddec63e64924b43008
BLAKE2b-256 checksum
How to use checksums
a6119370fd2b52eb95ed87cee60f9197c4679d77bdc7ddb911697d8ed6d806c2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.12

Release files / tau_chrono-0.1.0-py3-none-any.whl

Download URL tau_chrono-0.1.0-py3-none-any.whl
Size 8.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
5844f4ba0c1d04dc88fd64bad97f0aac32fe8780018eaa7d2f7f34f88ffaaba0
BLAKE2b-256 checksum
How to use checksums
c40701e003dac80eb1d699d012c21b879c50a12961c0bd7f44fa6c9f7677eab0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.12

Security for tau-chrono 0.1.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page