Cirq (Google)
General
Developed by Google (however not an official product of Google)
Project website / official documentation:
Project site: https://quantumai.google/cirq
Documentation: https://quantumai.google/reference/python/cirq/all_symbols?version=nightly
Github: https://github.com/quantumlib/Cirq?tab=readme-ov-file
Author(s):
https://github.com/quantumlib/Cirq/graphs/contributors
License:
Apache License 2.0
Current version / version supported by LRZ:
Latest version as on pypi (pip manager): 1.3.0
Supported HPC systems
SuperMUC-NG: (access: https://doku.lrz.de/access-and-login-to-supermuc-ng-11482471.html ): Yes
Linux Cluster: (access: https://doku.lrz.de/linux-cluster-10745672.html ): Yes
LRZ AI systems : No
Eviden Qaptiva: (access: https://doku.lrz.de/atos-qlm-10745934.html ): Yes
Installation / deployment
Installation on LXC and SuperMuc-NG:
Requirement: Python>=3.9.0 (via virtual environments or conda environment) (Setting up virtual environments https://doku.lrz.de/faq-conda-and-python-virtual-environment-on-lrz-hpc-clusters-41616204.html)
# install the latest version of cirq pip install cirq
Instructions for installing additional components: https://quantumai.google/cirq/start/install
Example(s) for usage
Sample test script (need to additionally have numpy installed)
import cirq import numpy as np q = cirq.LineQubit.range(3) cir = cirq.Circuit() cir.append(cirq.H(q[0])) cir.append(cirq.CNOT(q[0], q[1])) cir.append(cirq.CNOT(q[0], q[2])) simulator = cirq.Simulator() result = simulator.simulate(cir) print(result.final_state_vector)
FAQ / Troubleshooting
Faster package doing similar stuff is qsimcirq: https://quantumai.google/qsim/tutorials/qsimcirq (offers several options on CPU/GPU architectures)