A framework for creating, editing, and invoking Noisy Intermediate Scale Quantum (NISQ) circuits.
Project description
Cirq is a Python library for writing, manipulating, and optimizing quantum circuits and running them against quantum computers and simulators.
Installation and Documentation
Cirq documentation is available at cirq.readthedocs.io.
Documentation for the latest unstable version of cirq (tracks the repository’s master branch; what you get if you pip install cirq-unstable), is available at cirq.readthedocs.io/latest.
Documentation for the latest stable version of cirq (what you get if you pip install cirq) is available at cirq.readthedocs.io/stable.
Hello Qubit
A simple example to get you up and running:
import cirq
# Pick a qubit.
qubit = cirq.GridQubit(0, 0)
# Create a circuit
circuit = cirq.Circuit(
cirq.X(qubit)**0.5, # Square root of NOT.
cirq.measure(qubit, key='m') # Measurement.
)
print("Circuit:")
print(circuit)
# Simulate the circuit several times.
simulator = cirq.Simulator()
result = simulator.run(circuit, repetitions=20)
print("Results:")
print(result)
Example output:
Circuit:
(0, 0): ───X^0.5───M('m')───
Results:
m=11000111111011001000
Contributing
We welcome contributions. Please follow these guidelines.
We use Github issues for tracking requests and bugs. Please post questions to the Quantum Computing Stack Exchange with the cirq tag. For informal discussions about Cirq, join our cirqdev Gitter channel.
See Also
For those interested in using quantum computers to solve problems in chemistry and materials science, we encourage exploring OpenFermion and its sister library for compiling quantum simulation algorithms in Cirq, OpenFermion-Cirq.
Alpha Disclaimer
Cirq is currently in alpha. We may change or remove parts of Cirq’s API when making new releases. To be informed of deprecations and breaking changes, subscribe to the cirq-announce google group mailing list.
Cirq is not an official Google product. Copyright 2019 The Cirq Developers
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.