Designing Variational Quantum Algorithms with TequilaTequila currently offers `2-point` as well as...

46
Designing Variational Quantum Algorithms with Tequila Alba Cervera-Lierta University of Toronto Quantum conversations Oct 28, 2020

Transcript of Designing Variational Quantum Algorithms with TequilaTequila currently offers `2-point` as well as...

Page 1: Designing Variational Quantum Algorithms with TequilaTequila currently offers `2-point` as well as `2-point-forward` and `2-point-backward` stencils as `method`. The method can also

Designing Variational Quantum Algorithms with Tequila

Alba Cervera-Lierta

University of Toronto

Quantum conversations

Oct 28, 2020

Page 2: Designing Variational Quantum Algorithms with TequilaTequila currently offers `2-point` as well as `2-point-forward` and `2-point-backward` stencils as `method`. The method can also

1. Why Tequila?

2. Tequila API

3. Basic usage

4. A chemistry example

5. A Quantum Machine Learning example

6. More Tequila!

7. Tequila 2.0

Outlook

©hi_yo1

Page 3: Designing Variational Quantum Algorithms with TequilaTequila currently offers `2-point` as well as `2-point-forward` and `2-point-backward` stencils as `method`. The method can also

The golden era of quantum languages…

Qibo

And manymore…

https://github.com/aspuru-guzik-group/tequila

Page 4: Designing Variational Quantum Algorithms with TequilaTequila currently offers `2-point` as well as `2-point-forward` and `2-point-backward` stencils as `method`. The method can also

The golden era of quantum languages…

…and quantum software tools…

Qibo

And manymore…

Mitiq

And manymore…

https://github.com/aspuru-guzik-group/tequila

Page 5: Designing Variational Quantum Algorithms with TequilaTequila currently offers `2-point` as well as `2-point-forward` and `2-point-backward` stencils as `method`. The method can also

The golden era of quantum languages…

…and quantum software tools…

…plus classical tools for the NISQ era

Qibo

And manymore…

Mitiq

And manymore…

And manymore…

https://github.com/aspuru-guzik-group/tequila

Page 6: Designing Variational Quantum Algorithms with TequilaTequila currently offers `2-point` as well as `2-point-forward` and `2-point-backward` stencils as `method`. The method can also

Which language should I use?

What if I want to run the same code in

different quantum computers?

What if the language doesn’t contain

the features that I need?

Qibo

Mitiq

https://github.com/aspuru-guzik-group/tequila

Page 7: Designing Variational Quantum Algorithms with TequilaTequila currently offers `2-point` as well as `2-point-forward` and `2-point-backward` stencils as `method`. The method can also

Unification, standarization, acceleration

A quantum language to simplify andaccelerate implementation of new ideas forquantum algorithms.

https://github.com/aspuru-guzik-group/tequila

Code

https://github.com/aspuru-guzik-group/tequila

Page 8: Designing Variational Quantum Algorithms with TequilaTequila currently offers `2-point` as well as `2-point-forward` and `2-point-backward` stencils as `method`. The method can also

Noisy Intermediate Scale Quantum computation

A few qubits

Noise

Decoherence

Classicaloptimizers

Different qubitsarchitectures

Something useful:

Quantum advantage

Quantum McGyver carrying a quantum advantage experiment

https://github.com/aspuru-guzik-group/tequila

Page 9: Designing Variational Quantum Algorithms with TequilaTequila currently offers `2-point` as well as `2-point-forward` and `2-point-backward` stencils as `method`. The method can also

Noisy Intermediate Scale Quantum computation

What can we do with a few qubits

How can we deal with the noise What can we do with a few noisy qubits

Hybrid quantum-classical algorithms Variational algorithms

Applications: chemistry, QML, etc require the knowledge of the classical techniques

to compare and test

https://github.com/aspuru-guzik-group/tequila

Many quantum computers in development; need to benchmark, compare and test.

Page 10: Designing Variational Quantum Algorithms with TequilaTequila currently offers `2-point` as well as `2-point-forward` and `2-point-backward` stencils as `method`. The method can also

