<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Ghz_states on vrusso</title><link>https://vprusso.github.io/tags/ghz_states/</link><description>Recent content in Ghz_states on vrusso</description><generator>Hugo -- gohugo.io</generator><language>en</language><lastBuildDate>Fri, 01 May 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://vprusso.github.io/tags/ghz_states/index.xml" rel="self" type="application/rss+xml"/><item><title>Compressed sensing for efficient fidelity estimation of GHZ states</title><link>https://vprusso.github.io/posts/ghz_cs/</link><pubDate>Fri, 01 May 2026 00:00:00 +0000</pubDate><guid>https://vprusso.github.io/posts/ghz_cs/</guid><description>This post accompanies our paper &amp;ldquo;Compressed Sensing for Efficient Fidelity Estimation of GHZ States&amp;rdquo; (arXiv:2604.27824) by Farrokh Labib, David Nicholaeff, Vincent Russo, and William J. Zeng.
We present an approach for preparing and verifying large GHZ states on quantum processors with all-to-all connectivity. The two key ideas are:
Flag qubits for error detection &amp;ndash; strategically placed ancilla qubits that detect errors via parity checks, improving fidelity through post-selection. Compressed sensing for efficient verification &amp;ndash; estimating fidelity with exponentially fewer measurements than traditional methods by exploiting the sparsity of parity oscillation signals.</description><content>&lt;!-- CDN Libraries -->
&lt;script src="https://d3js.org/d3.v7.min.js">&lt;/script>
&lt;script src="https://cdn.plot.ly/plotly-2.35.2.min.js">&lt;/script>
&lt;link rel="stylesheet" href="https://vprusso.github.io/blog/ghz_cs/ghz_widgets.css">
&lt;p>This post accompanies our paper
&lt;em>&amp;ldquo;Compressed Sensing for Efficient Fidelity Estimation of GHZ States&amp;rdquo;&lt;/em>
(&lt;a href="https://arxiv.org/abs/2604.27824">arXiv:2604.27824&lt;/a>) by Farrokh Labib, David Nicholaeff, Vincent Russo, and William J. Zeng.&lt;/p>
&lt;p>We present an approach for preparing and verifying large GHZ states on quantum processors with
all-to-all connectivity. The two key ideas are:&lt;/p>
&lt;ol>
&lt;li>&lt;strong>Flag qubits for error detection&lt;/strong> &amp;ndash; strategically placed ancilla qubits that detect errors via
parity checks, improving fidelity through post-selection.&lt;/li>
&lt;li>&lt;strong>Compressed sensing for efficient verification&lt;/strong> &amp;ndash; estimating fidelity with exponentially fewer
measurements than traditional methods by exploiting the sparsity of parity oscillation signals.&lt;/li>
&lt;/ol>
&lt;p>Below, we walk through each idea with interactive visualizations so you can build intuition for how
they work.&lt;/p>
&lt;h2 id="ghz-states">GHZ States&lt;/h2>
&lt;p>The \(N\)-qubit Greenberger-Horne-Zeilinger (GHZ) state is a maximally entangled state:&lt;/p>
$$|\text{GHZ}\rangle = \frac{1}{\sqrt{2}}\left(|0\rangle^{\otimes N} + |1\rangle^{\otimes N}\right)$$
&lt;p>GHZ states are fundamental benchmarks for quantum hardware. They are useful for quantum secret
sharing, metrology, and error correction &amp;ndash; but they are also extremely fragile. Any single-qubit
error can destroy the entanglement, making both &lt;em>preparation&lt;/em> and &lt;em>verification&lt;/em> of large GHZ states
a serious challenge.&lt;/p>
&lt;p>Recently, IBM demonstrated a 120-qubit GHZ state with fidelity above 0.5 in their
&lt;a href="https://arxiv.org/abs/2502.05982">&amp;ldquo;Big Cats&amp;rdquo;&lt;/a> paper (Javadi-Abhari et al., 2025), using
low-overhead error detection ideas from
&lt;a href="https://arxiv.org/abs/2504.15725">Martiel et al.&lt;/a>. The core technique is to use pairs of qubits as
parity checks that maximize &amp;ldquo;coverage&amp;rdquo; of the preparation circuit. Our work applies these same ideas
to trapped-ion hardware with all-to-all connectivity, where the binary tree circuit topology gives us
logarithmic depth and simplifies coverage-aware flag placement.&lt;/p>
&lt;h3 id="binary-tree-preparation">Binary tree preparation&lt;/h3>
&lt;p>On hardware with all-to-all connectivity (like Quantinuum&amp;rsquo;s trapped-ion systems), we can prepare an
\(N\)-qubit GHZ state in \(\log(N)\) depth using a binary tree of CNOT gates. Starting from a root
qubit in superposition, each CNOT spreads the entanglement to one more qubit, doubling the size at
each tree level.&lt;/p>
&lt;p>This is preferable to the linear-depth chain approach used on nearest-neighbor
hardware, but errors near the root of the tree are especially dangerous &amp;ndash; they
propagate through all downstream qubits.&lt;/p>
&lt;h2 id="error-detection-with-flag-qubits">Error Detection with Flag Qubits&lt;/h2>
&lt;p>The GHZ state has a useful stabilizer structure: \(Z_i Z_j = +1\) for any pair of qubits \(i, j\).
This means we can detect bit-flip errors by introducing an ancilla (&amp;ldquo;flag&amp;rdquo;) qubit and applying CNOTs
from two data qubits to it. If the flag measures 0, no error was detected on the path between those
two qubits; if it measures 1, we discard that shot.&lt;/p>
&lt;h3 id="coverage">Coverage&lt;/h3>
&lt;p>The key question is: &lt;em>which pairs of qubits should we connect with flags?&lt;/em>&lt;/p>
&lt;p>The &lt;strong>coverage&lt;/strong> of a flag pair \((i, j)\) is the set of all nodes on the paths from \(i\) and \(j\)
back to their least common ancestor (LCA) in the preparation tree. An error on any qubit in this
coverage set will propagate to the flag and be detected. We often normalize by the total number of
qubits to report a &lt;strong>coverage ratio&lt;/strong>.&lt;/p>
&lt;p>We want to choose \(k\) pairs that maximize the total coverage &amp;ndash; the union of all covered nodes.
This is an instance of the classical &lt;em>maximum coverage problem&lt;/em>: each candidate set is defined by a
leaf pair and the nodes on their paths to the LCA. The resulting objective is monotone submodular, so
the greedy algorithm that repeatedly picks the pair with the largest marginal coverage has a formal
\((1 - 1/e) \approx 63\%\) worst-case guarantee thanks to a theorem by Nemhauser, Wolsey, and Fisher.
This is the same guarantee we rely on in the paper. Because our GHZ preparation circuits are binary
trees, there may be opportunities to design tree-specific algorithms that do even better than the
general guarantee&amp;mdash;identifying those improved strategies is an open question we highlight in the
conclusion of the paper.&lt;/p>
&lt;p>With that caveat in mind, the greedy procedure works well in practice. Try it yourself below:&lt;/p>
&lt;div id="tree-coverage-widget" class="ghz-widget">
&lt;h4>Interactive: Flag Qubit Placement on Binary Tree&lt;/h4>
&lt;div class="controls">
&lt;div class="control-group">
&lt;label>Tree nodes (N): &lt;span id="tc-n-val">15&lt;/span>&lt;/label>
&lt;input type="range" id="tc-n" min="7" max="63" value="15" step="1">
&lt;/div>
&lt;div class="control-group">
&lt;label>Flag pairs (k): &lt;span id="tc-k-val">0&lt;/span>&lt;/label>
&lt;input type="range" id="tc-k" min="0" max="5" value="0" step="1">
&lt;/div>
&lt;div class="control-group" style="align-self: flex-end;">
&lt;button id="tc-step-btn">Step Through Greedy&lt;/button>
&lt;button id="tc-reset-btn" style="margin-top: 4px;">Reset&lt;/button>
&lt;/div>
&lt;/div>
&lt;div id="tc-tree-svg" style="width:100%; height:400px;">&lt;/div>
&lt;div class="step-indicator" id="tc-step-info">&lt;/div>
&lt;div class="results-panel" id="tc-results">&lt;/div>
&lt;/div>
&lt;script src="https://vprusso.github.io/blog/ghz_cs/tree_coverage_widget.js">&lt;/script>
&lt;p>Red nodes are covered by the selected flag pairs &amp;ndash; errors on those nodes will be detected. Gray
nodes are uncovered. The gold arcs show which leaf pairs are connected by flag qubits. Notice how
just a few well-chosen pairs can cover the majority of the tree, especially the critical high-weight
nodes near the root.&lt;/p>
&lt;h2 id="estimating-fidelity-parity-oscillation">Estimating Fidelity: Parity Oscillation&lt;/h2>
&lt;p>Once we have prepared a (hopefully) good GHZ state, how do we measure its quality? The standard
metric is &lt;strong>fidelity&lt;/strong>:&lt;/p>
$$F = \frac{1}{2}\left(\langle P \rangle + \langle \chi \rangle\right)$$
&lt;p>where \(\langle P \rangle = \langle 0 | \rho | 0 \rangle + \langle 1 | \rho | 1 \rangle\) is the
&lt;strong>population&lt;/strong> and \(\langle \chi \rangle = \langle 0 | \rho | 1 \rangle + \langle 1 | \rho | 0 \rangle\)
captures the &lt;strong>coherence&lt;/strong>.&lt;/p>
&lt;p>The population is easy to measure &amp;ndash; just prepare the state and measure in the computational basis.
The coherence is harder. The standard approach is &lt;strong>parity oscillation&lt;/strong>: apply \(R_z(-\phi)\) followed
by \(R_y(-\pi/2)\) to every qubit and then measure in the computational basis. This implements the
global observable&lt;/p>
$$\mathcal{P}(\phi) = \Big\langle \bigotimes_{j=1}^N (\cos \phi \, X_j + \sin \phi \, Y_j) \Big\rangle.$$
&lt;p>For an ideal \(N\)-qubit GHZ state, the signal oscillates as \(C \cos(N\phi + \theta)\). The phase
offset \(\theta\) accounts for coherent phase errors and corresponds to preparing a rotated state
\(|\mathrm{GHZ}_\theta\rangle = (|0^{\otimes N}\rangle + e^{i\theta} |1^{\otimes N}\rangle)/\sqrt{2}\).
By measuring at many different phases \(\phi\) and fitting the resulting cosine, we can estimate the
coherence amplitude \(C\) (and optionally \(\theta\)).&lt;/p>
&lt;h3 id="the-sampling-problem">The sampling problem&lt;/h3>
&lt;p>The oscillation frequency is \(N\) &amp;ndash; the number of qubits. By the Nyquist-Shannon theorem, we need
at least \(2N\) measurements to faithfully sample this signal, typically at angles
\(\phi_k = k\pi/(N+1)\) for \(k = 0, \dots, 2N-1\). For a 100-qubit GHZ state, that is at least 200
different phase circuits, each requiring thousands of shots. This quickly becomes expensive.&lt;/p>
&lt;h2 id="compressed-sensing-fewer-measurements">Compressed Sensing: Fewer Measurements&lt;/h2>
&lt;p>Here is the key insight: the parity oscillation signal is &lt;strong>1-sparse&lt;/strong> in the frequency domain. It
consists of a single cosine at frequency \(N\). We do not actually need to sample the full signal &amp;ndash;
we just need to identify that one frequency and its amplitude.&lt;/p>
&lt;p>This is exactly the setting where &lt;strong>compressed sensing&lt;/strong> excels. Instead of \(2N\) measurements, we
can recover the signal from just \(M \sim \mathcal{O}(\log N)\) random measurements using the Lasso
(L1-regularized regression):&lt;/p>
$$\min_{\beta} \frac{1}{2M} \|y - D\beta\|_2^2 + \alpha \|\beta\|_1$$
&lt;p>where \(D\) is a dictionary matrix with columns \(\cos(k\phi_i)\) and \(-\sin(k\phi_i)\) for
candidate frequencies \(k = 1, \ldots, N\), and \(y\) is the vector of measured parities.&lt;/p>
&lt;p>The L1 penalty promotes sparsity &amp;ndash; most coefficients are driven to zero, and only the true
frequency survives. We then refine the amplitude estimate with ordinary least squares on just the
detected frequency.&lt;/p>
&lt;p>Classical compressed sensing theory says that if only \(s\) coefficients are non-zero, a random
measurement design needs on the order of \(m \ge c s \log N\) samples for stable recovery. Our signal
is effectively \(s=2\) (one cosine and one sine term), so we only need logarithmically many parity
circuits in the number of qubits. In practice we choose \(M \approx 5 \log N\), matching the scaling
used in the paper&amp;rsquo;s simulations and hardware experiments. This is an exponential improvement over the
\(\mathcal{O}(N)\) scaling of traditional parity oscillation and a double-exponential reduction
relative to full state tomography.&lt;/p>
&lt;p>Try it below. Compare how parity oscillation (blue, which knows \(N\)) and compressed sensing (gold,
which discovers \(N\)) estimate the coherence from noisy data:&lt;/p>
&lt;div id="parity-cs-widget" class="ghz-widget">
&lt;h4>Interactive: Parity Oscillation vs Compressed Sensing&lt;/h4>
&lt;div class="controls">
&lt;div class="control-group">
&lt;label>Qubits (n): &lt;span id="pcs-n-val">7&lt;/span>&lt;/label>
&lt;input type="range" id="pcs-n" min="3" max="30" value="7" step="1">
&lt;/div>
&lt;div class="control-group">
&lt;label>Noise (σ): &lt;span id="pcs-noise-val">0.10&lt;/span>&lt;/label>
&lt;input type="range" id="pcs-noise" min="0" max="0.5" value="0.1" step="0.01">
&lt;/div>
&lt;div class="control-group">
&lt;label>Measurements (M): &lt;span id="pcs-m-val">15&lt;/span>&lt;/label>
&lt;input type="range" id="pcs-m" min="5" max="50" value="15" step="1">
&lt;/div>
&lt;div class="control-group">
&lt;label>Lasso α: &lt;span id="pcs-alpha-val">0.10&lt;/span>&lt;/label>
&lt;input type="range" id="pcs-alpha" min="0.001" max="0.5" value="0.1" step="0.001">
&lt;/div>
&lt;/div>
&lt;div id="pcs-signal-plot" style="width:100%; height:350px;">&lt;/div>
&lt;div id="pcs-spectrum-plot" style="width:100%; height:250px;">&lt;/div>
&lt;div class="results-panel" id="pcs-results">&lt;/div>
&lt;/div>
&lt;script src="https://vprusso.github.io/blog/ghz_cs/parity_cs_widget.js">&lt;/script>
&lt;p>A few things to notice as you play with the sliders:&lt;/p>
&lt;ul>
&lt;li>&lt;strong>Increase the number of qubits&lt;/strong> to see the oscillation frequency increase. Compressed sensing
handles this well because it searches over all candidate frequencies.&lt;/li>
&lt;li>&lt;strong>Increase the noise&lt;/strong> to see both methods degrade &amp;ndash; but they degrade in different ways. Parity
oscillation can overfit noise; CS tends to be more robust due to the sparsity constraint.&lt;/li>
&lt;li>&lt;strong>Reduce measurements&lt;/strong> to see the advantage of CS. With very few measurements, curve fitting
becomes unreliable, but CS can still identify the correct frequency.&lt;/li>
&lt;li>&lt;strong>Adjust Lasso α&lt;/strong> to control the sparsity-data tradeoff. Too high and the signal is
over-regularized; too low and noise frequencies leak through.&lt;/li>
&lt;/ul>
&lt;h2 id="putting-it-together">Putting It Together&lt;/h2>
&lt;p>The fidelity \(F = (P + C)/2\) benefits from both innovations:&lt;/p>
&lt;ul>
&lt;li>&lt;strong>Flag qubits&lt;/strong> improve both \(P\) and \(C\) by post-selecting away erroneous shots&lt;/li>
&lt;li>&lt;strong>Compressed sensing&lt;/strong> lets us estimate \(C\) efficiently with fewer measurement circuits&lt;/li>
&lt;/ul>
&lt;p>The widget below shows a simplified analytical model of how fidelity improves as you add flag pairs.
The model assumes depolarizing noise with a given 2-qubit gate error rate:&lt;/p>
&lt;div id="fidelity-widget" class="ghz-widget">
&lt;h4>Interactive: Fidelity Improvement with Flag Qubits&lt;/h4>
&lt;div class="controls">
&lt;div class="control-group">
&lt;label>Qubits (N): &lt;span id="fc-n-val">11&lt;/span>&lt;/label>
&lt;input type="range" id="fc-n" min="5" max="40" value="11" step="1">
&lt;/div>
&lt;div class="control-group">
&lt;label>2-qubit gate error (p₂q): &lt;span id="fc-err-val">0.010&lt;/span>&lt;/label>
&lt;input type="range" id="fc-err" min="0.001" max="0.05" value="0.01" step="0.001">
&lt;/div>
&lt;div class="control-group">
&lt;label>Flag pairs (k): &lt;span id="fc-k-val">0&lt;/span>&lt;/label>
&lt;input type="range" id="fc-k" min="0" max="6" value="0" step="1">
&lt;/div>
&lt;/div>
&lt;div id="fc-bar-plot" style="width:100%; height:350px;">&lt;/div>
&lt;div class="results-panel" id="fc-results">&lt;/div>
&lt;/div>
&lt;script src="https://vprusso.github.io/blog/ghz_cs/fidelity_comparison_widget.js">&lt;/script>
&lt;p>Notice how even a small number of flag pairs can meaningfully improve fidelity, especially for
moderate error rates. The &amp;ldquo;acceptance&amp;rdquo; rate shows the fraction of shots that survive post-selection
&amp;ndash; this is the cost of the improved fidelity.&lt;/p>
&lt;h2 id="summary">Summary&lt;/h2>
&lt;p>We showed that:&lt;/p>
&lt;ol>
&lt;li>&lt;strong>Flag qubits&lt;/strong> on binary-tree GHZ circuits can be positioned with a simple greedy algorithm that
enjoys the classical \((1-1/e)\) performance guarantee for maximum coverage; designing tree-specific
algorithms that beat this bound remains an open direction.&lt;/li>
&lt;li>&lt;strong>Compressed sensing&lt;/strong> allows estimating GHZ state coherence from \(\mathcal{O}(\log N)\)
measurements instead of \(\mathcal{O}(N)\), a significant reduction for large states.&lt;/li>
&lt;li>The combination of these techniques makes it practical to prepare and verify large, high-fidelity
GHZ states on all-to-all connected hardware.&lt;/li>
&lt;/ol>
&lt;p>For the full details, proofs, and experimental results on Quantinuum hardware, see the paper:
&lt;em>&amp;ldquo;Compressed Sensing for Efficient Fidelity Estimation of GHZ States&amp;rdquo;&lt;/em>
(&lt;a href="https://arxiv.org/abs/2604.27824">arXiv:2604.27824&lt;/a>).&lt;/p>
&lt;p>The code is available at
&lt;a href="https://github.com/unitaryfoundation/wigners-friend">github.com/unitaryfoundation/wigners-friend&lt;/a>.&lt;/p></content></item></channel></rss>