Circuit Overview:
The primary representation of
quantum programs in Cirq is the Circuit class.
A Circuit
is a collection of Moments.
A Moment
is a collection of Operations that all act during the same abstract
time slice.
An Operation
is some effect that operates on a specific subset of Qubits; the most
common type of Operation is a GateOperation.
Circuit

Depth of
above circuit is 7. Width (Space) is 3.
The base unit of this circuit is qubit. In Cirq, qubits and other
objects are identified by instances of subclasses of the cirq.Qid
base class. Various subclasses of Qid can be
used for different purposes. For example, qubits are often arranged on
the vertices of a square grid. In this case, cirq.GridQubit subclasses
cirq.Qid.
qubits = cirq.GridQubit.square(4)
print(qubits[0])
print(qubits)
print(qubits[15])
output:
q(0, 0)
[cirq.GridQubit(0, 0), cirq.GridQubit(0, 1), cirq.GridQubit(0, 2),
cirq.GridQubit(0, 3), cirq.GridQubit(1, 0), cirq.GridQubit(1, 1),
cirq.GridQubit(1, 2), cirq.GridQubit(1, 3), cirq.GridQubit(2, 0),
cirq.GridQubit(2, 1), cirq.GridQubit(2, 2), cirq.GridQubit(2, 3),
cirq.GridQubit(3, 0), cirq.GridQubit(3, 1), cirq.GridQubit(3, 2),
cirq.GridQubit(3, 3)]
q(3, 3)
Create a single
GridQubit at row = 2 and col = 4
import cirq
q = cirq.GridQubit(2, 4)
print(q)
Output:
q(2, 4)
Create multiple qubits in a 4 x 4 grid
import cirq
multiqubits = [cirq.GridQubit(row, col) for
row in range(4) for col in range(4)]
print(multiqubits)
Output :
[cirq.GridQubit(0, 0), cirq.GridQubit(0, 1), cirq.GridQubit(0,
2), cirq.GridQubit(0, 3), cirq.GridQubit(1, 0), cirq.GridQubit(1, 1),
cirq.GridQubit(1, 2), cirq.GridQubit(1, 3), cirq.GridQubit(2, 0),
cirq.GridQubit(2, 1), cirq.GridQubit(2, 2), cirq.GridQubit(2, 3),
cirq.GridQubit(3, 0), cirq.GridQubit(3, 1), cirq.GridQubit(3, 2),
cirq.GridQubit(3, 3)]
Getting Neighbors
import cirq
q =
cirq.GridQubit(2, 4)
print(q.neighbors())
Output:
{cirq.GridQubit(2, 5), cirq.GridQubit(2, 3), cirq.GridQubit(1, 4),
cirq.GridQubit(3, 4)}
Note: .neighbors() return potential nighbors and it doesn't
check if they exist in your device layout.