NISQ software players

Quantum backends

Real (experiments) Simulators

Classical tools

OptimizersGradient methods

CompChem…

Abstractmanipulation

WavefunctionsQuantum gate

definitionNoise models

https://github.com/aspuru-guzik-group/tequila

Page 11: Designing Variational Quantum Algorithms with TequilaTequila currently offers `2-point` as well as `2-point-forward` and `2-point-backward` stencils as `method`. The method can also

Tequila API

https://github.com/aspuru-guzik-group/tequila

Code

Page 12: Designing Variational Quantum Algorithms with TequilaTequila currently offers `2-point` as well as `2-point-forward` and `2-point-backward` stencils as `method`. The method can also

Tequila API

https://github.com/aspuru-guzik-group/tequila

Objective function

f E Θ

Hamiltonian H

Operator

Quantum Circuit

𝑈 Θ

State

Ansatz

Expectation values

E Θ = 𝐻 𝑈 Θ

Pauli strings

- Wave-function- Draw circuit- Define gates

from Hermitianoperators

Options

- Noise- Sampling

Options

Molecule

Quantum backend(simulator or real)

Optimizer

- Method- Method options- Gradient- Initial values- …

Page 13: Designing Variational Quantum Algorithms with TequilaTequila currently offers `2-point` as well as `2-point-forward` and `2-point-backward` stencils as `method`. The method can also

Quantum backendssrc/tequila/simulators

https://github.com/aspuru-guzik-group/tequila

Page 14: Designing Variational Quantum Algorithms with TequilaTequila currently offers `2-point` as well as `2-point-forward` and `2-point-backward` stencils as `method`. The method can also

Basic quantum gates

FamilyPredefinedMembers

Arguments

Syntax exampleGate

ControlTarget

Angles Power

RotationalRx, Ry, Rz, CRx, CRy,

CRzYes

angle 𝜃No tq.gates.Rx 𝑒−𝑖

𝜃2𝜎𝑖 , 𝑖

= 𝑥, 𝑦, 𝑧

PhaseS (𝜙 = 𝜋/2), T (𝜙 = 𝜋/4)

Yesphi 𝜙

No tq.gates.S1 00 𝑒𝑖𝜙

Pauli

X, Y, Z,CX, CY, CZ,

CNOT, Toffoli

YesNone

Yes tq.gates.X 𝜎𝑖, 𝑖 = 𝑥, 𝑦, 𝑧

Hadamard H Yes None Yes tq.gates.H1

2

1 11 −1

SWAP SWAP Yes None Yes tq.gates.SWAP

https://github.com/aspuru-guzik-group/tequila

src/tequila/circuit/gates.py

Page 15: Designing Variational Quantum Algorithms with TequilaTequila currently offers `2-point` as well as `2-point-forward` and `2-point-backward` stencils as `method`. The method can also

General quantum gates

https://github.com/aspuru-guzik-group/tequila

src/tequila/circuit/gates.py

FamilyPredefinedMembers

Arguments

Syntax exampleGate

ControlTarget

Angles Power

ExponentialPauli string

None Yes angle 𝜃 No tq.gates.Rp 𝑒−𝑖𝜃2𝑓 𝜎

Trotterized None Yes

Generators,Angles,Trottersteps

No tq.gates.Trotterized

Page 16: Designing Variational Quantum Algorithms with TequilaTequila currently offers `2-point` as well as `2-point-forward` and `2-point-backward` stencils as `method`. The method can also

Objective: Tequila’s core

The class which represents mathematical manipulation of ExpectationValue and Variable objects.

src/tequila/objective

https://github.com/aspuru-guzik-group/tequila

Page 17: Designing Variational Quantum Algorithms with TequilaTequila currently offers `2-point` as well as `2-point-forward` and `2-point-backward` stencils as `method`. The method can also

Mandatory arguments:- objective- method

Optimizerssrc/tequila/optimizers

https://github.com/aspuru-guzik-group/tequila

tq.minimize

