Cirq is a Python library for writing, manipulating, and optimizing quantum circuits and running them against quantum computers and simulators.
Follow these instructions.
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
See here or jump into the tutorial.
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 a 'cirq' tag. For informal discussions about Cirq, join our cirqdev Gitter channel.
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.
Cirq is currently in alpha. We are still making breaking changes. We will break your code when we make new releases. We recommend that you target a specific version of Cirq, and periodically bump to the latest release. That way you have control over when a breaking change affects you.
Cirq is not an official Google product. Copyright 2018 The Cirq Developers