Sign inSign up

100hellos/cirq

By 100hellos

•Updated 4 months ago

"Hello World!" Written in cirq

Image
0

3.3K

100hellos/cirq repository overview

⁠Hello World! From cirq.

Language page⁠ — context, influences, and learning notes on the 100hellos site.

Source on GitHub⁠ (100hellos/cirq)

⁠Trying it

docker run --rm --platform="linux/amd64" 100hellos/cirq:latest

⁠Modifying it

Read the repo README⁠, or fork the project⁠ and customize it.

For an interactive shell:

docker run --rm --platform="linux/amd64" --entrypoint="" -it 100hellos/cirq:latest zsh

⁠Cirq - Google's Quantum Computing Framework

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.

Tag summary

Content type

Image

Digest

sha256:05daba064…

Size

320.8 MB

Last updated

4 months ago

docker pull 100hellos/cirq