Cirq – software for writing, manipulating, and optimizing quantum circuits and then running them against quantum computers and simulators. Cirq attempts to expose the details of hardware, instead of abstracting them away, because, in the Noisy Intermediate-Scale Quantum (NISQ) regime, these details determine whether or not it is possible to execute a circuit at all.
Cirq enables researchers to write quantum algorithms for specific quantum processors. It gives users fine-tuned control over quantum circuits, specifying gate behaviour using native gates, placing these gates appropriately on the device, and scheduling the timing of these gates within the constraints of the quantum hardware. Data structures are optimized for writing and compiling these quantum circuits to allow users to get the most out of NISQ architectures. Quantum programs in Cirq are represented by “Circuit” and “Schedule” where “Circuit” represents a Quantum circuit and “Schedule” represents a Quantum circuit with timing information. Cirq supports running these algorithms locally on a simulator, and is designed to easily integrate with future quantum hardware or larger simulators via the cloud.
![](https://i2.wp.com/ml2quantum.com/wp-content/uploads/2020/05/cirq-overview.png?fit=810%2C387&ssl=1)
OpenFermion-Cirq first Cirq Application, which compiles quantum simulation algorithms. It uses the latest advances in building low depth quantum algorithms for quantum chemistry problems to enable users to go from the details of a chemical problem to highly optimized quantum circuits customized to run on particular hardware. Quantum computing will require strong cross-industry and academic collaborations if it is going to realize its full potential. Another examples of Cirq applications:
- Zapata Computing: simulation of a quantum autoencoder (example code, video tutorial)
- QC Ware: QAOA implementation and integration into QC Ware’s AQUA platform (example code, video tutorial)
- Quantum Benchmark: integration of True-Q software tools for assessing and extending hardware capabilities (video tutorial)
- Cambridge Quantum Computing: integration of proprietary quantum compiler t|ket> (video tutorial)
- NASA: architecture-aware compiler based on temporal-planning for QAOA (slides) and simulator of quantum computers (slides)
Cirq provides higher-level syntax to manage typical quantum computing abstractions, such as a circuit, logical operations on qubits, or measurements. It provides out-of-the-box support for local simulation, but according to Google Cirq higher-level instructions can also be translated into quantum circuits for Google’s Bristlecone processor, and can be used to access its Cloud version.
Subscribe to get the latest updates: