CALIFORNIA STATE UNIVERSITY, NORTHRIDGE

ANALYSIS ON QUANTUM COMPUTATION WITH A SPECIAL EMPHASIS ON EMPIRICAL SIMULATION OF QUANTUM ALGORITHMS

A thesis submitted in partial fulfilment of the requirements for the degree of Master of Science in Computer Science

By

ARINDAM MISHRA

MAY 2020

©Copyright by ARINDAM MISHRA, 2020 All Rights Reserved

ii

The thesis of Arindam Mishra is approved:

______

Katya Mkrtchyan, Ph.D. Date

______Robert D McIlhenny, Ph.D. Date

______John Noga, Ph.D., Chair Date

California State University, Northridge

iii

DEDICATION

I dedicate this paper to my grandmother Shivani Mishra, my parents Milan and Deepali Mishra, my uncle and aunt Kalyan and Chitra Mishra, and my two sweet sisters Ishani and Aishwarya Mishra, with my gratitude for their support and motivations throughout my life.

iv

Table of Contents

COPYRIGHT ii

DEDICATION ...... iv LIST OF TABLES ...... vii LIST OF FIGURES ...... viii ABSTRACT ...... ix Chapter One ...... 1 1.1 INTRODUCTION ...... 1 1.1.1 BACKGROUND ...... 1 1.1.2 THESIS COVERAGE AND APPROACH ...... 2 1.1.3 MOTIVATION ...... 4 1.2 TOOLS USED ...... 5 1.2.1 IBM Q EXPERIENCE ...... 5 1.2.2 QISKIT ...... 6 Chapter Two...... 7 2.1 – QUANTUM ANALOGOUS TO BIT ...... 7 2.1.1 DEFINITION ...... 7 2.1.2 QUBIT REPRESENTATION ...... 7 2.2 QUANTUM GATES ...... 8 2.2.1 QUANTUM GATE TYPES ...... 8 2.2.2 CLASSICAL AND QUANTUM GATES ...... 9 2.3 QUBIT ROBUSTNESS ...... 10 2.3.1 DIVINCENZO CRITERIA ...... 10 2.3.2 QUANTUM COHERENCE AND GATE TIME ...... 11 2.4 QUBIT MODALITY ...... 12 2.4.1 QUBIT TECHNOLOGIES ...... 12 2.4.2 AND NUCLEAR ...... 12 2.4.3 NEUTRAL ATOMS AND TRAPPED IONS ...... 14 2.4.4 SUPERCONDUCTING ...... 15 Chapter Three...... 17 3.1 QUANTUM ALGORITHMS ...... 17 3.1.1 SIMON ALGORITHM ...... 17 IMPLEMENTATION ...... 18 3.1.2 QUANTUM FOURIER TRANSFORMATION ALGORITHM ...... 21 IMPLEMENTATION ...... 22

v

3.1.3 SHOR’S ALGORITHM...... 22 3.2. QUANTUM SUPREMACY ...... 23 Chapter Four ...... 24 4.1 DEUTSCH–JOZSA ALGORITHM ...... 24 4.1.1 THE ALGORITHM ...... 24 4.1.2 IMPLEMENTATION ...... 24 4.1.3 ANALYSIS AND INTERPRETATION OF RESULTS ...... 31 4.1.4 OUTCOME AND ASSOCIATED FUTURISTIC WORKS ...... 32 Chapter Five ...... 33 5.1 PRACTICAL QUANTUM COMPUTERS AND CURRENT STANDING IN THE QUANTUM WORLD ...... 33 5.1.1 NISQ ERA ...... 33 5.1.1 FEW IMPORTANT EXPERIMENTS WORTH MENTION ...... 34 5.2 FUTURE SCOPES AND POSSIBILITIES IN THE QUANTUM COMPUTATION...... 35 5.2.1 QUANTUM COMPUTATIONS ADVANTAGE ...... 35 5.2.2 FUTURE SCOPE ...... 35 Chapter Six...... 37 6.1 FUTURE WORKS ...... 37 Chapter Seven ...... 38 7.1 CONCLUSION ...... 38 REFERENCES ...... 39 APPENDIX ...... 40 A.1 LIST OF DIRAC NOTATIONS ...... 40 A.2 LINEAR ALGEBRA ...... 40 A.3 PYTHON CODE FOR QASM ...... 41

vi

LIST OF TABLES

Table 2. 1 Quantum Gates with Matrix representation ...... 9 Table 2. 2 Truth Table for ...... 10 Table 2. 3 DiVincenzo Criteria ...... 11 Table 3. 1Simon's Algorithm input ...... 18 Table A 1 Dirac notions for Quantum Mechanical Operations ...... 40

vii

LIST OF FIGURES Figure 1. 1 Moore’s Law depicting the number of transistors in a processor over the time...... 1 Figure 1. 2 Superconducting quantum processor (source: IBM) and ENIAC (source -Wikipedia) ...... 2 Figure 1. 3 Qubit arrangement for ibmqx2 and ibmqx4 ...... 5 Figure 2. 1 Bloch Sphere ...... 8 Figure 2. 2 Toffoli gate circuit representation ...... 10 Figure 2. 3 Phosphorus doped silicon ion with energy levels of electron spins as qubit (source: Nature) ...... 13 Figure 2. 4 Phosphorus doped silicon ion with energy levels of nuclear spins as qubit (source: Nature) ...... 14 Figure 2. 5 LC Circuit oscillator ...... 15 Figure 3. 1 Quantum representation of Simon's Algorithm ...... 18 Figure 3. 2 for Simon's Algorithm ...... 19 Figure 3. 3 Histogram for Simon’s ‘Algorithm on Ideal Simulator ...... 19 Figure 3. 4 QASM code for Simon's Algorithm ...... 20 Figure 3. 5 Transpiled Circuit on ibmqx02 ...... 20 Figure 3. 6 Histogram for Simon’s ‘Algorithm on ibmqx02 ...... 20 Figure 3. 7 Quantum Fourier Transformation circuit ...... 22 Figure 4. 1 Deutsch-Jozsa Algorithm Theoretical Model ...... 25 Figure 4. 2 Quantum Circuit for DJ Algorithm with CNOT Oracle ...... 27 Figure 4. 3 Summarized result after running the DJ algorithm with CNOT oracle on a Simulator ...... 27 Figure 4. 4 Tranpiled circuit for the DJ algorithm with a CNOT oracle...... 28 Figure 4. 5 Summarized result after running the DJ algorithm with CNOT oracle on a ibmqx4 ...... 28 Figure 4. 6 Quantum Circuit for DJ Algorithm with passthrough Oracle...... 29 Figure 4. 7 Summarized result after running the DJ algorithm with passthrough oracle on a simulator ...... 29 Figure 4. 8 Tranpiled circuit for the DJ algorithm with a passthrough oracle ...... 29 Figure 4. 9 Summarized result DJ algorithm with passthrough oracle on a ibmqx4 ...... 29 Figure 4. 10 QASM code for DJ Algorithm 3 bit balanced ...... 30 Figure 4. 11 Quantum Circuit for 3bit size DJ Algorithm for a balanced oracle ...... 30 Figure 4. 12 Summary results of 8192 shots on a simulator ...... 31 Figure 4. 13 Transpiled circuit of the e bit DJ algorithm on ibmqx4 ...... 31 Figure 4. 14 Summarized result of the 8192 shots for a balanced 3-bit DJ algorithm ...... 31 Figure 5. 1 Computation Capacity of the Quantum Circuit (source: MIT)...... 34 Figure 5. 2 Quantum Speed up(source: MIT) ...... 35