For quantum simulation:- backend: quantum simulator- samples: circuit shots to measure (None = wf simulation)- device: real or emulated quantum computer to sample from - noise: NoiseModel object to apply to the circuits simulated.

Additional keywords:- method_options: check the documentation of the method.- variables: list of the Variable’s you want to optimize (the default is all of them).- initial_values: which gives a start point to optimization (default is random initialization)- gradient: specifies which type of gradient will be used - silent: silence outputs

Page 18: Designing Variational Quantum Algorithms with TequilaTequila currently offers `2-point` as well as `2-point-forward` and `2-point-backward` stencils as `method`. The method can also

Optimizerssrc/tequila/optimizers

https://github.com/aspuru-guzik-group/tequila

Page 19: Designing Variational Quantum Algorithms with TequilaTequila currently offers `2-point` as well as `2-point-forward` and `2-point-backward` stencils as `method`. The method can also

Gradient methods

- Analytical gradients (Default):

- Numerical gradients:

- Custom gradient objectives

- Quantum natural gradient:

J. Stokes, J. Izaac, N. Killoran and G. Carleo, Quantum 4, 269 (2020)

src/tequila/optimizers

https://github.com/aspuru-guzik-group/tequila

gradient=None

gradient={'method':'2-point', "stepsize":1.e-4}

gradient={tq.Variable:tq.Objective}

gradient=‘qng’

Page 20: Designing Variational Quantum Algorithms with TequilaTequila currently offers `2-point` as well as `2-point-forward` and `2-point-backward` stencils as `method`. The method can also

Gradient methods

Accelerated gradient descent to achieve machine accuracy: Direct Inversion of the Iterative Subspace (DIIS)

One issue with gradient descent is that they are slow when it comes to converging to machine precision.

This is not really a problem in machine learning, where convergence to many digits is not needed, but it is an issue in chemistry.

diis={'tol':1e-1},

src/tequila/optimizers

https://github.com/aspuru-guzik-group/tequila

DIIS works best once we are pretty close to our solution.

DIIS kicks in when max(gradient) achieves ‘tol’

Page 21: Designing Variational Quantum Algorithms with TequilaTequila currently offers `2-point` as well as `2-point-forward` and `2-point-backward` stencils as `method`. The method can also

Gradient methods

Numerical and Customized Gradients

Tequila offers its own way of compiling numerical gradients which can then be usedthroughout all gradient based optimizers.

Numerical gradients of that type can lead to significantly cheaper gradients, especially ifmany expectation values are involved in the objective and/or if heavy recompilation ofparametrized gates is necessary.

Tequila currently offers `2-point` as well as `2-point-forward` and `2-point-backward` stencilsas `method`.The method can also be set to a python function performing the task.

src/tequila/optimizers

https://github.com/aspuru-guzik-group/tequila

Page 22: Designing Variational Quantum Algorithms with TequilaTequila currently offers `2-point` as well as `2-point-forward` and `2-point-backward` stencils as `method`. The method can also

Bayesian optimization

Bayesian optimization is a method of global optimization, often used to tune hyperparametersin classical learning. It has also seen use in the optimization of quantum circuits.

Tequila currently supports 2 different Bayesian optimization algorithms

- Phoenics

- GPyOpt

src/tequila/optimizers

https://github.com/aspuru-guzik-group/tequila

D. Zhu et. al., Science Advances 5, eaaw9918 (2019)

https://github.com/aspuru-guzik-group/phoenics

https://github.com/SheffieldML/GPyOpt

Page 23: Designing Variational Quantum Algorithms with TequilaTequila currently offers `2-point` as well as `2-point-forward` and `2-point-backward` stencils as `method`. The method can also

Noise models

Different simulation packages handle noise in radically different ways.

- Cirq and Qulacs: use noise channels, parametrized operations which are inserted into circuits.- Pyquil: asks its users to define noisy gate operations. - Qiskit: takes a dictionary-like object as an argument to its simulator, and applies the noise on the

user-chosen gates.

Tequila implements a simple framework for the application of noise, meant to be compatible with all our supported platforms. To do this, we make a few assumptions:

