Book Image

Learn Q# Programming

By : Bhagvan Kommadi, Aneesh K Johny
Book Image

Learn Q# Programming

By: Bhagvan Kommadi, Aneesh K Johny

Overview of this book

<p>This book covers the fundamentals of quantum computing and programming with Microsoft’s Q# language. The reader will learn how to design, test and debug algorithms for different quantum applications.</p> <p>The primary focus of this book will be to give the audience an idea about how to get started with the concepts, different aspects, and theories of quantum computing operations, algorithms etc. Through this book, the developer will get a basic idea about the Microsoft Quantum Tool Kit and how to use the embedded Q# language. This will enable the reader to formalize and convert different real world problems to quantum algorithms and optimize them to use with a future quantum computer.</p> <p>By the end of the book, you would have successfully learned to create quantum programs of your own.</p>
Table of Contents (11 chapters)

The Qubit


In this digital age, as we all know the information is digitally handled as bits, that is zeros and ones. Each of this information chunks are called "bit". For last five decades, we have been playing with this so called bit and today all of our digital life, even real life is connected to these two numbers, 0 and,1 called bits. Each of this bit can be intimated to the states of an electric switch. The on state of the switch can be considered as 1 and off state is 0. Analogs to this classical approach, we can materialize the representation of information in quantum computing using units called quantum bits or abbreviated as qubits. The quantum version of classical bits. Qubit is a two-state or two-level quantum mechanical representation of information. The fundamental difference between a qubit and classical bit is that, classical bit can only be in either one of its states or level whereas qubit can be in coherent superposition of both states/levels. The term qubit was originally introduced by Benjamin Schumacher, an American theoretical physicist working in the area of quantum information theory, in his 1995 paper, Quantum Coding published in Physical Review A. The paper deals with the compression of quantum information created by a qubit, and it is called Schumacher compression.

Qubit Vs Bit

The classical information processed as bits using a CPU is implemented by one of the two levels of a low  DC voltage.  This binary logic is represented by two voltage states in different logic families, for example, the voltage level for TTL family for logical 0 is

and for logical 1 is

. Similarly, for CMOS family of logic, 0 is 0.5 V and 1 is 2 Vcc. For all these logic families, information is represented by either 0 or 1 or a combination of both. A qubit or quantum bit is used in quantum computing and it is different from normal bits. Consider representing data using an atom. The ground state of electron in the atom can be taken as state 

and the excited state of the atom to another energy level can be taken as 

.  In this format, a qubit can simultaneously represent the states 

and

. Using this property, if we use 4 qubits to represent information, the qubit can represent all the data simultaneously and it is 16 times faster than a normal computer. Table 1—the table represents quantum equivalent of classical computers. A quantum computer with 300 qubit can replace all the supercomputers on the planet

Quantum Bits

Equivalent Classical Bit

1

1

10

1024

50

1.125899907E17

300

2.037035976E90

Qubit Realization Techniques

There are various proposals that have been made to physically implement a qubit. Many researches are going on to find a good method to realize qubit. A quantum mechanical system with two-levels can be used as a qubit.  We can also use multilevel systems provided if they have two levels that can be decouple  from other levels. Researchers are successfully implemented systems that can be approximated two-levels with various degrees of accuracy. The various technologies and techniques to produce a qubit is will serve various purposes in a practical quantum machine. The following list will be an incomplete set of technologies practically implemented by researchers:

Physics

Terminology

Information

Coherent state of light

Squeezed Light

Quadrature

Early

Late

Photon

Number of Photons

Fock State

Vacuum

Single Photon State

Electron

Spin/Number

Spin/Charge

Up/No Charge

Down/Charge

Josephson Junction

Superconducting Charge/Flux/Phase Qubit

Charge/Current/Energy

Uncharged Island/Clockwise Current/Ground State

Charged Island/Counter Clockwise Current/First Excited State