viii

ABSTRACT

ANALYSIS ON QUANTUM COMPUTATION WITH A SPECIAL EMPHASIS ON EMPIRICAL SIMULATION OF QUANTUM ALGORITHMS

By

ARINDAM MISHRA

Master of Science in Computer Science

Algorithms are the building block for the computer science and has played the role of revolutionizing the conventional computers from theoretical to practical aspects. Now with the evolving time and leap of technological advancement it’s time to have the algorithmic analysis done on newer prospect of computer science ' Quantum Computers'.

This Dissertation/Thesis is one such approach to provide an overview on quantum computation techniques like qubit modality and different approach in Quantum Computation with emphasis on implementing two specific algorithms namely Simon’s Algorithm and Deutsch Jozsa Algorithm on a simulator and a real quantum computer. It is also an attempt to compare the results from an ideal system to practically available quantum computers

ix

Chapter One

1.1 INTRODUCTION

1.1.1 BACKGROUND

Harnessing from one of the iconic discoveries of the 20th Century, Quantum Mechanics and

utilizing the entanglement and superimposition principles of the quantum particles, idea of

development of a new computing technology “” came into existence. In

the early 1980s, Richard Feynman suggested that if we want to simulate a quantum system, a

task which is considered daunting for a classical computer, we should in fact use the quantum

system to perform the simulation. Quantum Computers are not an evolutionary development

based on our existing conventional approach where the performance increase had been

previously followed by Moore’s Law type scaling as shown in Figure 1.1, but it’s a whole new

paradigm based on a totally different underlying physical concept.

Figure 1. 1 Moore’s Law depicting the number of transistors in a processor over the time.

Many approaches have already been taken with more and more computation power packed in few millimetres or even nanometres through Integrated Circuits (ICs). In fact, it was the one of the biggest revolutions of the past decade. As a result, me see more compact and efficient devices with remarkably high computational power. All these have made great impact to everyone from common person to top

1 researches across the domains. We should also give an applause on the progress we made from the first vacuum -tube based computers viz ENIAC as shown in Figure 1.2, to modern computers like the smartphones we carry. In fact, the Quantum computers (example- superconducting quantum computer at IBM research) are now more over in the same stage as ENIAC which can be related in the below

Figure 1.2

Figure 1. 2 Superconducting quantum processor (source: IBM) and ENIAC (source -Wikipedia)

This brings us to the question Why Quantum Computers? Answer to this is that even after all the progress made by our classical computing approach there are endless list of problems where classical computers are either prohibitive or computing through them is impossible. Many of our real-world examples are based on the inability of the classical computing like our secure connectivity and encryption techniques.

Quantum computing approach on other hand opens the whole new way of looking into the same problems. Through we are not sure when will a fully functional quantum computer efficient enough to run the real world algorithms will come into existence but surely it has great potential to answer questions in areas such as Cybersecurity, Material science, Chemistry, Pharmaceuticals, Machine

Learnings and Optimizations, just to name few.

1.1.2 THESIS COVERAGE AND APPROACH

As Quantum Computing itself is very vast field and has different areas of research in progress, I would like to make this thesis little comprehensive and categorized into total of seven chapters.

2

Categorically describing the Chapter one all about the background and introduction to this field along with the details of the upcoming chapters, that I am covering in this section. Next section to this chapter

1.1.3 would be more about my motivations to choose this topic and my future aspirations to contribute to the field.

Chapter two mostly details the qubit and various representations we encounter with based on the acceptance of the scientific community and standard texts. It also details out the qubit which can be thought of a basic building block for the quantum computation. It would also outline the tools and software used in the thesis along with documents and manuals put in the reference.

Coming to the operators and operation that we do to the qubits in the form of quantum gates will be described as per any standard text written on quantum. For this part I build my base with minor custom changes with the help of book, considered Bible for this field “ Quantum Computation and Quantum

Information” (Chuang, Michael A. Neilsen & Issac L. 2016). Also, chapter two would have the details on the concepts associated while dealing with the Qubits like Qubit modality

Chapter Three is the crux of the computer science into the quantum computation mostly dealing with the Algorithms. As a computer science student, I have gone through numerous algorithms in the classical form. In all the classes taken both from the Department of Computer Science and Department of Mathematics, Professors have given special emphasis on the algorithmic process. Same goes with the Quantum computational approach where we are trying to envision the futuristic and fully functional algorithm in the form for various algorithms. Though are not numerous quantum algorithms and each one of them has its own importance I will be covering the one I thought is the most important and was able to cover in this timeframe. From my classical knowledge of algorithms and from standard textbook followed in the class of Advanced Algorithms and Complexity, “Algorithm Design” by (Jon Kleinberg

& Eva Tardos 2017) algorithms has to be associated with complexities in terms of time and space. Same goes with Quantum algorithms. Simon’s algorithm was implemented on a simulator and 5-qubit quantum computer along with basic coverage for Quantum Fourier Transformation Algorithm and

Shor’s Algorithm. (without implementation)

3

Chapter Four is the special emphasis on the Deutsch-Jozsa Algorithm and I go by defining and then implementation of the algorithm using the open source and IBM owned tools. Implementation goes with the breaking down the algorithm into steps for 1 bit size and thereafter implementing it on simulator and 5-qubit with input size one and three.

Chapter Five discusses the practical stages of the present-day Quantum Computers and how can we deal with the different challenges like Noise and Decoherence with the use of NISQ style quantum computers along with few experiments which were taken up in this field.

Covering the futuristic scope, I would put all the futuristic visions in the Chapter Six.

At the end I would like to summarize the whole thesis and lessons learnt in the last and final Chapter

Seven.

My approach in this thesis is to present the basics and cover the multidirectional implementation of the

Quantum Computational technologies along with representing the existing quantum algorithms through

IBM Q quantum circuit diagrams. The list of algorithms in no order would be

i) Deutsch Jozsa algorithm with special emphasis

ii) Simon’s algorithm

iii) Shor’s Algorithm

iv) Quantum Fourier Transformation Algorithm or QFT

1.1.3 MOTIVATION

Computer Science and Mathematics as a field of study has been inquisitive to me from the early childhood. Science in general empowers one to be an explorer which can be summarized from one of the quotes from Sir Isaac Newton

“I do not know what I may appear to the world, but to myself I seem to have been only like a boy playing on the sea-shore, and diverting myself in now and then finding a smoother pebble or a prettier shell than ordinary, whilst the great ocean of truth lay all undiscovered before me.”

4

As an effort to look for something distinctive I took few graduate level courses from

Department of Mathematics, Department of Physics along with Department of Computer

Science. I feel this thesis is one of my first approach to give a dive on the endless futuristic possibilities in Quantum Computation. I would like to give a special thanks to my advisor Prof.

John Noga to motivate me take up the challenge of writing this thesis in a relatively new field of science “Quantum Computation and ”. Also, I would like to thank my parents for all the emotional supports and putting trust in me all the time.

1.2 TOOLS USED

1.2.1 IBM Q EXPERIENCE

IBM Q provides a platform to implement algorithms both graphical quantum circuit composer and text- based programs (QASM- Quantum Assembly Language). This platform provides the option of running the program of a real quantum computer (limited access at the time of writing this thesis) or on a simulator.

