.. image:: https://raw.githubusercontent.com/quantumlib/Cirq/main/docs/images/Cirq_logo_color.png :target: https://github.com/quantumlib/cirq :alt: Cirq :width: 500px Cirq is a Python library for writing, manipulating, and optimizing quantum circuits and running them against quantum computers and simulators. .. image:: https://github.com/quantumlib/Cirq/actions/workflows/ci.yml/badge.svg?event=schedule :target: https://github.com/quantumlib/Cirq :alt: Build Status .. image:: https://codecov.io/gh/quantumlib/Cirq/branch/main/graph/badge.svg :target: https://codecov.io/gh/quantumlib/Cirq .. image:: https://badge.fury.io/py/cirq.svg :target: https://badge.fury.io/py/cirq Installation and Documentation ------------------------------ Cirq documentation is available at `quantumai.google/cirq `_. Documentation for the latest **pre-release** version of cirq (tracks the repository's main branch; what you get if you ``pip install cirq~=1.0.dev``), is available `here `__. Documentation for the latest **stable** version of cirq (what you get if you ``pip install cirq``) is available `here `__. - `Installation `_ - `Documentation `_ - `Tutorials `_ For a comprehensive list all of the interactive Jupyter Notebooks in our repo (including the ones not yet published to the site) open our repo in `Colab `_. 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: .. code-block:: python 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: .. code-block:: 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. .. image:: https://zenodo.org/badge/DOI/10.5281/zenodo.4062499.svg :target: https://doi.org/10.5281/zenodo.4062499 :alt: DOI 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. **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. Cirq is not an official Google product. Copyright 2019 The Cirq Developers