Skip to content

Qubit Geometries

A Geometry defines the spatial arrangement and connectivity of qubits, typically represented as a graph structure. MonitoredQuantumCircuits.jl provides several commonly used geometries out of the box, facilitating the construction and analysis of quantum circuits on a variety of lattice types. Users may also implement custom geometries by following the geometry interface.

Available Geometries

  • ChainGeometry Represents a chain (one-dimensional) structure, supporting both periodic and open boundary conditions.

  • HoneycombGeometry Represents a honeycomb lattice structure, supporting both periodic and open boundary conditions.

  • ShastrySutherlandGeometry Represents a Shastry-Sutherland lattice.


API Reference

MonitoredQuantumCircuits.ChainGeometry Type

A data structure representing a one-dimensional chain geometry of qubits.

Constructors

julia
ChainGeometry(Periodic, size::Integer)

Constructs a chain geometry with periodic boundary conditions (i.e., a closed loop).

julia
ChainGeometry(Open, size::Integer)

Constructs a chain geometry with open boundary conditions (i.e., a linear chain).

Arguments

  • size::Integer: The number of qubits in the chain.

Examples

julia
# Create a chain of 8 qubits with periodic boundaries
geometry = ChainGeometry(Periodic, 8)

# Create a chain of 10 qubits with open boundaries
geometry = ChainGeometry(Open, 10)
source
MonitoredQuantumCircuits.HoneycombGeometry Type

A data structure representing a honeycomb lattice geometry.

Constructors

julia
HoneycombGeometry(Periodic, sizeX::Integer, sizeY::Integer)

Create a honeycomb geometry with periodic boundary conditions.

julia
HoneycombGeometry(Open, sizeX::Integer, sizeY::Integer)

Create a honeycomb geometry with open boundary conditions.

Arguments

  • sizeX::Integer: Width of the lattice

  • sizeY::Integer: Height of the lattice (must be even)

Examples

julia
# Create a 4×4 honeycomb lattice with periodic boundaries
geometry = HoneycombGeometry(Periodic, 4, 4)

# Create a 6×6 honeycomb lattice with open boundaries
geometry = HoneycombGeometry(Open, 6, 6)
source
MonitoredQuantumCircuits.ShastrySutherlandGeometry Type

A data structure representing a Shastry-Sutherland lattice geometry.

Constructors

julia
ShastrySutherlandGeometry(Periodic, sizeX::Integer, sizeY::Integer)

Construct a Shastry-Sutherland geometry with periodic boundary conditions.

Arguments

  • sizeX::Integer: The number of sites in the x direction

  • sizeY::Integer: The number of sites in the y direction

Examples

julia
# Create a 4×4 Shastry-Sutherland lattice with periodic boundaries
geometry = ShastrySutherlandGeometry(Periodic, 4, 4)
source