One of the Cloud based Quantum Computer used while executing code and analysing result was

‘ibmqx2’. This is a 5-qubit cloud-based quantum computer made available from IBM. There are many more and sometime the results may vary based on the qubit arrangements and error associated with the system.

Figure 1. 3 Qubit arrangement for ibmqx2 and ibmqx4

5

1.2.2 QISKIT

Qiskit is an open-source quantum computing software development framework for leveraging today's quantum processors in research, education, and business. (IBM 2020) Primarily there are four elements to the Qiskit library namely Terra, Aer, Aqua, Ignis. Qiskit provides a very capable development kit to do experiments in quantum algorithms. It can also be integrated with the IBM Q experience to submit the code to run either on the simulator or on the 5-qubit quantum computer available from IBM.

Like this software there are other frameworks provide from tech giants like Microsoft which can also be referred and are equally capable.

6

Chapter Two

2.1 QUBIT – QUANTUM ANALOGOUS TO BIT

2.1.1 DEFINITION

A Qubit is a short for the Quantum bit. A qubit is like the classical bit in that it can take 0 and 1 as the state, but it differs from the bit that it can also take a continuous range of intermediate states representing the superimposition of the states.

The qubit does not always have to be in either |0⟩ or |1⟩; it can be in an arbitrary quantum state, denoted by any superposition of the basis vectors. The superposition quantities are complex numbers represented as |휓⟩ = 훼|0⟩ + 훽|1⟩, together they obey |훼|2 + |훽|2 = 1, where α and β are the probability amplitude.

As these can be represented as a complex number the state of a single qubit can be represented as a complete generality by

휃 휃 푖휙 |휓⟩ = cos ( ⁄2)|0⟩ + sin ( ⁄2)푒 |1⟩

Geometrically both θ and ϕ can be mapped to a spherical coordinate system. The angle θ is called as a polar angle, and it is measured from the positive z axis to the Bloch vector representing the state |휓⟩.

The angle ϕ is called the “azimuthal angle “, and it is measured from the positive x axis to the projection of the state |휓⟩ on the x-y plane.

2.1.2 QUBIT REPRESENTATION

We can write out the state in Dirac notation. For example:

We have a qubit that is prepared in the state |0⟩ and then apply an X operator, we will find the qubit in the state |1⟩.(Ideal case). This can be simply represented by the below equation.

X |0⟩ → |1⟩

Another visual way of representing a qubit is through Bloch sphere. Bloch Sphere is divided into a 3D sphere where representing 3 dimensions in the form of x, y and z axis. One of the major advantages of

7

|0⟩+ |1⟩ visualization in the Bloch sphere is we can represent the superimposition states such as as √2 demonstrated in the figure below. Also, visually this can well represent the different positions of the state along with decoherence with reduced amplitude of the vector.

Figure 2. 1 Bloch Sphere

2.2 QUANTUM GATES

2.2.1 QUANTUM GATE TYPES

Few of the basic quantum gates that will be used in the implementation of the algorithms and QFT are described below:

Type Symbol Matrix representation

Hadamard H 1 1 1 [ ] √2 1 −1 0 1 Pauli X X [ ] 1 0 0 −푖 Pauli Y Y [ ] −푖 0 1 0 Pauli Z Z [ ] 0 −1 1 0 Phase S [ ] 0 푖 1 0 π/8 T [ ] 0 푒푖휋⁄4 controlled NOT 1 0 0 0 [0 1 0 0] 0 0 1 0 0 0 0 1 swap 1 0 0 0 [0 0 1 0] 0 1 0 0 0 0 0 1 controlled Z 1 0 0 0 [0 1 0 0 ] 0 0 1 0 0 0 0 −1 controlled phase 1 0 0 0 [0 1 0 0] 0 0 1 0 0 0 0 푖

8

Toffoli 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0

0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 [0 0 0 0 0 0 0 1] Fredkin (controlled swap) 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0

0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 [0 0 0 0 0 0 0 1] Table 2. 1 Quantum Gates with Matrix representation

2.2.2 CLASSICAL AND QUANTUM GATES

Classical computers perform arbitrary Boolean logic with a small set of single-bit and two-bit logic gates. The NOT gate (a single-bit gate) in conjunction with the AND gate (a two-bit gate) are together one example of a universal gate set. Such a universal gate set can in principle implement any arbitrary classical algorithm based on Boolean logic.

As a matter of fact, not all the quantum gates have a list of classical analogues. we have X gate analogue to NOT Gate whereas classical AND gate doesn’t have any quantum analogue. This is because the property that a quantum circuit must be reversible. NOT gate is reversible where we can say what is the input based out of the output (input 0/1 → output 1/0) but same is not true for the AND gate( given the output 0, one can’t tell if the input had been 00,01 or 10).

Below is the case where a X gate is applied on the superimposition state with phase rotation of π

(rotation around X axis on Bloch sphere) (Chuang, Michael A. Neilsen & Issac L. 2016)

1 1 (훼|0⟩ + β|1⟩) → (훽|0⟩ + 훼|1⟩) √2 √2

Universal quantum computation can be built from a small subset of these types of single and two-qubit gates. A universal gate set enables us to perform any type of algorithm — quantum or classical — on a gate model quantum computer.

Reversibility of the quantum circuit can be illustrated from the Toffoli gate where the bits can be inversed by (David P. DiVincenzo 2008) applying the gate once and get back as same when applied twice.

9

So, the bit effect would something like

푇표푓푓표푙푖 푔푎푡푒 푇표푓푓표푙푖 푔푎푡푒 (a,b,c) → (a,b,c ⊕ ab) → (a,b,c)

The Toffoli gate has three input bits and three output bits as illustrate below . Two of the bits are control bits that are unaffected by the action of Toffoli gate is the target bit that is flipped if both the control bits are set to 1, and otherwise is left alone. (Chuang, Michael A. Neilsen & Issac L. 2016)

Input Output

a b c a b c 0 0 0 0 0 0 0 0 1 0 0 1 0 1 0 0 1 0 0 1 1 0 1 1 1 0 0 1 0 0 Figure 2. 2 Toffoli gate circuit representation 1 0 1 1 0 1 1 1 0 1 1 1

1 1 1 1 1 0

Table 2. 2 Truth Table for Toffoli gate

2.3 QUBIT ROBUSTNESS

2.3.1 DIVINCENZO CRITERIA

There are numerous researches going on finding the best potential qubit. For example, the electronic states of an ion, the electron spin of a phosphorus atom implanted in silicon, a nuclear spin of a crystal defect in diamond, even manufactured “artificial atoms," electrical circuits that can be described as quantum mechanical two-level systems.

One of the critical papers published in the year 2000 by a IBM researcher puts down the fundamental requirements for any qubit technology to be suitable to physical implementation for the large scale quantum computation.

10

According to his article (David P. DiVincenzo 2008) the criteria can be summarized as below

Physical Implementation of Quantum Computation

Scalable qubits Well defined, characterized qubits

Initialization Simple state to start with

Measurement Measure of the qubit state

Universal gate set Perform the universal set of gate operations

Coherence Long coherence time

Routing Quantum Information

Interconversion Interconversion between stationary and flying

qubits

Communication Transmit flying qubits between two locations

Table 2. 3 DiVincenzo Criteria

The above categorization has played a significant role in the pursuit of a good qubit. (David P.

DiVincenzo 2008)

2.3.2 QUANTUM COHERENCE AND GATE TIME

