Professor Dr Hasan is a very eminent researcher. He has received the best paper award at three reputed international conferences. In recognition of his valuable contributions in the field of computer science and engineering, he received the Bangladesh Academy of Sciences Dr M O Ghani Memorial Gold Medal Award for the year 2015, which is one of the most prestigious research awards in Bangladesh. He was also awarded the University Grants Commission (UGC) of Bangladesh Gold Medal Award 2017 for his outstanding research contributions to computer science and engineering. He has written more than one hundred research articles published in reputable international journals (IET Computers & Digital Techniques, IET Circuits and Systems, IEEE Transactions on Instrumentation and Measurement, IEEE Transactions on VLSI Systems, IEEE Transactions on Computers, Journal of Microelectronics (Elsevier), Journal of Systems Architecture (Elsevier), Journal of Quantum Information Processing (Springer), etc) and at international conferences. According to Google Scholar, Professor Hafiz has received around 960 citations with an h-index of 14 and an i10-index of 21. He is a regular reviewer for reputable international journals and international conferences. He has presented invited talks and chaired scientific sessions or worked as a member of the organizing committee or international advisory board at many international conferences held in different countries. For his excellent research record, he has also been appointed as the Associate Editor of Computers and Digital Techniques, published by the Institution of Engineering and Technology of the United Kingdom.
Professor Dr Hasan was appointed as a member of the Prime Ministerʼs ICT Task Force Committee, Government of the Peopleʼs Republic of Bangladesh, on recognition of his national- and international-level contributions to engineering sciences. He is currently the President of the Bangladesh Computer Society and also the President of the Internet Society, Bangladesh Chapter. He has been recently appointed as a part-time member of Bangladesh Accreditation Council to ensure the quality of higher education in Bangladesh.
Part I
Quantum logic
An overview of quantum circuits
Quantum computation and quantum information are the study of the information processing tasks that can be accomplished using quantum mechanical systems. Quantum computation is an application of quantum mechanics, where the evolution of a quantum system is described by a quantum algorithm. This observation suggests that quantum computing can be used as an introduction to quantum mechanics, because quantum computation and quantum information offer an excellent conceptual laboratory for understanding the basic concepts and unique aspects of quantum mechanics.
The advancements in higher-level integration and fabrication processes have resulted in better logic circuits and energy loss has also been dramatically reduced over the last few decades. This trend of reduction of heat in computation also has its physical limit. It is easily understandable that in logic computation every bit of information loss generates kTln2 joules of heat energy, where k is Boltzmann’s constant of 1.38×10−23 J K−1 and T is the absolute temperature of the environment. At room temperature, the dissipating heat is around 2.9×10−21 J. The energy loss limit is also important as it is likely that the growth of heat generation as a cause of loss will be noticeable in the future.
Quantum computing is an emerging technology that has the potential to change the perspectives and applications of computing in general. A wide range of applications can be enabled, from faster algorithmic solutions of still-difficult classical problems to theoretically more secure communication protocols. A quantum computer uses the quantum mechanical effects of particles or particle-like systems, and a major similarity between quantum and classical computers is that both are abstracted as information processing machines. Whereas a classical computer operates on classical digital information, a quantum computer processes quantum information, which shares similarities to analog signals. One of the central differences between the two types of information is that classical information is more fault-tolerant compared to its quantum counterpart.
It is possible to visualize a quantum circuit as a series of gates acting on the qubits which are abstracted as wires. The wires do not have a direct physical representation, but are associated with a temporal axis. The inputs are on the left of the diagram, the outputs on the right, and in each time step a quantum gate is applied to a qubit’s state abstracted by the wire. It is standard to assume that the inputs are being initialized in the computational basis ∣0⟩, and it will be indicated if the case otherwise.
Reliable quantum circuits are the result of designing circuits that operate directly on encoded quantum information, but the circuits’ reliability is also increased by supplemental redundancies, such as sub-circuit repetitions. Reliable quantum circuits have not been widely used, and one of the major obstacles is their vast associated resource overhead, however, recent quantum computing architectures show promising scalabilities. Consequently, the number of particles used for computing can be increased more easily and classical control hardware (inherent for quantum computation) is also more reliable.
The number of output bits is relatively small compared to the number of input bits in most computing tasks. For example, in a decision problem, the output is only one bit (yes or no) and the input can be as large as desired. However, computational tasks in quantum computing require that all of the information encoded in the input should be preserved in the output. One might expect to obtain further speed-ups by adding instructions to allow computation of a quantum circuit.
Quantum communication and computation study information transmission and processing as physical phenomena that follow the laws of quantum mechanics. Considering quantum mechanics introduces new possibilities, such as private communication with quantum cryptography or efficient factoring algorithms. Most quantum information protocols and algorithms can be explained as a sequence of transformations applied to a known initial state and a final measurement stage. The intermediate evolution is usually the key to the procedure. This state evolution can be studied from different perspectives.
This part of the book starts with some background and preliminary studies on quantum logic and some characteristics, as well as the evolution of quantum computers, which are discussed in chapter 1. Many of the quantum gates are included in multiple chapters. The basic definitions of the different efficiency parameters of quantum logic, which are needed to design quantum circuits, are described in chapter 2. Chapter 3 presents the characteristics and design procedure of a quantum bit string comparator. The designs for quantum full-adder and quantum subtractor circuits are shown in chapter 4. In this chapter, the design techniques for a quantum full-adder as well as a quantum half-subtractor and full-subtractor are described. The designs for a quantum multiplexer and quantum demultiplexer are discussed in chapter 5. In this chapter, a quantum 2-to-1 multiplexer, quantum 4-to-1 multiplexer, and quantum 2n-to-1 multiplexer are shown. In addition, a quantum 1-to-2 demultiplexer, quantum 1-to-4 demultiplexer, and quantum 1-to-2n demultiplexer are also provided in this chapter. Chapter 6 presents the design for a quantum adder circuit which is optimized in terms of quantum cost. The four-bit quantum carry skip adder and eight-bit quantum carry skip adder circuits are described in this chapter. The design for a quantum multiplier accumulator is described in chapter 7. The reduction of garbage outputs and ancillary inputs of quantum circuits is also described in this chapter. Chapter 8 presents the quantum divider circuit. A tree-based quantum division technique is also described in this chapter.
The design procedure and analysis of the properties of the quantum binary coded decimal (BCD) priority encoder circuit are introduced in chapter 9. Chapter 10 describes the design procedure and analysis of the properties of a quantum decoder circuit. The quantum square root circuit is described in chapter 11. In this chapter, the design of a quantum adder/subtractor circuit is also shown. The designs for a quantum SR latch, quantum D latch, quantum T latch, and quantum J-K latch are discussed in chapter 12. The quantum asynchronous and quantum synchronous counters are also introduced in this chapter. Chapter 13 presents the design of a quantum controlled ternary barrel shifter circuit. In this chapter, quantum ternary Peres gates and quantum ternary modified Fredkin gates are used. The construction