Quantum Computing with Cirq Framework Training Course


21 hours (usually 3 days including breaks)


  • An understanding of software and hardware computing concepts.
  • An understanding of complex numbers and linear algebra.


  • Developers
  • Scientists
  • Engineers


Quantum computers are machines that are built on the principles of quantum mechanics. Unlike classical computers which rely on bits that can only exist in one of two states (0 or 1), quantum computers use quantum bits which can exist in multiple states at once. Quantum computers are expected to process algorithms and solve problems much faster than classical computers.

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

In this instructor-led, live training (onsite or remote), participants will learn the fundamentals of quantum computing as they step through the development of algorithms targeting quantum computers.

By the end of this training, participants will be able to:

  • Set up the necessary development environment to start creating quantum circuits.
  • Control gate behavior using the gate’s native counterpart.
  • Improve on quibit inaccuracies using Cirq.
  • Write and execute a quantum circuit to run against a NISQ based quantum computer simulator.

Format of the Course

  • Interactive lecture and discussion.
  • Lots of exercises and practice.
  • Hands-on implementation in a live-lab environment.

Course Customization Options

  • To request a customized training for this course, please contact us to arrange.
  • To learn more about Ciq Framework, please visit: https://github.com/quantumlib/Cirq

Course Outline


Quantum Information Theory

  • The uncertainty theory
  • Superposition and entanglement
  • Subatomic particles

Overview of Classic Computers

  • Bits
  • Binary systems
  • Transistors

Quantum Computing

  • Topological codes
  • Circuit QED
  • Quibits

Understanding Quantum Computers and NISQ Processors

  • Algorithms for the NISQ Architecture

Overview of Cirq Framework

Overview of Quantum Development Kits

Setting Up the Quantum Development Environment

Cirq Data Structures and Syntax

Preparing the Quantum Machine Simulator

Case Study: Low Depth Quantum Algorithms for Quantum Chemistry Problems

Writing a Quantum Algorithm

Controlling Quantum Circuits

Specifying Gate Behavior and Placement

Scheduling the Timing of Gates

Compiling the Algorithm

Dealing with the Constraints of Quantum Hardware

Running the Algorithm on a Local Simulator

Testing and Debugging an Algorithm

Integration with Cloud Simulators

Integration with Future Quantum Hardware


The Future of Quantum Computing
Summary and Conclusion

Quantum machine learning algorithms


The package contains core algorithms such as classifiers and classifiers.

Machine Learning Base Classes

TrainableModelBase class for ML model that defines a scikit-learn like interface for Estimators.
ObjectiveFunctionAn abstract objective function.
SerializableModelMixinProvides convenient methods for saving and loading models.

Machine Learning Objective Functions

BinaryObjectiveFunctionAn objective function for binary representation of the output.
MultiClassObjectiveFunctionAn objective function for multiclass representation of the output.
OneHotObjectiveFunctionAn objective function for one hot encoding representation of the output.



Algorithms for data classification.

PegasosQSVCImplements Pegasos Quantum Support Vector Classifier algorithm.
QSVCQuantum Support Vector Classifier that extends the scikit-learn sklearn.svm.SVC classifier and introduces an additional quantum_kernel parameter.
NeuralNetworkClassifierImplements a basic quantum neural network classifier.
VQCA convenient Variational Quantum Classifier implementation.


Quantum Support Vector Regressor.

QSVRQuantum Support Vector Regressor that extends the scikit-learn sklearn.svm.SVR regressor and introduces an additional quantum_kernel parameter.
NeuralNetworkRegressorImplements a basic quantum neural network regressor.
VQRA convenient Variational Quantum Regressor implementation.

Distribution Learners

DiscriminativeNetworkBase class for discriminative Quantum or Classical Neural Networks.
GenerativeNetworkBase class for generative Quantum and Classical Neural Networks.
NumPyDiscriminatorDiscriminator based on NumPy
PyTorchDiscriminatorDiscriminator based on PyTorch
QuantumGeneratorQuantum Generator.