This section is to address the types of errors that can incur in the qubit which are broadly classified into two processes. The first is called energy relaxation, and it is characterized by a time 푇1 . This is the characteristic time it takes for a qubit in its excited state to relax back to its ground state by emitting energy to the environment. This can be visualized on the Bloch sphere as a qubit prepared in the excited state (south pole) switching to the ground state (north pole) through energy loss.

The second way a qubit loses information is through decoherence. There are two ways for a qubit to lose coherence. The first is that due to environmental noise, a Bloch vector on the equator might move along the equator away from its original position in a manner we cannot predict, and over time, we lose track of which way the vector is pointing. This is called dephasing, and it occurs over a characteristic time 푇휙. The second is that the excited-state portion of the qubit superposition state could lose its energy to the environment, and the qubit "falls off" the equator and back to the ground state (north pole). This

11 is also a phase-breaking process, since once the vector is at the north pole, you can no longer tell which way it had been pointing on the equator, and it occurs over the same characteristic relaxation time we saw before, 푇1. Together, these two dephasing mechanisms lead to the decoherence time 푇2, which is a function of the dephasing time and the energy relaxation time:

1⁄ = 1⁄ + 1⁄ . (Chuang, Michael A. Neilsen & Issac L. 2016) 푇2 2푇1 푇휙

On a similar note a matric to characterize how well a gate operations works is Gate fidelity. It is a key metric that allows us to compare remarkably different qubit technologies on an equal footing It plays most important for in the quantum error corrections as it serves the benchmark for determining the feasibility, efficacy and resource overhead required.

2.4 QUBIT MODALITY

2.4.1 QUBIT TECHNOLOGIES

This is one of the most active field of research at the moment and many of the corporate giants are involved into different methodology. This field of research has more to do with the quantum chemistry and quantum physics to facilitate qubits with best gate fidelity to run quantum algorithms. Based on the different physical qubit modalities this can be categorized into three broad categories. Physical qubit modalities based on electron and nuclear spins or based on neutral atoms and trapped ions and third is based on superconducting qubits and associated modalities.

2.4.2 ELECTRON AND NUCLEAR SPIN

As previously introduced, the qubit as a physical realization is some electron which has a spin up and spin down states. One of the methods in the electron and nuclear spin is through quantum dots. An electron spin is trapped in a quantum dot, a small region of semiconductor material where the electron can be trapped. A combination of microwave and baseband pulses are acted to implement a quantum gate. One such example of such semiconductor is made of Silicon-Germanium material. (Morton J.,

McCamey, D., Eriksson, M 2011)

12

As an advantage of this qubit technology is that we can leverage the silicon fabrication technology.

Also, this has relatively smaller area and can be controlled by gate voltages.

Figure 2. 3Phosphorus doped silicon ion with energy levels of electron spins as qubit (source: Nature)

Another example of electron spin qubit is Phosphorus doped silicon taken from an article “Embracing the quantum limit in silicon computing.” of journal “Nature” in the year 2011. Based on the article the main advantages of phosphorus doped silicon are that it also leverages silicon fabrication technologies and the electron spin qubit has very long coherence times. The primary challenge is that the dopants must be in very close proximity to one another, around 10 nanometres, in order to have a sufficiently large two qubit coupling to implement a two-qubit gate. This makes it extremely challenging to place the gates and route the wires required to control the qubits. It also means that crosstalk between control lines and qubits will be significant. (Morton J., McCamey, D., Eriksson, M 2011)

Phosphorus dopants also have a nuclear spin that can be used as a qubit which is controlled using radio frequency or RF pulses. Similarly, another very good example of having both electron and nuclear spin as qubit is Nitrogen Vacancy Centre in Diamond (NV Center). The main advantage of nuclear spin qubits is their extremely long coherence times which arise because the spins are largely decoupled from their environment. But the gate times are rather slow. Figure 2.3 and Figure 2.4 taken from the Journal

Nature illustrates the Phosphorus-Doped Silicon with energy levels Initialized as a qubit as electron and nuclear spin.

13

Figure 2. 4 Phosphorus doped silicon ion with energy levels of nuclear spins as qubit (source: Nature)

2.4.3 NEUTRAL ATOMS AND TRAPPED IONS

Based on the internal state of atoms a highly stable qubits with longer coherence time is the neutral atoms. The qubit stats are hyperfine states, resulting from an interaction from the nuclear spin and electron spin. The main advantage of the neutral atoms is the long coherence time and the ability to trap these neutral atoms in two dimensional arrays.

A leading qubit modality and first of qubit technology is Ion trapped qubits. A main advantage of this is it fulfils many of the DiVincenzo criteria mentioned in the section 2.3.1 based out of the article by

IBM researcher (David P. DiVincenzo 2008). Removing an electron from the outer most level of elements like calcium (Ca) or Strontium (Sr) produces an ion with a positive charge. Taking the reference of the ongoing research in the MIT Lincoln lab on qubit technologies which include Tapped

Ion and Superconducting methodology we can put that these are the foremost technology for the qubit modality. This is one of the qubit modality where a 10 qubit working computer demonstrating the implement of the Shor’s Algorithm ha been done (Massachusetts Institute of Technology 2020) .More details on this can be found in the book Quantum Computation and Quantum Information. (Chuang,

Michael A. Neilsen & Issac L. 2016) and one of the phenomenal article published “Trapped-Ion

Quantum Computing: Progress and Challenges” by Colin D. Rudzewicz, John Chiaverini, Robert

McConnell, Jeremy M. Sage (Colin D. Bruzewicz, John Chiaverini, Robert McConnell, Jeremy M.

14

Sage 2019) .As a matter of fact many of the corporate world is more interested in the research on this qubit modality probably due to the decade old technology of Atomic clocks also based out of the same concepts. Companies like Honeywell and IonQ are based on Ion trapped methodology of the qubit initialization for the quantum computation.

2.4.4 SUPERCONDUCTING QUBITS

Like the Tapped Ion technology, Superconducting qubit modality also has lots of box checked in the

DiVincenzo criteria. (David P. DiVincenzo 2008). Also, this is another leading technology popular in the corporate business group and is in working research area for leading companies like Google, IBM,

Microsoft, D wave and others.

Superconductors have many applications. And there's a large market for them far beyond for quantum computing. Superconductors have zero resistance at DC frequencies. So, they're really useful for applications where you have large currents, for example, to create large magnetic fields. A superconducting quantum circuit is essentially a nonlinear oscillator. An oscillator is a mechanism that is characterized by periodic motion. A simple example of a classical oscillator is the pendulum. A pendulum swings back and forth, tracing out the same path over and over again, transferring kinetic energy to potential energy and back again. Another example is LC circuit where the L stands for inductor and C stands for capacitor

Figure 2. 5 LC Circuit oscillator

We still cannot use the LC oscillator as the qubit because a qubit has two energy state whereas a LC oscillator would have many more. It provides a challenge to clearly demarcate the energy level of 0 and

15

1 as required by the qubit. The common way to address this through introducing the Josephson Junction or JJ which acts as nonlinear resonant circuit unlike the LC circuit which acts as the linear resonant circuit. By using this we can translate the LC circuit to something which has a clear demarcated energy level as inductance depends on the current going through the junction. From this it means the energy spectra is no longer equally spaced and can be chosen to make it function as a qubit.

