Skip to content
/ Cirq Public
forked from quantumlib/Cirq

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

License

Notifications You must be signed in to change notification settings

rscircus/Cirq

This branch is 262 commits behind quantumlib/Cirq:main.

Folders and files

NameName
Last commit message
Last commit date
Jul 25, 2024
May 29, 2024
May 23, 2024
May 30, 2024
Aug 19, 2024
Aug 7, 2024
Aug 1, 2024
Aug 7, 2024
Aug 3, 2024
May 30, 2024
Jul 31, 2024
Aug 5, 2024
May 23, 2024
Jan 19, 2024
Mar 20, 2024
Jun 3, 2020
Jan 19, 2024
Mar 20, 2024
Aug 25, 2020
May 29, 2024
Dec 1, 2023
Mar 29, 2024
Mar 28, 2018
Jun 21, 2021
Apr 4, 2024
Jul 26, 2019
Mar 14, 2024
Nov 30, 2023
Oct 27, 2023
Aug 21, 2024
Mar 29, 2024
May 9, 2024

Repository files navigation

Cirq

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

Build Status

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.

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:

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

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

About

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

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 91.6%
  • Jupyter Notebook 6.9%
  • TypeScript 0.9%
  • Shell 0.6%
  • Dockerfile 0.0%
  • Scilab 0.0%