The essential vocabulary for Google Quantum AI’s Python quantum framework
Cirq is Google Quantum AI’s open-source Python framework for designing, simulating, and running quantum circuits, and the native SDK for Google’s Sycamore-class superconducting hardware. Cirq makes the structure of a quantum circuit unusually explicit: every program is a sequence of Moments, every operation is bound to a specific qubit, and the framework is honest about hardware constraints from the start. These 20 terms are the vocabulary you need to read Cirq code, choose the right qubit type and simulator for the job, and write circuits that will actually run on Google Quantum AI hardware via the cloud Engine. Sister glossaries: Top 20 Qiskit Terms and Top 20 Q# Terms.
Cirq
Cirq is Google Quantum AI’s open-source Python framework for designing, simulating, and running quantum circuits. It is built around an explicit, low-level circuit model and is the native SDK for Google’s Sycamore-class hardware via Google Quantum Engine.
Circuit
The central object in Cirq. A cirq.Circuit is an ordered collection of Moments, each of which contains operations that act on disjoint qubits. Circuits in Cirq are intentionally explicit about parallelism, what executes together belongs in the same Moment.
Moment
A single time-slice of a circuit. Every operation inside a Moment acts on different qubits and is taken to execute in parallel. Cirq’s Moment-based model gives you precise control over circuit timing and depth, which matters on noisy hardware.
Operation
A Gate applied to specific qubits, e.g. cirq.X(q0) or cirq.CNOT(q0, q1). Operations are the elements that populate a Moment.
Gate
A reusable, qubit-agnostic quantum operation such as cirq.H, cirq.X**0.5 or cirq.CZ. Cirq exposes a rich library of standard gates and supports raised-power syntax (X**t) for fractional rotations natively.
Qubit
An abstract qubit identifier. Cirq does not assume a single qubit type; you choose one that matches your problem: NamedQubit for symbolic work, LineQubit for 1D arrangements, and GridQubit for 2D layouts that match real hardware.
GridQubit
A qubit identified by its (row, column) position on a 2D grid, designed to match the topology of superconducting hardware such as Sycamore. Using GridQubits lets the simulator and compiler reason about device-realistic connectivity.
LineQubit
A qubit identified by a single integer position on a 1D line. LineQubits are convenient for prototyping, teaching, and any algorithm whose connectivity is one-dimensional.
Measure
A measurement operation, added to a circuit with cirq.measure(q, key='m'). Each measurement is associated with a string key, and that key is how you retrieve the corresponding bitstring from a Result after sampling.
Simulator
Cirq’s default statevector simulator (cirq.Simulator). It supports both exact final-state computation and sampled measurements, and is the right choice for noiseless simulation of small-to-medium circuits.
DensityMatrixSimulator
A simulator (cirq.DensityMatrixSimulator) that evolves the system’s density matrix instead of a pure statevector, allowing you to model noise channels, mixed states, and decoherence. Essential for studying how realistic noise will affect an algorithm.
Sampler
An abstraction for anything that can run circuits and return measurement results, cirq.Simulator is one example, the cloud Engine is another. Writing code against the Sampler interface lets you swap simulator and hardware without changing your algorithm code.
Result
The object returned by a sampler run. A Result contains the measurement outcomes for every measurement key, exposed as histograms, raw bitstrings, or pandas DataFrames depending on what you ask for.
PauliString / PauliSum
Cirq’s representation for Pauli operators and Hamiltonians. A PauliString is a tensor product of single-qubit Paulis with a coefficient; a PauliSum is a weighted sum of these. Both are the input format for expectation-value calculations and many algorithm libraries.
PhasedXZGate
A hardware-native parameterised single-qubit gate (cirq.PhasedXZGate) that encapsulates the most general single-qubit unitary in a form Google’s hardware can execute directly. Important when targeting Sycamore-class devices, where decomposing into hardware-native gates produces shallower, lower-noise circuits.
Decomposition
Expressing a gate or operation in terms of other, lower-level gates, for example, decomposing a Toffoli into one- and two-qubit gates from a hardware basis set. Decomposition is how Cirq compiles arbitrary unitaries down to what a target device can run.
Transformer
Cirq’s circuit-rewriting and optimization API. Transformers (cirq.transformers) include passes for merging gates, dropping negligible operations, aligning operations into Moments, and applying device-specific optimisations. They are the modern replacement for the older optimizer abstraction.
Device
An object that describes a hardware target’s constraints, its supported gate set, qubit grid, allowed two-qubit interactions, and timing. Validating a circuit against a Device tells you whether it will run on the actual hardware before you submit it.
Engine
cirq_google.Engine is the client interface for Google Quantum AI’s cloud service, used to submit jobs to Sycamore-class hardware and receive results. Engine handles authentication, project scoping, processor selection, and job lifecycle management.
Cirq-FT
cirq-ft is Cirq’s fault-tolerant quantum computing extension, providing primitives, Bloqs, T-gate accounting, and resource estimation, for designing algorithms that will run on future error-corrected hardware. It is the preferred toolkit for anyone working on resource-estimating large-scale quantum algorithms.