The main advantages of superconducting qubits are that the gates are fast compared with the other qubits and they're manufactured on silicon wafers using materials and tools common to CMOS foundries. A further details on this technology can be referred in the article published as “A Quantum

Engineer's Guide to Superconducting Qubits” by Philip Krantz, Morten Kjaergaard, Fei Yan, Terry P.

Orlando, Simon Gustavsson, William D. Oliver. (Philip Krantz, Morten Kjaergaard, Fei Yan, Terry P.

Orlando, Simon Gustavsson, William D. Oliver 2019)

We do not discuss the qubit modality and associated technology further in this thesis.

16

Chapter Three

3.1 QUANTUM ALGORITHMS

Algorithms are the key concept of computer science. An algorithm is a precise recipe for performing some task, such as the elementary algorithm for adding two numbers which we all learn as children.

Our fundamental model for algorithms in classical computing is Turing machine. This is an idealized computer, rather like a modern personal computer, but with a simpler set of basic instructions, and an idealized unbounded memory. Similarly, a was introduced in a journal

“Journal of Computer and System Sciences “published by John Watrous in “Space-Bounded Quantum

Complexity”. The power of a universal computer is that it can implement any algorithm that can be expressed in terms of a circuit comprised of logical gates. A universal, fault-tolerant quantum computer will enable people to program, implement, and reliably run arbitrarily complex quantum algorithms. In fact, a universal quantum computer can run any type of algorithm – quantum or classical.

Next is listing down few of the primary quantum algorithms and its implementation as a quantum circuit. The execution of the QASM code was performed on the ‘ibmq_qasm_simulator’ and ‘ibmqx2’.

3.1.1 SIMON ALGORITHM

Simon's algorithm was the first quantum algorithm to show an exponential speed-up versus the best classical algorithm in solving a specific problem. This inspired the quantum algorithm for the discrete

Fourier transform, also known as quantum Fourier transform, which is used in the most famous quantum algorithm: Shor's factoring algorithm.

Formal statement for the Simon’s Problem is as below:

We are given an unknown Blackbox function f, which is guaranteed to be either one-to-one or two-to- one, where one-to-one and two-to-one functions have the following properties:

i) One to one: maps exactly one unique output for every input, e.g.

f (1) → 1, f (2) → 2, f(3) → 3, f(4) → 4

ii) Two to one: maps exactly two inputs to every unique output, e.g.

f (1) → 1, f (2) → 2, f (3) → 1, f(4) → 1 in accordance to a hidden bit string

17

where Ɐ 푥1 , 푥2: 푓(푥1) = 푓(푥2)

we have 푥1 ⊕ 푥2 = 푠

So, the problem statement here is how quickly we can determine if the function is one to

one or two to one? And further if it’s two to one what is the value for s?

To further generalize the problem, we can put it as: f is a function such that 푓(푥) = 푓(푥 ⊕ 푠),for all 푥 ∈ {0,1}푛 where 푠 ∈ {0,1}푛 is unknown. Find s.

Considering a popular example to illustrate this problem we can take the input bit size, N =3 for simplicity and represent the value of x and f(x) as per below table

x f(x) 000 101 001 010 010 000 011 110 100 000 101 110 110 101 111 010 Table 3. 1 Simon's Algorithm input

In this case, 푥1 ⊕ 푥2 = 푠 taking 푥1 = 000, 푥2 = 110 ,s =110 since 푓(푥1) = 푓(푥2) ,is the solution and the above combination is a two to one function. Since, the bit size here is smaller this can be computed even manually but as the bit size grows so does the complexity. (Daniel R. Simon 1997)

Quantum circuit for the representation of the Simon’s algorithm is shown is Figure 3.1

Figure 3. 1 Quantum representation of Simon's Algorithm

IMPLEMENTATION

While implementing the quantum algorithms the design of the oracle can be a challenge and often done to suit the problem, we are implementing in the form of quantum algorithm. Theoretically, an Oracle is just a “Black Box” where the function performed is unknown other than the input provided, and the

18 output received. Referring the below circuit diagram implemented on IBM Q using QASM the Oracle is separated with the barriers implemented using a combination of CNOT gate (created to make the secret number 푠 =11). This is a implementation of the 2 qubit example shortened from the above explanation of 3 qubit for the ease of implementation and executing on a simulator as well as on a

Quantum Computer available on cloud. First two qubit undergoes a Hadamard operation which represents x in the XOR operation and other two qubits works as f(x). The Hadamard operation sets the register into the superimposition state. Total of 8192 shots were executed.

Figure 3. 2 Quantum Circuit for Simon's Algorithm

Figure 3. 3 Histogram for Simon’s ‘Algorithm on Ideal Simulator

QASM code for the above implementation is as below

19

Figure 3. 4 QASM code for Simon's Algorithm

The result is evident, and we can make use of the above to results with a conventional computer to get the solve set of linear equations to find the solution to the Simon’s Problem.

Also, we have the following results when implemented on a 5-qubit real quantum computer.

Figure 3. 5 Transpiled Circuit on ibmqx02

Figure 3. 6 Histogram for Simon’s ‘Algorithm on ibmqx02

20

Analysing the above histogram in the Figure 3.5 we see the discrepancy in the results in contrast to an ideal simulator. Though it can be inferred from the above that the results are spiked on the solution bits but the graph spreads as the input put size increases and so does the registers.

3.1.2 QUANTUM FOURIER TRANSFORMATION ALGORITHM

The Fourier transform occurs in many different versions throughout classical computing, in areas ranging from signal processing to data compression to complexity theory. The quantum Fourier transform (QFT) is the quantum implementation of the discrete Fourier transform over the amplitudes of a wavefunction using quantum approach. It is part of many quantum algorithms, most notably Shor's factoring algorithm and quantum phase estimation. In the class of Computer System Architecture under the supervision of Prof. Robert D McIlhenny I worked on the Fourier transformation implementation of the sequential and parallel processes and concluded that an intelligent pick of combination of FFT algorithm and Matrix Multiplication algorithms would optimize the cost significantly. In continuation to that work an implementation of Fourier Transformation in the Quantum Computers is another leap forward. Quantum Fourier Transformation (QFT)

Continuous Fourier Transformation:

The Fourier transformation (FT) of the function time f(x) is given by the function of frequency F(ω), where:

Note that i = √−1 and 푒푖휃= 푐표푠휃 + 푖푠푖푛휃

Classical Discrete Time Fourier Transformation:

Taken from the Quantum Computation and Quantum Information book (Chuang, Michael A. Neilsen

& Issac L. 2016).In the usual mathematical notation, the discrete Fourier transform takes as input a vector of complex numbers,푥0, . . . , 푥푁−1 where the length N of the vector is a fixed parameter. It outputs the transformed data, a vector of complex numbers, defined by

21

푁−1 1 2휋푖푗푘/푁 푦푘 = ∑ 푥푗푒 푁 √ 푗=0

The Quantum Fourier Transformation is the same with an exception to the notations where we have the Dirac notations representing the states

IMPLEMENTATION

I didn’t get chance to implement the QFT separately due to time constraint, and the work can be taken up as a part of another approach for simulating through quantum circuitry.

Referring to the book (Chuang, Michael A. Neilsen & Issac L. 2016) the quantum circuitry would be as per the Figure

Figure 3. 7 Quantum Fourier Transformation circuit

3.1.3 SHOR’S ALGORITHM

