Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/quantumlib/Cirq
A Python framework for creating, editing, and invoking Noisy Intermediate Scale Quantum (NISQ) circuits.
https://github.com/quantumlib/Cirq
algorithms api cirq google google-quantum nisq python quantum quantum-algorithms quantum-circuit quantum-circuit-simulator quantum-computer-simulator quantum-computing quantum-development-kit quantum-information quantum-programming quantum-programming-language quantum-simulation sdk simulation
Last synced: 3 months ago
JSON representation
A Python framework for creating, editing, and invoking Noisy Intermediate Scale Quantum (NISQ) circuits.
- Host: GitHub
- URL: https://github.com/quantumlib/Cirq
- Owner: quantumlib
- License: apache-2.0
- Created: 2017-12-14T23:41:49.000Z (about 7 years ago)
- Default Branch: main
- Last Pushed: 2024-10-28T18:38:44.000Z (3 months ago)
- Last Synced: 2024-10-29T11:20:56.870Z (3 months ago)
- Topics: algorithms, api, cirq, google, google-quantum, nisq, python, quantum, quantum-algorithms, quantum-circuit, quantum-circuit-simulator, quantum-computer-simulator, quantum-computing, quantum-development-kit, quantum-information, quantum-programming, quantum-programming-language, quantum-simulation, sdk, simulation
- Language: Python
- Homepage:
- Size: 34 MB
- Stars: 4,266
- Watchers: 193
- Forks: 1,009
- Open Issues: 286
-
Metadata Files:
- Readme: README.rst
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
- Codeowners: .github/CODEOWNERS
- Authors: AUTHORS
Awesome Lists containing this project
- awesome - Cirq - A python framework for creating, editing, and invoking Noisy Intermediate Scale Quantum (NISQ) circuits. (Python)
- quantum-awesome - https://github.com/quantumlib/Cirq
- awesome-quantum-software - Cirq - Framework for creating, editing, and invoking Noisy Intermediate Scale Quantum (NISQ) circuits. (Quantum full-stack libraries)
- my-awesome-starred - quantumlib/Cirq - A Python framework for creating, editing, and invoking Noisy Intermediate-Scale Quantum (NISQ) circuits. (Python)
README
.. image:: https://raw.githubusercontent.com/quantumlib/Cirq/main/docs/images/Cirq_logo_color.png
:target: https://github.com/quantumlib/cirq
:alt: Cirq
:width: 500pxCirq 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/cirqInstallation 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=11000111111011001000Feature 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: DOICirq 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