1. Home
  2. /
  3. Cirq
  4. /
  5. Measurement in Different Basis

Measurement in Different Basis - Cirq Typing CST Test

Loading…

Measurement in Different Basis — Cirq Code

Measures a qubit in X and Z bases.

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)

Cirq Language Guide

Cirq is an open-source Python framework for quantum computing, developed by Google, focused on designing, simulating, and running quantum circuits on NISQ (Noisy Intermediate-Scale Quantum) devices.

Primary Use Cases

  • ▸Designing and simulating quantum circuits
  • ▸Running algorithms on Google's quantum processors
  • ▸Optimization and combinatorial problem solving
  • ▸Quantum machine learning experiments
  • ▸Noise-aware quantum algorithm development

Notable Features

  • ▸Python-based quantum circuit construction
  • ▸High-fidelity simulation with noise models
  • ▸Interfaces with Google Quantum processors (Sycamore, etc.)
  • ▸Gate-level control including custom operations
  • ▸Integration with classical optimization routines

Origin & Creator

Cirq was developed by Google Research starting in 2017 to provide a Python-based framework for building quantum algorithms, simulations, and experiments, particularly for NISQ devices.

Industrial Note

Cirq is widely used in quantum algorithm research, NISQ hardware experiments, quantum simulation, optimization problems, and quantum machine learning.

Quick Explain

  • ▸Cirq allows developers to create and manipulate quantum circuits at the gate level.
  • ▸It provides simulation tools as well as interfaces for running circuits on Google quantum hardware.
  • ▸Cirq emphasizes control over noise, pulse-level operations, and optimization of circuits for near-term quantum devices.

Core Features

  • ▸Quantum circuit creation using `cirq.Circuit`
  • ▸Qubit definition with `cirq.GridQubit` or `cirq.LineQubit`
  • ▸Gate operations like `X`, `H`, `CNOT`, and custom gates
  • ▸Simulation via `cirq.Simulator` with or without noise
  • ▸Measurement and sampling analysis tools

Learning Path

  • ▸Learn basic Python programming
  • ▸Understand quantum computing principles
  • ▸Build quantum circuits using Cirq
  • ▸Simulate circuits and test algorithms
  • ▸Execute circuits on Google Quantum Engine and analyze results

Practical Examples

  • ▸Simulate a Bell state circuit
  • ▸Run Grover's search algorithm on a simulator
  • ▸Implement variational quantum circuits for optimization
  • ▸Test algorithms on Google Sycamore hardware
  • ▸Visualize circuit diagrams and measurement results

Comparisons

  • ▸Cirq vs Qiskit: Cirq targets Google hardware, Qiskit targets IBM devices
  • ▸Cirq vs Pennylane: Cirq focuses on NISQ circuits, Pennylane emphasizes quantum ML
  • ▸Cirq vs Braket: Braket supports multi-cloud, Cirq is Google-focused
  • ▸Cirq vs PyQuil: PyQuil is for Rigetti hardware, Cirq is Google-focused
  • ▸Cirq vs ProjectQ: Cirq is more NISQ-oriented with gate-level control

Strengths

  • ▸Strong support for NISQ device experimentation
  • ▸Flexible and modular for custom gate definitions
  • ▸Noise simulation and calibration tools
  • ▸Open-source and well-documented
  • ▸Supported by Google Research and growing community

Limitations

  • ▸Primarily optimized for Google quantum hardware
  • ▸Steeper learning curve for beginners compared to high-level frameworks
  • ▸Limited pre-built algorithm libraries compared to Qiskit
  • ▸Hardware availability constrained to Google's quantum processors
  • ▸Classical simulation of large circuits is exponentially costly

When NOT to Use

  • ▸If targeting only IBM or Rigetti hardware
  • ▸For classical-only computation problems
  • ▸When high-level algorithm libraries are preferred
  • ▸If Python workflow is not desired
  • ▸For extremely large circuits beyond classical simulation

Cheat Sheet

  • ▸cirq.Circuit() = create new circuit
  • ▸cirq.GridQubit(x, y) = define qubit at grid location
  • ▸qc.append(cirq.H(q)) = apply Hadamard gate to qubit q
  • ▸qc.append(cirq.CNOT(control, target)) = apply CNOT gate
  • ▸simulator.run(circuit) = execute circuit on simulator

FAQ

  • ▸Is Cirq free?
  • ▸Yes - open-source under Apache 2.0 license.
  • ▸Which quantum devices does Cirq support?
  • ▸Primarily Google Quantum processors and local simulators.
  • ▸Can Cirq simulate quantum algorithms?
  • ▸Yes - using `cirq.Simulator` with optional noise models.
  • ▸Does Cirq support quantum machine learning?
  • ▸Yes - integrates with TensorFlow Quantum for hybrid ML.
  • ▸Can Cirq handle optimization problems?
  • ▸Yes - through variational quantum circuits and classical optimization routines.

30-Day Skill Plan

  • ▸Week 1: Install Cirq and simulate basic circuits
  • ▸Week 2: Implement standard algorithms (Grover, Deutsch-Jozsa)
  • ▸Week 3: Explore noise modeling and optimizers
  • ▸Week 4: Execute experiments on Google quantum hardware
  • ▸Week 5: Integrate classical post-processing and hybrid pipelines

Final Summary

  • ▸Cirq is a Python framework for designing, simulating, and executing quantum circuits, optimized for NISQ devices.
  • ▸Supports gate-level control, noise modeling, and hardware execution.
  • ▸Integrates with classical optimization and machine learning pipelines.
  • ▸Visualization and simulation tools enable detailed analysis of quantum circuits.
  • ▸Widely used in research, industry, and education for quantum algorithm development.

Project Structure

  • ▸Notebooks/ - experiments and tutorials
  • ▸Circuits/ - custom quantum circuit definitions
  • ▸Simulations/ - results from simulator or hardware
  • ▸Data/ - measurement and analysis results
  • ▸Scripts/ - utility and automation scripts

Monetization

  • ▸Quantum algorithm consulting
  • ▸Education and training in quantum computing
  • ▸Hybrid classical-quantum optimization solutions
  • ▸Develop quantum machine learning pipelines
  • ▸Research collaboration and publications

Productivity Tips

  • ▸Start with local simulation before hardware execution
  • ▸Visualize circuits to debug quickly
  • ▸Modularize gates and subcircuits for reuse
  • ▸Cache results for reproducibility
  • ▸Use Cirq optimizers for circuit efficiency

Basic Concepts

  • ▸Qubit: fundamental quantum information unit
  • ▸Circuit: sequence of quantum gates applied to qubits
  • ▸Gate: quantum operation applied to qubits
  • ▸Moment: collection of gates applied simultaneously
  • ▸Simulator/Backend: environment to run circuits (classical or quantum hardware)

Official Docs

  • ▸https://quantumai.google/cirq
  • ▸https://github.com/quantumlib/Cirq

More Cirq Typing Exercises

Cirq Simple Quantum CircuitCirq Single Qubit RotationCirq Bell StateCirq GHZ StateCirq Random CircuitCirq Quantum Fourier TransformCirq Parameterized GateCirq Controlled GatesCirq Swap Gate Example

Practice Other Languages

CReactPythonC++RustTypeScriptKotlinPHPJavaC#RubyMqlCqlN1qlCypher