The multiplication of large prime numbers is therefore a one-way function i.e. a function which can easily be evaluated in one direction, while its inversion is practically impossible. One-way functions play a major role in cryptography and are essential to public key crypto systems where the key for encoding is public and only the key for decoding remains secret.

In 1978, Rivest, Shamir and Adelman developed a cryptographic algorithm based on the one-way character of multiplying two large (typically above 100 decimal digits) prime numbers. The RSA

22 method (named after the initials of their inventors) became the most popular public key system and is implemented in many communication programs.

Shor’s algorithm pretty much challenges this encryption techniques as an eavesdropper with publicly available key and a quantum computer can pretty much decode the encryption protocol This algorithm uses the phase rotation and periodic function for decoding the number N in the corresponding prime numbers.

I am not implementing Shor’s Algorithm in this work both due to time constraint and dependency on

QFT (Quantum Fourier Transformation) which can be little challenging. This section is for completeness of the Thesis and can be taken as future works.

3.2. QUANTUM SUPREMACY

In quantum computing, quantum supremacy is the goal of demonstrating that a programmable quantum device can solve a problem that no classical computer can feasibly solve (irrespective of the usefulness of the problem). By comparison, the weaker quantum advantage is the demonstration that a quantum device can solve a problem merely faster than classical computers. Conceptually, quantum supremacy involves both the engineering task of building a powerful quantum computer and the computational- complexity-theoretic task of finding a problem that can be solved by that quantum computer and has a super polynomial speedup over the best known or possible classical algorithm for that task. The term was originally popularized by John Preskill but the concept of a quantum computational advantage, specifically for simulating quantum systems, dates back to Yuri Manin's (1980) and Richard Feynman's

(1981) proposals of quantum computing.

Examples of proposals to demonstrate quantum supremacy include the proposal of

Aaronson and Arkhipov, D-Wave's specialized frustrated cluster loop problems, and sampling the output of random quantum circuits.

23

Chapter Four

4.1 DEUTSCH–JOZSA ALGORITHM

4.1.1 THE ALGORITHM

Deutsch Jozsa Algorithm is one of the first quantum algorithm which showed that a quantum algorithm performs better than a classical algorithm. The Algorithm was published as “Rapid solution of problems by quantum computation “by David Deutsch and Richard Jozsa in the year 1992. (David Deutsch &

Richard Jozsa 1994). Although little of practical use Deutsch-Jozsa Algorithm inspired the Shor’s

Algorithm.

Deutsch-Jozsa algorithm is designed to solve the following problem. We are given a boolean function

푓: {0, 1}푛 → {0, 1} in n variables

The function is either a constant or a balanced (number of times it is 0 is equal to the number of times it is 1). The Problem is to find which of the properties the function f has.

2푁 Classically this can be done in + 1 steps to find out the property of the function but in the quantum 2 approach the same can be achieved in 1 step. That is exponentially faster than a classical approach.

4.1.2 IMPLEMENTATION

Theoretically going by the book (Chuang, Michael A. Neilsen & Issac L. 2016) the quantum circuit design for the Deutsch- Jozsa algorithm can be implemented by n data qubit for N sized input and 1 ancillary qubit. Referring to the theoretical model of implantation we can refer to the below figure 3.7

24

Figure 4. 1 Deutsch-Jozsa Algorithm Theoretical Model

For the ease of implementation on the real simulator I would rather implement the circuitry for a single qubit and then there after implementing it in a 2 qubit or 3 qubit way to demonstrate the functionality of the algorithm both in the and real quantum real computer. We are expecting a validation of the result of the Deutsch-Jozsa Algorithm in the simulator with aberration in the real quantum computer. One of the major challenges is the design of the Oracle for this algorithm which needs to be create in a crafty way to satisfy the algorithm in our case. I will discuss the various approaches taken during the quantum circuit design in more details after the initial stepwise algorithm.

Step 1

To start with implementation on a very basic of the base case as we call in the principle of Mathematical

Induction. We take 2 set of registers for to circuit implementation. Here each of the registers are composed of a single qubit since we are preparing for N (input size) equals one. Two separate registers are required as one would serve as data qubit and another would be ancillary qubit, derived from the theorical model referred above.

So after initialization at 휓0

|휓0⟩ = |0⟩|1⟩

Step 2

The next step is the computation stage is to put both the data and ancilla qubits in a superposition state by applying a Hadamard gate to each.

25

|휓1⟩ = H|0⟩ ⨂ 퐻 |1⟩

|0⟩ + |1⟩ |0⟩ − |1⟩ |휓1⟩ = ( ) ⨂ ( ) √2 √2

1 |0⟩ − |1⟩ |0⟩ − |1⟩ |휓1⟩ = [|0⟩ ( ) + |1⟩ ( )] √2 √2 √2

Step 3

Next is the step would be the implementation of Unitary function denoted as 푈푓. The design of the internal circuitry would depend on the implementer and here I will implement 4 ways the Oracle can be design in the next section. Irrespective, 푈푓 has the property that if the data qubits are in state

1 ⨁ f(x) where f is the function that is either balanced or constant, and ⨁ is addition modulo 2(XOR for a single bit)

|휓2⟩ = 푈푓|휓1⟩

1 |0 ⨁ 푓(0)⟩ − |1 ⨁ 푓(0)⟩ |0 ⨁푓(1)⟩ − |1 ⨁푓(1)⟩ |휓2⟩ = [|0⟩ ( ) + |1⟩ ( )] √2 √2 √2

1 푓(0) |0⟩ − |1⟩ 푓(1) |0⟩ − |1⟩ |휓2⟩ = [|0⟩(−1) ( ) + |1⟩(−1) ( )] √2 √2 √2

Here the equation becomes as a factor of (−1)푓(푥). This will lead to cancellation of the terms or in more scientific term constructive and destructive output states.

Step 4

Again, we apply a Hadamard gates to both the qubits. (In Figure 3.7 theoretical model applied H gate on the ancilla qubit but makes no difference as that will measure 1 always)

1 푓(0) |0⟩ + |1⟩ 푓(1) |0⟩ − |1⟩ |휓3⟩ = [(−1) ( ) |1⟩ + (−1) ( ) |1⟩] √2 √2 √2

26

In the above equation if the f (0) = f (1), the |1⟩ terms on the data qubit will cancel out, leaving only the

|0⟩ terms. On the other hand, if f (0) ≠ f (1), then the |0⟩ terms will cancel out. In even simpler term if we measure |0⟩ then f(x) is constant and if we measure |1⟩,then the f(x) is balanced.

Working on the Oracle there are four possible ways that will be implemented in the circuit, but it depends on the implementer and more complex Oracle function can be formed.

푓1(푥) = 0

푓2(푥) = 1

푓3(푥) = 푥

푓4(푥) = 1 − 푥 Case 1: Using CNOT gate for the Oracle to query demonstrating a Balanced function Describing the circuitry, we use the standard approach as per the algorithm step above. X gate over here initializes the qubit one to a state 1

Figure 4. 2 Quantum Circuit for DJ Algorithm with CNOT Oracle

Figure 4. 3 Summarized result after running the DJ algorithm with CNOT oracle on a Simulator

27

After executing the circuit on a simulator, we see a 100% favour in the result of 11. Therefore, it can be concluded it is a balanced circuit

Figure 4. 4 Tranpiled circuit for the DJ algorithm with a CNOT oracle

Figure 4. 5 Summarized result after running the DJ algorithm with CNOT oracle on a ibmqx4