1. If noise is present, any gate may be affected by noise.2. The noise that affects 𝑛-qubit gates is independent of the noise on 𝑚-qubit gates.3. Noise probabilities are independent of position in the circuit. 4. The number of qubits involved in a gate, not the operation performed, dictates what noises

may occur (e.g. CNOT gate is not noisier than Controlled-Z gate).

src/tequila/circuit/noise.py

https://github.com/aspuru-guzik-group/tequila

Page 24: Designing Variational Quantum Algorithms with TequilaTequila currently offers `2-point` as well as `2-point-forward` and `2-point-backward` stencils as `method`. The method can also

Noise modelsTequila at present supports six common quantum noise operations, all of which can at present be employed by all the noise-supporting simulation backgrounds:

1. Bit flips: a probabilistic application of pauli X.2. Phase flips: a probabilistic application of pauli Z.3. Amplitude damps: take qubits in state |1> to |0>.4. Phase damps: different formalization of the phase flip.5. Phase-Amplitude damps: simultaneously perform said operations.6. (Symmetric) depolarizing: (equi)probabilistically performs pauli X, Y, and Z.

NoiseModel’s combine with each other through addition, creating a new NoiseModel with all the operations of the two summands.

Noise is only supported when sampling.

Tequila supports the use of device-noise-emulation for those backends.

https://github.com/aspuru-guzik-group/tequila

noise=my_noise_model

noise='device’

Page 25: Designing Variational Quantum Algorithms with TequilaTequila currently offers `2-point` as well as `2-point-forward` and `2-point-backward` stencils as `method`. The method can also

Basic usage

Page 26: Designing Variational Quantum Algorithms with TequilaTequila currently offers `2-point` as well as `2-point-forward` and `2-point-backward` stencils as `method`. The method can also

Creating quantum circuits

https://github.com/aspuru-guzik-group/tequila

Page 27: Designing Variational Quantum Algorithms with TequilaTequila currently offers `2-point` as well as `2-point-forward` and `2-point-backward` stencils as `method`. The method can also

Quantum circuit gates

Power gates

Predefined gate vs Pauli string + control-target definition

Pauli string vs Trotterization

https://github.com/aspuru-guzik-group/tequila

Page 28: Designing Variational Quantum Algorithms with TequilaTequila currently offers `2-point` as well as `2-point-forward` and `2-point-backward` stencils as `method`. The method can also

Wavefunction and measurements

https://github.com/aspuru-guzik-group/tequila

Page 29: Designing Variational Quantum Algorithms with TequilaTequila currently offers `2-point` as well as `2-point-forward` and `2-point-backward` stencils as `method`. The method can also

Parameterized quantum circuits

https://github.com/aspuru-guzik-group/tequila

Page 30: Designing Variational Quantum Algorithms with TequilaTequila currently offers `2-point` as well as `2-point-forward` and `2-point-backward` stencils as `method`. The method can also

Define a Hamiltonian

https://github.com/aspuru-guzik-group/tequila

Page 31: Designing Variational Quantum Algorithms with TequilaTequila currently offers `2-point` as well as `2-point-forward` and `2-point-backward` stencils as `method`. The method can also

Create an objective

Objectives can be differenciated!

https://github.com/aspuru-guzik-group/tequila

Page 32: Designing Variational Quantum Algorithms with TequilaTequila currently offers `2-point` as well as `2-point-forward` and `2-point-backward` stencils as `method`. The method can also

All in one

Points that phoenics visited

https://github.com/aspuru-guzik-group/tequila

Page 33: Designing Variational Quantum Algorithms with TequilaTequila currently offers `2-point` as well as `2-point-forward` and `2-point-backward` stencils as `method`. The method can also

A chemistry example

Page 34: Designing Variational Quantum Algorithms with TequilaTequila currently offers `2-point` as well as `2-point-forward` and `2-point-backward` stencils as `method`. The method can also

Define the molecule

https://github.com/aspuru-guzik-group/tequila

Page 35: Designing Variational Quantum Algorithms with TequilaTequila currently offers `2-point` as well as `2-point-forward` and `2-point-backward` stencils as `method`. The method can also

