100 Helloslanguages
Home / Languages / Cirq

Cirq

2018
general-purposequantum-computing
docker run --rm --platform="linux/amd64" 100hellos/cirq:latest

Cirq is an open-source quantum computing framework developed by Google for creating, editing, and invoking quantum circuits. It provides a powerful Python library for working with quantum computers and quantum simulators.

What is Cirq?

Cirq is designed to be the primary tool for researchers working on Noisy Intermediate-Scale Quantum (NISQ) algorithms. It provides:

  • Circuit Construction: Build quantum circuits using intuitive Python syntax
  • Gate Operations: Comprehensive library of quantum gates and operations
  • Simulation: High-performance quantum circuit simulation
  • Hardware Integration: Interface with real quantum computers
  • Optimization: Tools for circuit optimization and compilation

Real Quantum Programming Concepts

This implementation demonstrates authentic quantum computing concepts using Cirq's actual API:

Bell State Creation

# Create qubits
qubit1 = cirq.GridQubit(0, 0)
qubit2 = cirq.GridQubit(0, 1)

# Build quantum circuit
circuit = cirq.Circuit()
circuit.append(cirq.H(qubit1))        # Hadamard gate
circuit.append(cirq.CNOT(qubit1, qubit2))  # Entanglement
circuit.append(cirq.measure(qubit1, key='q1'))
circuit.append(cirq.measure(qubit2, key='q2'))

Quantum Teleportation Protocol

The implementation includes a quantum teleportation demonstration showing:

  • Quantum state preparation
  • Bell pair creation
  • Bell state measurement
  • Conditional quantum operations

Key Quantum Gates Demonstrated

  • H (Hadamard): Creates superposition - |0⟩ → (|0⟩ + |1⟩)/√2
  • X (Pauli-X): Quantum NOT gate - |0⟩ ↔ |1⟩
  • CNOT: Controlled NOT for entanglement
  • Measurement: Collapse quantum state to classical bits

What Makes This Quantum?

Unlike classical bits that are either 0 or 1, qubits can exist in superposition - simultaneously 0 and 1 until measured. When qubits are entangled, measuring one instantly affects the other regardless of distance.

The Bell state (|00⟩ + |11⟩)/√2 demonstrates this: the qubits are perfectly correlated but individually random.

Cirq's Advantages

  • Pythonic: Natural Python syntax for quantum programming
  • Research-Focused: Designed for NISQ algorithm development
  • Flexible: Easy circuit manipulation and optimization
  • Google Hardware: Direct integration with Google's quantum processors
  • Simulation: Powerful classical simulation for development

Circuit Visualization

Cirq circuits display as intuitive diagrams:

(0, 0): ───H───@───M('q1')───
               │
(0, 1): ───────X───M('q2')───

Historical Context

Cirq was released by Google in 2018 as part of their quantum computing efforts. It was designed specifically for the NISQ era - current quantum computers with 50-100 qubits that are powerful enough for certain algorithms but still limited by noise.

Further Exploration

  • Study quantum algorithms like Variational Quantum Eigensolver (VQE)
  • Explore quantum machine learning with Cirq and TensorFlow Quantum
  • Learn about quantum error mitigation techniques
  • Try running circuits on real quantum hardware via Google Cloud
  • Investigate quantum supremacy algorithms and benchmarks

Cirq represents the cutting edge of practical quantum programming, bridging the gap between quantum theory and real quantum computing applications.

Hello World

#!/bin/sh

# If this file is present, this is the file that runs when you add the
# RUN=1 option.
#
# Otherwise, the default behavior is to run the first file in the
# directory that matches the pattern `hello-world.*``.

# Build it
# Run it

# Run Cirq quantum computing framework
cirq-python /hello-world/hello.py

Connections

influenced by

Container Info

image100hellos/cirq:latest
build scheduleThursday
fragletno