Due to unavailability of the ibmqx2 this result was ran on ibmqx4 which may have a little different architecture. Also, I found that the machine was having a more recent calibration. This make the qubit in a lesser error state. Nevertheless, the results are in favour of 11 as we see 88.44% of shots resulted in measuring 11.

Case 2:

Using passthrough as oracle to demonstrate a constant function. A constant function can be formed either as output of 0 or identity.

28

Figure 4. 6 Quantum Circuit for DJ Algorithm with passthrough Oracle

Figure 4. 7 Summarized result after running the DJ algorithm with passthrough oracle on a simulator

Figure 4. 8 Tranpiled circuit for the DJ algorithm with a passthrough oracle

Figure 4. 9 Summarized result DJ algorithm with passthrough oracle on a ibmqx4

29

Case 3:

Attempt with N (input size 3) for a Balanced function. As the algorithm suggests in the case of absence of 00000, we are sure of the function to be balanced.

We have the circuit implementation with total of 4 qubits where 3 are data qubits and 1 is ancilla qubit.

However, there is a scope of improvement on this circuit where the oracle can be designed to remove the dependency on the ancilla qubit hence running the algorithm in just 3 qubits.

Figure 4. 10 QASM code for DJ Algorithm 3 bit balanced

Figure 4. 11 Quantum Circuit for 3bit size DJ Algorithm for a balanced oracle

30

Figure 4. 12 Summary results of 8192 shots on a simulator

Figure 4. 13 Transpiled circuit of the e bit DJ algorithm on ibmqx4

Figure 4. 14 Summarized result of the 8192 shots for a balanced 3-bit DJ algorithm

4.1.3 ANALYSIS AND INTERPRETATION OF RESULTS

The above results are the implementation of the Simon’s and Deutsch – Jozsa Algorithm from a

Quantum simulator and a 5-qubit quantum computer draws the parallel between the ideal and practical behaviour. This also puts an emphasis of the objective of applicability of the quantum algorithms practically. We also have the change in approaches for the design of the oracles for the satisfiability of the algorithm testing.

31

Essential need of the error mitigation code and increase in the gate fidelity can also be highlighted through the lower probability in the actual result sets. For the execution both in the quantum simulator and quantum computer 8192 shots were triggered to keep the output results in sync. It is worth mentioning with the increase of the input size N and histogram would be spread further providing challenges to confirm on the correct result. Above results highlight the probabilistic distribution of the results spread across the values that can be taken by the bits. It can be also inferred from the above 3- bit execution on the quantum computer that there is a probability of 88% correctness for the prediction with errors, which would depend on the oracle used, the error in the quantum architecture etc.

Similar approach can be taken up for the more complex algorithm with more gate where one can expect the result even more deteriorated.

4.1.4 OUTCOME AND ASSOCIATED FUTURISTIC WORKS

Similar approach can be taken for the future simulation of the existing quantum algorithm along with development of different oracles.

As a future work to Deutsch- Jozsa Algorithm next step would be to generalize a circuit for N bit sized input. This is pretty much doable but am keeping outside the scope of this work.

32

Chapter Five

5.1 PRACTICAL QUANTUM COMPUTERS AND CURRENT STANDING IN THE QUANTUM WORLD

5.1.1 NISQ ERA

Noisy Intermediate-Scale Quantum (NISQ) technology will be available soon. Quantum computers with 50-100 qubits may be able to perform tasks which surpass the capabilities of today's classical digital computers, but noise in quantum gates will limit the size of quantum circuits that can be executed reliably. NISQ devices will be useful tools for exploring many-body quantum physics, and may have other useful applications, but the 100-qubit quantum computer will not change the world right away.

To get a fully functional fault tolerant quantum computers are still few decades away. In order to keep the research going and build commercial applications as a step forward NISQ computers would need to be used for taking the advantage of. NISQ is already a active field of research and few algorithms has been demonstrated to show to effectiveness and progress in the quantum computation. Various metrics are there to measure the performance of such computers like Quantum Volume. In general Quantum

Volumes considers the number of physical qubits, errors due to gates, quantum crosstalk, decoherence, and measurements, the topology of qubit connectivity, the gate set implemented, and parallelism. (John

Preskill n.d.)

One of the fundamental logics behind the modern NISQ Quantum computer is building of the reliable system based on the unreliable components. This logic was proposed by Von Neumann regarding the vacuum tubes, back in the old days. The same is quite relevant today with Quantum Computers. He quoted this as “probabilistic logics and the synthesis of reliable organisms from unreliable components” which was stated about the biological systems. Translating the same for the Quantum Computers gives us a threshold to which the noises can be tolerated with computation in Progress. The measure of this threshold is the computational capacity. This can be further illustrated with the example of the below graph drawn with Probability of Error (Component) on the X axis and Probability of Error (Circuit) on the Y axis.

33

Figure 5. 1 Computation Capacity of the Quantum Circuit (source: MIT)

Similarly, to make the NISQ systems more effective designs and architecture like the redundancy of the code is taken into consideration with applicable majority voting. This reduces the error possibility and makes the system more reliable.

5.1.1 FEW IMPORTANT EXPERIMENTS WORTH MENTION

Big Bell Testing is a large-scale experimentation performed to assess the open questions on localist and realism with respect to the quantum entanglement tracing back to EPR paper in 1935. This experiment of this level was an attempt to address all the loopholes pointed out either in the previous experiments or the loopholes that hasn’t been addressed at all listed as ‘Freedom of choice, locality, detection efficiency, memory, timing etc. Out of these ‘Freedom of choice’ or ‘free will’ is the most discussed and after debated either on particles having a hidden parameter governing the state of entanglement over the large distance or proposing the entangled behaviour a pure act of randomness.

Another set of few experiments are the implementation of the Shors algorithm bot in the NMR technology model and Solid-State Qubit model for factoring 15 into 5 and 3 using max of 9 qubits.

Similar experimentation was done with 21 and that is the greatest number where the Shor’s Algorithm implementation.

34

5.2 FUTURE SCOPES AND POSSIBILITIES IN THE QUANTUM COMPUTATION

5.2.1 QUANTUM COMPUTATIONS ADVANTAGE

Quantum Advantage is attained when we can say that the Quantum algorithm is faster than any existing classical algorithm. Shor and Grover algorithms are best known advantage for these as provided a significantly large Quantum computer implementation can be done with exponential advantage to the classical algorithms. Similar quantum advantage algorithms exist in simulation, Optimization as well.

Quantum advantage based on the two-known complexity i.e. time and space. Another such example of an algorithm having exponential advantage is Linear systems. Claasical complexity is O (2푁) whereas

Quantum algorithm is proposed at O(N).

Summary of the groups of Quantum Advantage algorithms is as below taken from MIT Labs

Figure 5. 2 Quantum Speed up(source: MIT)

5.2.2 FUTURE SCOPE

Quantum Computer as a field of study provides lot of scope for the research. The active field of research is from Quantum chemistry, Optimization, Algorithms etc. The scope lies in testing new and existing algorithms in the NISQ computers. Also with the involvements of the corporate companies like

Amazon, Microsoft, IBM, Google, D-wave an attempt to get some practical and commercial advantage from the Quantum computers is gaining pace. It is projected that once we have 100-qubit reliable

35 quantum computers we would have significant achievement in the subjects ranging from Machine

Learning, Optimization, Finance, Operation research etc.

36

Chapter Six

6.1 FUTURE WORKS

