Skip to main content

A framework for creating, editing, and invoking Noisy Intermediate Scale Quantum (NISQ) circuits.

Project description

This is a development version of Cirq and may be unstable.

For the latest stable release of Cirq see here.

Cirq

Cirq is a Python library for writing, manipulating, and optimizing quantum circuits and running them against quantum computers and simulators.

Build Status https://badge.fury.io/py/cirq.svg Documentation Status

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.

For the latest news regarding Cirq, sign up to the Cirq-announce email list!

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

Feature requests / Bugs / Questions

If you have feature requests or you found a bug, please file them on Github.

For questions about how to use Cirq post to Quantum Computing Stack Exchange with the cirq tag.

How to cite Cirq

Cirq is uploaded to Zenodo automatically. Click on the badge below to see all the citation formats for all versions.

DOI

An equivalent BibTex format reference is below for all the versions:

@software{quantum_ai_team_and_collaborators_2020_4062499,
  author       = {Quantum AI team and collaborators},
  title        = {Cirq},
  month        = Oct,
  year         = 2020,
  publisher    = {Zenodo},
  doi          = {10.5281/zenodo.4062499},
  url          = {https://doi.org/10.5281/zenodo.4062499}
}

Cirq Contributors Community

We welcome contributions! Before opening your first PR, a good place to start is to read our guidelines.

We are dedicated to cultivating an open and inclusive community to build software for near term quantum computers. Please read our code of conduct for the rules of engagement within our community.

For real time informal discussions about Cirq, join our cirqdev Gitter channel, come hangout with us!

Cirq Cynque is our weekly meeting for contributors to discuss upcoming features, designs, issues, community and status of different efforts. To get an invitation please join the cirq-dev email list which also serves as yet another platform to discuss contributions and design ideas.

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.

For machine learning enthusiasts, Tensorflow Quantum is a great project to check out!

For a powerful quantum circuit simulator that integrates well with Cirq, we recommend looking at qsim.

Finally, ReCirq contains real world experiments using 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.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

File details

Details for the file cirq_unstable-0.10.0.dev20201020000336-py3-none-any.whl.

File metadata

  • Download URL: cirq_unstable-0.10.0.dev20201020000336-py3-none-any.whl
  • Upload date:
  • Size: 1.6 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/47.1.0 requests-toolbelt/0.9.1 tqdm/4.50.2 CPython/3.7.9

File hashes

Hashes for cirq_unstable-0.10.0.dev20201020000336-py3-none-any.whl
Algorithm Hash digest
SHA256 4c79844376cbc47b6937e552207e07665805c235dc34d71dcae74c5800bfd867
MD5 92e70303d5e6b2a101caf53352755861
BLAKE2b-256 b93aceb89ba17c9d44a3cb16722dacda782f97a2df77e5a8569b37608c3f3def

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page