Cirq

From Wikipedia, the free encyclopedia
Cirq
Developersquantumlib
Implementation languagePython
LicenseApache license
WebsiteGitHub

Cirq is an open-source framework for noisy intermediate scale quantum (NISQ) computers.[1]

History[edit]

Cirq was developed by the Google AI Quantum Team, and the public alpha was announced at the International Workshop on Quantum Software and Quantum Machine Learning on July 18, 2018.[2] A demo by QC Ware showed an implementation of QAOA solving an example of the maximum cut problem being solved on a Cirq simulator.[3]

Usage[edit]

Quantum programs in Cirq are represented by "Circuit" which is made up of a series of "Moments" representing slices of quantum gates that should be applied at the same time.[4] The programs can be executed on local simulators[5] or against hardware supplied by IonQ, Pasqal,[6] Rigetti, and Alpine Quantum Technologies[7]

The following example shows how to create and measure a Bell state in Cirq.

import cirq

# Pick qubits
qubit0 = cirq.GridQubit(0, 0)
qubit1 = cirq.GridQubit(0, 1)

# Create a circuit
circuit = cirq.Circuit.from_ops(
    cirq.H(qubit0),
    cirq.CNOT(qubit0, qubit1),
    cirq.measure(qubit0, key="m0"),
    cirq.measure(qubit1, key="m1")
)

Printing the circuit displays its diagram

print(circuit)
# prints
# (0, 0): ───H───@───M('m0')───
#                │
# (0, 1): ───────X───M('m1')───

Simulating the circuit repeatedly shows that the measurements of the qubits are correlated.

simulator = cirq.Simulator()
result = simulator.run(circuit, repetitions=5)
print(result)
# prints
# m0=11010
# m1=11010

Projects[edit]

OpenFermion[edit]

OpenFermion is a library that compiles quantum simulation algorithms to Cirq.[2]

TensorFlow Quantum[edit]

TensorFlow Quantum is an extension of TensorFlow that allows TensorFlow to be used to explore hybrid classical-quantum machine learning algorithms.[8]

ReCirq[edit]

ReCirq is a repository of research projects done using Cirq.[9]

Qsim Cirq[edit]

Qsim is a high performance wave function simulator that leverages gate fusing, AVS/FMA instructions, and OpenMP to achieve fast simulation rates. Qsimcirq allows one to use qsim from within Cirq.[10]

References[edit]

  1. ^ Fingerhuth, Mark; Babej, Tomáš; Wittek, Peter (2018). "Open source software in quantum computing". PLOS ONE. 13 (12): e0208561. arXiv:1812.09167. Bibcode:2018PLoSO..1308561F. doi:10.1371/journal.pone.0208561. PMC 6301779. PMID 30571700.
  2. ^ a b Ho, Alan; Bacon, Dave (2018-07-18). "Announcing Cirq: An Open Source Framework for NISQ Algorithms". Google AI Blog. Google AI Quantum Team. Retrieved 2019-03-06.
  3. ^ "public_demos/max_cut_cirq.py at master · qcware/public_demos · GitHub". GitHub. 20 July 2018. Archived from the original on 20 July 2018. Retrieved 29 October 2019.
  4. ^ "Cirq Circuits". Google Quantum AI website. Google AI Quantum Team. Retrieved 2022-07-06.
  5. ^ "Cirq Simulation". Google Quantum AI website. Retrieved 2022-07-06.
  6. ^ "Pasqal".
  7. ^ "AQT".
  8. ^ "TensorFlow Quantum". TensorFlow. Retrieved 2022-07-06.
  9. ^ "ReCirq". Google Quantum Github. Retrieved 2022-07-06.
  10. ^ "qsimcirq". Retrieved 2022-07-06.