REVIEW 5 major objections 7 minor 7 references
The Qudit Cirq Library: An Extension of Google's Cirq Library for Qudits
T0 review · 5 major / 7 minor · reviewed 2026-08-10 · deepseek-v4-flash
Pith's one-line read The Qudit Cirq library supplies ready-to-use qudit gates, circuits, and simulation as a thin extension to Cirq.
desk verdict Useful library tutorial undone by internal errors that suggest the paper was never checked against the code. read the letter →
The pith
A machine-rendered reading of the paper's core claim, the machinery that carries it, and where it could break.
The reading
What carries the argument
The load-bearing mechanism is the wrapper layer that maps qudit gate specifications onto Cirq's qudit-aware primitives. Cirq's Qid and LineQid abstractions already permit d-dimensional systems; the library fills in the gate definitions — with $\omega = e^{2\pi i/d}$ and the phase gate $S|s\rangle = \omega^{s(s+p_d)/2}|s\rangle$, where $p_d=1$ for odd $d$ and $0$ otherwise — and a circuit-builder helper that accepts tuples of a gate type and qudit names. For the $U_{\pi/8}$ gate the implementation follows a known construction for prime dimensions. The same abstraction lets users run measurement and simulation through Cirq's existing simulation engine.
What would settle it
Run the published three-qudit GHZ example in dimension 3 and check that the simulated state vector equals $(|000\rangle+|111\rangle+|222\rangle)/\sqrt{3}$ to numerical precision and that all measurement strings are equal; any deviation would show the gate implementations are not as claimed.
Extended reading notes
Core claim
The central claim of the paper is that a thin library layer can make Cirq a complete working environment for qudit simulation. The library represents each qudit as a d-dimensional Qid object, defines gates by their action on the computational basis — for example $X|s\rangle = |s+1\rangle$, $Z|s\rangle = \omega^s|s\rangle$, and the corresponding multi-qudit controlled operations — and lets those gates be appended to ordinary Cirq circuits and simulated with Cirq's simulator. The paper reports that this works for the included examples, including a three-qudit, dimension-three GHZ state whose final state vector matches $(|000\rangle+|111\rangle+|222\rangle)/\sqrt{3}$. The contribution is an implementation and tutorial, not a new theoretical result about qudits.
Load-bearing premise
The load-bearing premise is that the library's code is available and its gate implementations behave exactly as the tutorial claims; the paper provides no versioned release, installation command, or independent check of the code.
Editorial extensions
If this is right
- A researcher familiar with Cirq can go from importing the library to simulating qudit circuits without writing custom gate classes.
- The enclosed GHZ examples demonstrate that entangled multi-qudit states and their measurement statistics are reproducible with the library's tools.
- The benchmark gives a rough laptop-scale envelope for the library: for a fixed one-minute time limit, the maximum number of qudits decreases as the dimension increases.
- Including a prime-dimension $U_{\pi/8}$ gate means the library can be used to explore qudit versions of Clifford-plus-T style circuits.
Reading between the lines
- The paper does not itself prove the gate implementations are correct; a natural next check is to verify each gate's unitary matrix against the stated basis action for small dimensions, then test random circuits against a dense-matrix state-vector simulator.
- Because the gate set includes Clifford generators plus a prime-dimension non-Clifford gate, the library could serve as a testbed for qudit randomized benchmarking or magic-state experiments, though those applications are not demonstrated here.
- The reported benchmarks use one random circuit per dimension-and-qudit-count point; averaging over multiple random circuits would give a more reliable runtime envelope and would be a natural extension of the paper.
Editorial analysis
A structured set of objections, weighed in public.
Referee Report
Summary. This manuscript is a tutorial and user guide for "Qudit Cirq", an extension of Google's Cirq for qudit systems. It describes how to create qudits with cirq.LineQid, presents implementations of qudit X, Z, Hadamard, CNOT, phase (S), controlled-Z, and prime-dimension U_{pi/8} gates, explains two circuit-construction methods (manual and create_circuit), covers measurement and simulation, lists utility functions, and reports a performance benchmark. Two GHZ-state examples are given as end-to-end illustrations. The intended contribution is an off-the-shelf library that researchers familiar with Cirq can use to simulate qudit circuits.
Significance. The contribution is primarily practical: if the library is real, correct, and reproducible, it fills a gap in the Cirq ecosystem and provides a convenient starting point for qudit simulation. A notable strength is that the gate definitions are attributed to published sources (Howard and Vala; Jafarzadeh et al.; Wang et al.), and the tutorial includes explicit code snippets and expected outputs. However, the entire value of the manuscript depends on the accuracy and reproducibility of those snippets. As written, several formulas, import statements, and outputs are internally inconsistent, and no versioned release, installation instructions, or executable verification is provided. These issues are fixable, but they currently prevent the reader from verifying the central claim that the library implements the gates "as described".
major comments (5)
- [§3, qudit S Gate] The definition of the S gate is garbled in the typeset text: the formula appears as "S|s> = ωsps`pdq{2|s>" and the parameter p_d is never defined. As printed, the expression cannot be evaluated unambiguously, and if the intended exponent is s(s+d)/2, the exponent is not integral for even d, so the convention for the root of unity matters. Because this gate is advertised as a generator of the qudit Clifford group, this is a load-bearing definition that must be stated cleanly.
- [§3, qudit Controlled-Z Gate] The code block under "Qudit Controlled-Z Gate" imports quditPhaseGate but instantiates quditCZGate, while the surrounding text says "Create a qudit Phase gate for dimension d=5". The snippet therefore cannot be executed as printed and does not match the section heading. The import and the instantiated gate must be made consistent.
- [§4, Extended Usage of create_circuit] The extended create_circuit example references quditTGate for dimensions 5 and 6, but the paper never defines a quditTGate; the only pi/8-type gate presented is quditU8Gate, which the text explicitly restricts to prime dimensions. Dimension 6 is not prime. Either the library contains a separate quditTGate that should be documented, or the example is wrong; as printed it is not reproducible.
- [§7, Example 1] The printed measurement output "result=2201011100, 2201011100, 2201011100" is not a standard Cirq Result representation for a single measurement key applied to three qutrits, and the text does not explain how the three comma-separated strings map to qutrits and repetitions. If the strings are intended to be per-qutrit outcome sequences, they are consistent with GHZ correlations, but this interpretation must be stated explicitly. As printed, the example is ambiguous and cannot be checked against the circuit shown, even though the accompanying state-vector output is correct.
- [General (reproducibility)] The manuscript provides only a URL for the library and gives no installation instructions, versioned release identifier, commit hash, or test script. Because the central claim is that the library is ready-to-use and implements the gates as described, the reader cannot distinguish documentation errors from implementation errors or reproduce the examples. The revision should add a versioned release identifier, installation commands, and a minimal verification script that reproduces the stated outputs.
minor comments (7)
- [Abstract and §8] The abstract contains the typo "curcuits" and §8 contains "Not suprisingly"; please correct these.
- [§3, qudit X and CNOT definitions] The X-gate action X|s> = |s+1> and the CNOT action should state explicitly that addition is modulo d; otherwise the definitions are incomplete.
- [§4, Method 2] The prose says the function returns "qudit order" but the code uses qudit_order; please use a consistent name.
- [§4 and §7] The qudit_measure gate is used in several examples but is never formally introduced; add a short definition or description of its behavior.
- [§3, U_{pi/8} gate] The reference to "the classic text from Chuang and Nielsen [2010]" is incomplete and does not appear in the bibliography; please add the full citation.
- [§8, Figure] The performance figure has no color scale or legend, and the admitted single-run methodology means it can only be interpreted as a qualitative trend; please add averaged timings with error bars and a labeled color scale, or explicitly label the figure as qualitative.
- [§7, Examples 1 and 2] Example 2 omits the import of create_circuit from qudit_cirq.circuit_builder (which is present in §4), and Example 1 uses printVector without showing its import; please add the missing imports so the snippets are self-contained.
Circularity Check
No circular derivation; the single self-citation is not load-bearing.
full rationale
I find no circular reasoning. The paper is a usage guide for a software library, and its gate definitions are taken from independent external references: the Hadamard gate from Wang et al. [6], the Clifford-group generators from Jafarzadeh et al. [4], and the U_pi/8 gate from Howard and Vala [3]. The only self-citation is reference [1] by co-author Asghar, used in the introduction and to justify the GHZ circuit pattern. That self-citation is not load-bearing: the GHZ construction is standard and the paper independently verifies it with the printed state-vector output containing |000>, |111>, and |222> each with amplitude 1/sqrt(3). No parameter is fitted, and no empirical claim is made that could reduce to an input. The paper's internal inconsistencies, such as the garbled phase-gate formula and the GHZ measurement output not matching the GHZ state, are correctness and reproducibility concerns, not circularity. Because the central claim—that the library implements the documented gates—is checkable by running the code and is not derived from the cited self-reference, the circularity score is minimal, reflecting one minor non-load-bearing self-citation.
Assumptions & free parameters
assumptions (2)
- domain assumption Qudit states are represented as unit vectors in C^d, and gates act linearly as defined in the cited quantum information literature.
- domain assumption Google's Cirq simulator correctly handles qudit state vectors, tensor products, and measurements when provided with the appropriate gate matrices.
Cite this review
Pith. "Pith review of The Qudit Cirq Library: An Extension of Google's Cirq Library for Qudits." pith.science (2026). https://pith.science/paper/P27E2477
@misc{pith2026250107812,
author = {Pith},
title = {Pith review of: The Qudit Cirq Library: An Extension of Google's Cirq Library for Qudits},
year = {2026},
howpublished = {\url{https://pith.science/paper/P27E2477}},
note = {Machine review of arXiv:2501.07812}
}
read the original abstract
This document contains a guide on how to use the Qudit Cirq library, an extension of Google's Cirq library for qudits. While Cirq provides necessary building blocks for quantum computation on qudits, the gates, curcuits and simulation of qudit systems need to be developed from scratch. Our extension to the Cirq library has built-in methods for creating qudits, applying common qudit gates, building circuits and simulating quantum computation on these circuits. This is ideal for researchers who want to use an off-the-shelf library to simulate qudit systems.
Reference graph
Works this paper leans on
-
[1]
Efficient Fault-Tolerant Quantum Protocol for Differential Privacy in the Shuffle Model
Hassan Jameel Asghar, Arghya Mukherjee, and Gavin K Brennen. Efficient fault-tolerant quantum protocol for differential privacy in the shuffle model. arXiv preprint arXiv:2409.04026, 2024
work page Pith review arXiv 2024
-
[2]
Quforge: A library for qudits simulation, 2024
Tiago de Souza Farias, Lucas Friedrich, and Jonas Maziero. Quforge: A library for qudits simulation, 2024
work page 2024
-
[3]
Qudit versions of the qubitπ/8 gate
Mark Howard and Jiri Vala. Qudit versions of the qubitπ/8 gate. Physical Review A—Atomic, Molecular, and Optical Physics, 86(2):022316, 2012
work page 2012
-
[4]
Randomized benchmarking for qudit clifford gates
Mahnaz Jafarzadeh, Ya-Dong Wu, Yuval R Sanders, and Barry C Sanders. Randomized benchmarking for qudit clifford gates. New Journal of Physics, 22(6):063014, 2020
work page 2020
-
[5]
Mqt qudits: A software framework for mixed-dimensional quantum computing
Kevin Mato, Martin Ringbauer, Lukas Burgholzer, and Robert Wille. Mqt qudits: A software framework for mixed-dimensional quantum computing. arXiv preprint arXiv:2410.02854, 2024
arXiv 2024
-
[6]
Qudits and high-dimensional quantum computing
Yuchen Wang, Zixuan Hu, Barry C Sanders, and Sabre Kais. Qudits and high-dimensional quantum computing. Frontiers in Physics, 8:589504, 2020
work page 2020
-
[7]
The MQT handbook: A summary of design automation tools and software for quantum computing
Robert Wille, Lucas Berent, Tobias Forster, Jagatheesan Kunasaikaran, Kevin Mato, Tom Peham, Nils Quetschlich, Damian Rovara, Aaron Sander, Ludwig Schmid, Daniel Schoenberger, Yannick Stade, and 12 Lukas Burgholzer. The MQT handbook: A summary of design automation tools and software for quantum computing. In IEEE International Conference on Quantum Softwa...
Reviewed August 10, 2026 · model on record in the stance chip above.
Discussion (0). Continue with ORCID to comment.