With the extension of this work and building up on top of the existing research we have lot of areas where we can extend further. This work more restricted to Simon’s and Deutsch- Jozsa Algorithm implementation similarly we can attempt to implement, Quantum Fourier Transformation and then

Shor’s algorithm. Also, another algorithm we can implement is the Grover’s Algorithm which is more kind of a search algorithm on structured and unstructured database.

Also, another possibility is to have the input tweaked for the Simon’s and Deutsch-Jozsa algorithm and analyse the behaviour of the oracle with the categorization of the respective outputs.

Cryptography and Quantum Communication are also few other fields with high research activity in the corporate R & D and other research groups.

There are multiple possibility that can be explored based on this work and every sub fields that can be thought of is classical computer science but not limited to will be applicable in the quantum computers to some extent.

37

Chapter Seven

7.1 CONCLUSION

Above thesis summarizes the scope of quantum computing in the future is vibrant. With the implementation of the few of the important algorithms in the simulator and quantum computers available it is evident we can have the more complex working algorithms in the future. The possibilities are endless, and we can have many more such simulations into work which can give up deeper understanding on the ongoing research for this field. But I should also put that this is the very beginning of a new revolutionizing technology rather than trying so hard to directly compare quantum computers and classical computers, it may make more sense to simply think of a quantum computer as a probability engine since that’s what it really does, in much the same way that a GPU can be thought of as a graphics engine for a classical computer. Many more evidence would be coming which would revolutionize the field of Quantum Computing

This was a new field of study for me and I am thankful to my chair, Professor John Noga and the Thesis

Committee members Professor Katya Mkrtchyan, and Professor Robert D McIlhenny, for guiding me throughout. It was a great learning experience and a foundation to all my future endeavours. Also, it has instilled the curiosity to work further in the field of Quantum Computers and Quantum Information, and explore the opportunity either in higher education or as research job where I can contribute to the scientific community.

38

REFERENCES

Chuang, Michael A. Neilsen & Issac L. Quantum Computation and Quantum Information. Cambridge University Press, 2016.

Colin D. Bruzewicz, John Chiaverini, Robert McConnell, Jeremy M. Sage. Trapped-Ion Quantum Computing: Progress and Challenges. 2019. https://arxiv.org/abs/1904.04178.

Daniel R. Simon. “On the Power of Quantum Computation.” SIAM Journal on Computing, 1997.

David Deutsch & Richard Jozsa . “Rapid solution of problems by quantum computation.” 1994.

David P. DiVincenzo. “The Physical Implementation of the Quantum Computation.” https://arxiv.org/pdf/quant-ph/0002077.pdf, 2008. Hidary, Jack D. Quantum Computing- An Applied Approach. Springer, 2019.

IBM, Qiskit. qiskit.org. 2020.

John Preskill. Quantum Computing in the NISQ era and beyond. n.d.

Jon Kleinberg & Eva Tardos. Algorithm Design. Pearson, 2017.

Massachusetts Institute of Technology. Lincoln Laboratory. 2020. https://www.ll.mit.edu/about/facilities/quantum-computing-laboratory.

Morton J., McCamey, D., Eriksson, M. “Embracing the quantum limit in silicon computing.” Nature, 2011: 345-353.

Noson S Yanofsky & Mirco A. Mannucci. Quantum Computing for Computer Scientists. Cambridge, n.d.

Noson S. Yanofsky & Mirco A. Mannucci,. Quantum Computing for Computer Scientists. Cambridge university press, 2008.

Philip Krantz, Morten Kjaergaard, Fei Yan, Terry P. Orlando, Simon Gustavsson, William D. Oliver. A Quantum Engineer's Guide to Superconducting Qubits. 2019. https://arxiv.org/abs/1904.06560.

Ristè, D., da Silva, M.P., Ryan, C.A. “Demonstration of quantum advantage in machine learning.” Nature, 2017.

The BIG Bell Test Collaboration. “Challenging local realism with human choices.” Nature, 2018.

39

APPENDIX

A.1 LIST OF DIRAC NOTATIONS

Table A 1 Dirac notions for Quantum Mechanical Operations

A.2 LINEAR ALGEBRA

Quantum bits and classical bits both can be represented in a two-state system. As a general convention the we use the standard notation to represent called the Dirac notation or “bra”-“ket” notation. Many of the Linear algebra concepts can be used like the matrix multiplication.

1. States 0 and 1 are represented as kets |0⟩ and |1⟩ (the ket in bra-ket) and correspond to

column vectors. In particular, ket |0⟩ and ket |1⟩ are usually written as:

1 |0⟩ = ( ) 0

0 |1⟩ = ( ) 1

2. Bras (the bra in bra-ket) are the Hermitian conjugate of kets. Operationally, a Hermitian

conjugate is found by transposing a vector (or matrix) and taking the complex conjugate of

each element. Since the states |0⟩ and |1⟩, as written above, contain only real numbers, the

Hermitian conjugate is equivalent to the transpose and results in the following row vectors

⟨0| = (1 0) , ⟨1| = (0 1)

40

3. The inner product between two states, say |휙⟩ and |휓⟩, is written as the bracket (as in, bra-

ket) ⟨휙|휓⟩, and in general results in a complex number.

4. The norm or "length" of the vector representing a state |휓⟩, is given by the square root of the

inner product: ⟨휓|휓⟩ = √⟨휓|휓⟩. √⟨휓|휓⟩ (Noson S. Yanofsky & Mirco A. Mannucci, 2008)

A.3 PYTHON CODE FOR QASM

(IBM 2020) Below can is undeveloped and can be referred to as a parallel approach to replicate the same results. def dj_oracle(case, n):

# We need to make a QuantumCircuit object to return

# This circuit has n+1 qubits: the size of the input,

# plus one output qubit

oracle_qc = QuantumCircuit(n+1)

# First, let's deal with the case in which oracle is balanced

if case == "balanced":

# First generate a random number that tells us which CNOTs to

# wrap in X-gates:

b = np.random.randint(1,2**n)

# Next, format 'b' as a binary string of length 'n', padded with zeros:

b_str = format(b, '0'+str(n)+'b')

# Next, we place the first X-gates. Each digit in our binary string

# corresponds to a qubit, if the digit is 0, we do nothing, if it's 1

# we apply an X-gate to that qubit:

for qubit in range(len(b_str)):

if b_str[qubit] == '1':

oracle_qc.x(qubit)

# Do the controlled-NOT gates for each qubit, using the output qubit

# as the target:

for qubit in range(n):

oracle_qc.cx(qubit, n)

41

# Next, place the final X-gates

for qubit in range(len(b_str)):

if b_str[qubit] == '1':

oracle_qc.x(qubit)

# Case in which oracle is constant

if case == "constant":

# First decide what the fixed output of the oracle will be

# (either always 0 or always 1)

output = np.random.randint(2)

if output == 1:

oracle_qc.x(n)

return oracle_qc.to_gate() def dj_algorithm(oracle, n):

dj_circuit = QuantumCircuit(n+1, n)

# Set up the output qubit:

dj_circuit.x(n)

dj_circuit.h(n)

# And set up the input register:

for qubit in range(n):

dj_circuit.h(qubit)

# Let's append the oracle gate to our circuit:

dj_circuit.append(oracle, range(n+1))

# Finally, perform the H-gates again and measure:

for qubit in range(n):

dj_circuit.h(qubit)

for i in range(n):

dj_circuit.measure(i, i)

return dj_circuit

42