Skip to content

tnemoz/iso

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

27 Commits
 
 
 
 
 
 
 
 

Repository files navigation

A repository for the ISO on Quantum Programming. The goal of the project was to implement several gates while respecting the complexity constraints.

Abstract

In this work, we design a generic quantum circuit to implement a recommendation system following the algorithm of Kerenidis and Prakash. This algorithm takes as input a binary matrix which has a good rank- approximation and returns a product recommendation for an user in time .

We discuss the limitations of implementing this algorithm on a real quantum computer and the differences between the high-level description of the algorithm and its low-level implementation. In particular, we discuss the reasons that could improve our design’s complexity in the future.

Gates implementation

Loading from QRAM

QRAM is a quantum memory storage structure that allows to create a quantum state associated to an arbitrary unitary real vector. That is, given a vector , we want to define a gate such that where is a quantum state whose amplitudes are coefficients of .

Separating quantum states according to a threshold

Given , we want to design efficiently the gate such that:

In order to do this, we design an algorithm that allows to compare a quantum state and a real number efficiently.

Installation

In order to test out the code in the notebooks, just run the following command to install cirq and jupyter. Note that the Python version you are using must be at least 3.6.0.

pip install jupyter cirq

Repository contents

The project report

A notebook containing the implementation of the Quantum Gates using cirq

The slides used for presenting this project

About

Repository for the ISO

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published