Streaming Hidden Matching Shot Data
Supplementary dataset for “Realization of a Quantum Streaming Algorithm on Long-lived Trapped-ion Qubits” (Niroula et al., Quantinuum & JPMorgan Chase, 2025). The study (arXiv:2511.03689) demonstrates a Hidden Matching (HM) streaming protocol on the Quantinuum H‑Series trapped-ion processor, showcasing an exponential memory advantage over classical sketches. This Parquet file aggregates every raw quantum shot used to produce the success/fidelity figures reported therein, so no additional metadata files are required.
Contents
- Rows: 80 000 quantum shots
- Structure:
- 4 independent execution batches
- 4 HM sizes (
n = 4, 8, 16, 32)
- 5 000 repetitions per size per batch
Experimental context
Every row captures a single execution of the streaming HM protocol:
- Vertices
v and their binary labels x_v are streamed into a compact quantum sketch.
- Matching edges define the measurement basis (defining the hidden matching instance).
- A final projective measurement yields the sketch outcome
(Π⁺, Π⁻, Π₀) recorded in measuredResults.
The dataset also tracks the measurement branch (meas) so fidelity calculations can focus on the meas = [1, 0] subset, and includes auxiliary observables (a, b) used internally for vertex and edge updates.
Schema
Below is the schema of the data. Each row represents one quantum shot.
| Column | Type | Description |
|---|
n | Integer | Hidden Matching problem size (4, 8, 16, or 32). |
vertex | ListInt | Streamed vertex sequence for the shot. |
vertex_bit | ListInt | Binary labels assigned to streamed vertices. |
edge_1 | ListInt | First endpoints of the streamed matching edges. |
edge_2 | ListInt | Second endpoints of the streamed matching edges. |
measuredResults | ListInt | Projective measurement result for the final sketch. |
meas | ListInt | Measurement-branch indicator ([1, 0] marks shots used for fidelity estimates). |
a | ListInt | Auxiliary observable for vertex-update tracking (nullable). |
b | ListInt | Auxiliary observable for edge-update tracking (nullable). |
Arrays are stored as integer lists; when auxiliary data is absent the field is null.
Loading examples
Polars
import polars as pl
from aqora_cli.pyarrow import dataset
df = pl.scan_pyarrow_dataset(
dataset("aqora/realization-of-a-quantum-streaming-algorithm-on-long-lived-trapped-ion-qubits", "v0.1.0")
).collect()
stats = (
df.groupby("n")
.agg([
pl.len().alias("shots"),
pl.col("measuredResults").list.last().mean().alias("avg_last_bit"),
])
.sort("n")
)
print(stats)
Pandas
import pandas as pd
df = pd.read_parquet("aqora://aqora/realization-of-a-quantum-streaming-algorithm-on-long-lived-trapped-ion-qubits/v0.1.0")
print(df.head())
Suggested analyses
- Reproduce success/failure ratios by filtering
meas == [1, 0] and comparing measuredResults against the HM ground truth.
- Inspect vertex or edge streams for specific
n to study how classical sketches diverge from the experiment.
- Explore correlations between auxiliary observables (
a, b) and sketch fidelity to identify hardware drift.
For full experimental details—circuit construction, streaming protocol, and theoretical guarantees—consult arXiv:2511.03689. This README serves as the Aqora dataset card for the shot-level Parquet artifact.