Obtain the Hamiltonian

Using the Jordan-Wigner transformatin (default)

Specifying the transformation

Select active space (to reduce the number of terms of the Hamiltonian)

https://github.com/aspuru-guzik-group/tequila

Page 36: Designing Variational Quantum Algorithms with TequilaTequila currently offers `2-point` as well as `2-point-forward` and `2-point-backward` stencils as `method`. The method can also

Classical methods

https://github.com/aspuru-guzik-group/tequila

Page 37: Designing Variational Quantum Algorithms with TequilaTequila currently offers `2-point` as well as `2-point-forward` and `2-point-backward` stencils as `method`. The method can also

VQE example: LiH

https://github.com/aspuru-guzik-group/tequila

Page 38: Designing Variational Quantum Algorithms with TequilaTequila currently offers `2-point` as well as `2-point-forward` and `2-point-backward` stencils as `method`. The method can also

A QML example

Based on

Data re-uploading for a universal quantum classifierA. Pérez-Salinas, A. Cervera-Lierta, E. Gil-Fuster and J. I. LatorreQuantum 4, 226 (2020).

Page 39: Designing Variational Quantum Algorithms with TequilaTequila currently offers `2-point` as well as `2-point-forward` and `2-point-backward` stencils as `method`. The method can also

Fidelity and wavefunctions

https://github.com/aspuru-guzik-group/tequila

We can obtain a wavefunction from:1. String2. Array3. Quantum circuit

2 methods to compute the fidelity:

1 2

Page 40: Designing Variational Quantum Algorithms with TequilaTequila currently offers `2-point` as well as `2-point-forward` and `2-point-backward` stencils as `method`. The method can also

Single-qubit quantum classifier

A. Pérez-Salinas, A. Cervera-Lierta, E. Gil-Fuster and J. I. Latorre, Quantum 4, 226 (2020)

The layer:

The model:

The cost function:

|𝟎

|𝟏

Class 0

Class 1Target statewavefunction

Circuit statewavefunction

Page 41: Designing Variational Quantum Algorithms with TequilaTequila currently offers `2-point` as well as `2-point-forward` and `2-point-backward` stencils as `method`. The method can also

Single-qubit quantum classifier

Quantum classifier

Loss function generator

A. Pérez-Salinas, A. Cervera-Lierta, E. Gil-Fuster and J. I. Latorre, Quantum 4, 226 (2020)

Target state wavefunction generator

Page 42: Designing Variational Quantum Algorithms with TequilaTequila currently offers `2-point` as well as `2-point-forward` and `2-point-backward` stencils as `method`. The method can also

Single-qubit quantum classifierTraining

A. Pérez-Salinas, A. Cervera-Lierta, E. Gil-Fuster and J. I. Latorre, Quantum 4, 226 (2020)

Page 43: Designing Variational Quantum Algorithms with TequilaTequila currently offers `2-point` as well as `2-point-forward` and `2-point-backward` stencils as `method`. The method can also

Single-qubit quantum classifierTest

A. Pérez-Salinas, A. Cervera-Lierta, E. Gil-Fuster and J. I. Latorre, Quantum 4, 226 (2020)

Page 44: Designing Variational Quantum Algorithms with TequilaTequila currently offers `2-point` as well as `2-point-forward` and `2-point-backward` stencils as `method`. The method can also

Projects that use Tequila

Page 45: Designing Variational Quantum Algorithms with TequilaTequila currently offers `2-point` as well as `2-point-forward` and `2-point-backward` stencils as `method`. The method can also

Tequila 2.0

New quantum backends- Orquestra- Qibo- PyQuest- IntelQS

New libraries- Mitiq- TensorFlow

Any suggestions, comments and recommendations?

Would you like to be part of Tequila 2.0?

Contact us!

Page 46: Designing Variational Quantum Algorithms with TequilaTequila currently offers `2-point` as well as `2-point-forward` and `2-point-backward` stencils as `method`. The method can also

Tzu-Ching YenVladislav Vertelezkyi

Maha KesebiArtur Izmaylov