Learn CIRQ with Real Code Examples
Updated Nov 25, 2025
Code Sample Descriptions
1
Cirq Simple Quantum Circuit
import cirq
qubits = [cirq.GridQubit(0,0), cirq.GridQubit(0,1)]
circuit = cirq.Circuit()
circuit.append(cirq.H(qubits[0]))
circuit.append(cirq.CNOT(qubits[0],qubits[1]))
circuit.append(cirq.measure(*qubits,key='result'))
simulator = cirq.Simulator()
result = simulator.run(circuit,repetitions=1000)
print(result)
A minimal Cirq example creating a 2-qubit quantum circuit, applying Hadamard and CNOT gates, and simulating measurements.
2
Cirq Single Qubit Rotation
import cirq
q = cirq.GridQubit(0,0)
circuit = cirq.Circuit(cirq.rx(1.5708)(q), cirq.measure(q,key='m'))
sim = cirq.Simulator()
result = sim.run(circuit,repetitions=500)
print(result)
Applies a rotation gate to a single qubit and measures it.
3
Cirq Bell State
import cirq
q0,q1 = cirq.GridQubit(0,0),cirq.GridQubit(0,1)
circuit = cirq.Circuit(cirq.H(q0), cirq.CNOT(q0,q1), cirq.measure(q0,q1,key='result'))
sim = cirq.Simulator()
result = sim.run(circuit,repetitions=1000)
print(result)
Generates a Bell state and measures both qubits.
4
Cirq GHZ State
import cirq
q = [cirq.GridQubit(0,i) for i in range(3)]
circuit = cirq.Circuit(cirq.H(q[0]), cirq.CNOT(q[0],q[1]), cirq.CNOT(q[0],q[2]), cirq.measure(*q,key='result'))
sim = cirq.Simulator()
result = sim.run(circuit,repetitions=1000)
print(result)
Creates a 3-qubit GHZ state and measures all qubits.
5
Cirq Random Circuit
import cirq
q = [cirq.GridQubit(0,0),cirq.GridQubit(0,1)]
circuit = cirq.testing.random_circuit(qubits=q, n_moments=5, op_density=0.5)
sim = cirq.Simulator()
result = sim.run(circuit,repetitions=500)
print(circuit)
print(result)
Creates a random quantum circuit with 2 qubits.
6
Cirq Quantum Fourier Transform
import cirq
q = [cirq.GridQubit(0,i) for i in range(3)]
circuit = cirq.Circuit()
for i in range(3):
circuit.append(cirq.H(q[i]))
for j in range(i+1,3):
circuit.append(cirq.CZ(q[j],q[i])**(1/2**(j-i)))
circuit.append(cirq.measure(*q,key='result'))
sim = cirq.Simulator()
result = sim.run(circuit,repetitions=500)
print(result)
Implements QFT on 3 qubits.
7
Cirq Parameterized Gate
import cirq
import sympy
q = cirq.GridQubit(0,0)
theta = sympy.Symbol('theta')
circuit = cirq.Circuit(cirq.rx(theta)(q), cirq.measure(q,key='m'))
sim = cirq.Simulator()
result = sim.run(circuit,{theta:1.57},repetitions=500)
print(result)
Uses a parameterized rotation gate on a qubit.
8
Cirq Controlled Gates
import cirq
q0,q1 = cirq.GridQubit(0,0),cirq.GridQubit(0,1)
circuit = cirq.Circuit(cirq.H(q0), cirq.CZ(q0,q1), cirq.measure(q0,q1,key='result'))
sim = cirq.Simulator()
result = sim.run(circuit,repetitions=500)
print(result)
Demonstrates a controlled-Z gate between two qubits.
9
Cirq Swap Gate Example
import cirq
q0,q1 = cirq.GridQubit(0,0),cirq.GridQubit(0,1)
circuit = cirq.Circuit(cirq.SWAP(q0,q1), cirq.measure(q0,q1,key='result'))
sim = cirq.Simulator()
result = sim.run(circuit,repetitions=500)
print(result)
Swaps two qubits and measures them.
10
Cirq Measurement in Different Basis
import cirq
q = cirq.GridQubit(0,0)
circuit = cirq.Circuit(cirq.H(q), cirq.measure(q,key='X_basis'), cirq.measure(q,key='Z_basis'))
sim = cirq.Simulator()
result = sim.run(circuit,repetitions=500)
print(result)
Measures a qubit in X and Z bases.